-
- Дык собери объектники от оси один раз в библиотеку. И пользуйся. - fk0(07.02.2014 15:38)
- Не получается пока. Есть файлы app_cfg.h и os_cfg.h в которых система статически конфигурируется с помощью дефайнов и назначение некоторых из них мне пока не до конца понятно. Более того, с помощью дефайнов там вообще регулируется присутствие той abc(42 знак., 07.02.2014 15:47, )
- Ну так что мешает отконфигурировать и собрать в библиотеку. Естесственно, дефайны эти же нужны в процессе сборки своего проекта (через -I/path/ каталог с осью подключить). - fk0(07.02.2014 15:56)
- Мешает то, что под каждый проект придется создавать новую библиотеку с нужной конфигурацией. С этой позиции уж лучше действительно включать весь системный код в проект. А хотелось бы так, чтобы большая часть системного кода, пригодного на все abc(258 знак., 07.02.2014 16:14, )
- Включить весь -- не лучше. Потому, что если включать как объектники, а не как библиотеку, то возможна ситуация включения неиспользуемых объектников (ПЗУ не напасёшься). fk0(171 знак., 07.02.2014 16:29)
- Для этого надо переписывать uC/OS. В итоге получится IAR PowerPack. Один вопрос: зачем? :-) - SciFi(07.02.2014 16:25)
- Мешает то, что под каждый проект придется создавать новую библиотеку с нужной конфигурацией. С этой позиции уж лучше действительно включать весь системный код в проект. А хотелось бы так, чтобы большая часть системного кода, пригодного на все abc(258 знак., 07.02.2014 16:14, )
- Ну так что мешает отконфигурировать и собрать в библиотеку. Естесственно, дефайны эти же нужны в процессе сборки своего проекта (через -I/path/ каталог с осью подключить). - fk0(07.02.2014 15:56)
- Не получается пока. Есть файлы app_cfg.h и os_cfg.h в которых система статически конфигурируется с помощью дефайнов и назначение некоторых из них мне пока не до конца понятно. Более того, с помощью дефайнов там вообще регулируется присутствие той abc(42 знак., 07.02.2014 15:47, )
- Я копирую исходники lwip в каждый проект. Помогает при отладке. Плюс нет зависимости от внешних библиотек, то есть геморроя при отслеживании их версий. Кстати, копия никак не мешает. Ну просто вообще никак. - SciFi(07.02.2014 14:00)
- Отлаживать можно и из библиотеки. Которая по сути внутри содержит все те же объектники, но в одном файле. И, кроме того, не будет пытаться линковать объектники, если на них нет ссылок (но, кстати, проблемы если А зависит от Б, а Б зависит от А и fk0(304 знак., 07.02.2014 15:41)
- Хорошо, допустим lwip отлажен и не содержит ошибок. Но ведь самому же можно случайно внести какие нибудь изменения в открытый системный код. По не внимательности, по забывчивости, по пьяне, наконец. И искать потом эти изменения куда сложнее, чем abc(91 знак., 07.02.2014 14:15, )
- Для того, чтоб по пьяни не внести случайные изменения в код служат системы контроля версий. Потом внимательно просматриваются диффы перед коммитом. Помогает вылавливать часть ошибок, кстати. - fk0(07.02.2014 15:42)
- И напитки качественные употреблять нужно. Тут по этому делу Л.И. специалист кажется. fk0(07.02.2014 15:44, ссылка)
- В lwip нет ошибок, но он работает в тесном взаимодействии с содержащим ошибки приложением (как и uC/OS), так что для отладки всё равно полезно. Ну и "случайно внести изменения" - это просто смехотворно. Для этого есть системы контроля версий, как SciFi(18 знак., 07.02.2014 14:32)
- Сомневаюсь в полезности для отладки, ибо не хочу без причины соваться в любой код, написанный не мной, не по тому, что "умный", а как раз наоборот. - abc(07.02.2014 14:43, )
- Зря сомневаетесь. В lwip можно поставить точку останова на приём пакета IGMP, к примеру. Попробуйте замутить такое без исходников. Также можно включить сбор статистики. Временно добавить условие для условной точки останова. Вы вообще отладкой SciFi(25 знак., 07.02.2014 14:46)
- Точку останова я бы поставил не в исходниках lwip, а в своем коде, как раз по выходу из функции, возвращающей нужный пакет, к примеру (не владею конкретно lwip, но думаю что понятно высказался). Это потому, что априори уверен, что lwip не abc(136 знак., 07.02.2014 14:54, )
- Я лично не достоин быть учителем, но есть люди, которые пишут код, а не занимаются отладкой. И наверное к этому нужно стремиться. - Vladimir Ljaschko(07.02.2014 15:07)
- Я привёл аргументы, а решать вам. Мне по барабану, что вы там выберете :-) - SciFi(07.02.2014 14:57)
- Точку останова я бы поставил не в исходниках lwip, а в своем коде, как раз по выходу из функции, возвращающей нужный пакет, к примеру (не владею конкретно lwip, но думаю что понятно высказался). Это потому, что априори уверен, что lwip не abc(136 знак., 07.02.2014 14:54, )
- Зря сомневаетесь. В lwip можно поставить точку останова на приём пакета IGMP, к примеру. Попробуйте замутить такое без исходников. Также можно включить сбор статистики. Временно добавить условие для условной точки останова. Вы вообще отладкой SciFi(25 знак., 07.02.2014 14:46)
- Все равно, простое копирование системного кода это "размножение сущностй", беспричинное запутывние и усложнение основного проекта. - abc(07.02.2014 14:39, )
- Сомневаюсь в полезности для отладки, ибо не хочу без причины соваться в любой код, написанный не мной, не по тому, что "умный", а как раз наоборот. - abc(07.02.2014 14:43, )
- пить нужно меньше и пользоваться SVN, Git и пр. - =AlexD=(07.02.2014 14:17)
- Для того, чтоб по пьяни не внести случайные изменения в код служат системы контроля версий. Потом внимательно просматриваются диффы перед коммитом. Помогает вылавливать часть ошибок, кстати. - fk0(07.02.2014 15:42)
- Дык собери объектники от оси один раз в библиотеку. И пользуйся. - fk0(07.02.2014 15:38)