Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: eCos под CrossWorks
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
v_shamaev
Скрестил я все-таки этих тварей под Linux-ом, могу теперь отлаживатся под CrossWorks,
рабочий мой вариант - отладка под RedBoot стала невозможной, последний порт забрали.
Если кому интересно - расскажу методу.
CrazyAlex
Цитата(v_shamaev @ Mar 18 2005, 03:26)
...Если кому интересно - расскажу методу.
*

Конечно интересно. А только под Linux, под Win нельзя?
v_shamaev
Думаю, и под виндой так же будет работать - под линуксом просто более актуально - по сути, работающий вигглер только под CrossWorks и есть. А под виндой можно и GDB/Insight
использовать, к тому же eCos под GDB заточен, только там и возможна многонитевая отладка. Так вот, по сути метода - для начала все-таки нужно сделать поддержку своей железки CrossWorks-ом. Ну и собранное приложение свое с eCos - в конфигурации для ПЗУ,
но это не обязательно (ПЗУ) - просто так удобнее. Далее в CrossWorks сочиняем новый проект, вариант конфигурации - готовый исходник. Что бы CrossWorks его правильно понимал, исполняемому модулю приделываем расширение .elf. Далее, в проект нужно добавить все файлы, из которых собирается приложение, и хидеры сконфигурированной
версии eCos. Для проверки можно попробовать открыть свой собранный elf - если CrossWorks чего-то из исходников не найдет - спросит, где искать. Далее - заливаем
любым флешером приложение, и кнопка JTAG - какой нравится, появляется возможность отладки - или подключение к процессу, или - сброс и начало отладки.
v_shamaev
Пришлось таки под виндой с MT-link-ом запустить отладку.

Основные моменты:
Пути к исходникам в отладочной информации - можно собирать без отладочной информации,
но если чуть потрудится, то отладка становиться более информативной - GCC запускается через
DLL Cygwin-а, поэтому все пути в отладочной информации и есть Cygwin-овские, т.е. юниксовые.
У меня исходники eCos-а находятся на D: , соотв. пути к ним - /ecos-d/...
Я поступил просто - сделал пустой каталог D:\ecos-d, а потом в администраторе дисков смонтировал
D: на этот каталог, в Unix-ах для безопасности вообще-то глубину рекурсии ограничивают 8-мью,
а в XP я залез дальше 10-ти, и дна не достиг. Ну если чуточку внимания к этому вопросу, так ничего
и не будет.

Еще есть возможность в самом CrossWorks-е прописать реальные пути к каждому файлу, но это большая рутинная работа.
Проект собираем как внешне собранный исполняемый, и все - грузимся/отлаживаемся.
Одно нехорошо - не позволяет через Jlink во влеше вести пошаговую отладку - говорит,
нету хардового брек пойнта.



Прилагаю .hzp моего текущего проекта - остальне из него будет ясно.
v_shamaev
Цитата(v_shamaev @ Nov 25 2005, 19:15) *
Пришлось таки под виндой с MT-link-ом запустить отладку.

Основные моменты:
Пути к исходникам в отладочной информации - можно собирать без отладочной информации,
но если чуть потрудится, то отладка становиться более информативной - GCC запускается через
DLL Cygwin-а, поэтому все пути в отладочной информации и есть Cygwin-овские, т.е. юниксовые.
У меня исходники eCos-а находятся на D: , соотв. пути к ним - /ecos-d/...
Я поступил просто - сделал пустой каталог D:\ecos-d, а потом в администраторе дисков смонтировал
D: на этот каталог, в Unix-ах для безопасности вообще-то глубину рекурсии ограничивают 8-мью,
а в XP я залез дальше 10-ти, и дна не достиг. Ну если чуточку внимания к этому вопросу, так ничего
и не будет.

Еще есть возможность в самом CrossWorks-е прописать реальные пути к каждому файлу, но это большая рутинная работа.
Проект собираем как внешне собранный исполняемый, и все - грузимся/отлаживаемся.
Одно нехорошо - не позволяет через Jlink во влеше вести пошаговую отладку - говорит,
нету хардового брек пойнта.



Прилагаю .hzp моего текущего проекта - остальне из него будет ясно.

Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.