реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Совместная отладка USBXpress Bootloader и проекта пользователя под Silabs IDE
Ihar
сообщение Nov 17 2008, 15:42
Сообщение #1





Группа: Новичок
Сообщений: 7
Регистрация: 12-05-05
Пользователь №: 4 932



Как известно, Silabs рекламируя свою
библиотеку USBXpress, предлагает USB Bootloader который заливается
в камень через JTAG, а потом с помощью залитого Bootloader и загрузочной PC утилиты,
можно грузит в этот же камень через USB проекты пользователя.

Проблема в том, что когда пробуешь отлаживать такую связку (Проект Bootloader +
проект пользователя) , то получается это сделать только в окне объектного кода,
но не в окне исходника.

Действуя строго по инструкции от Silabs, открыв в IDE один из проектов
попробовал ставить breakpoint на исходник.
Ставить они ставяться, но адрес поставленного breakpoint выходит за диапазон
камня и breakpoint не ловиться.
Вообщем не работает дэбагер на исходнике.

Может кто делал подобное?
Go to the top of the page
 
+Quote Post
barabek
сообщение Nov 17 2008, 23:27
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 540
Регистрация: 16-08-07
Из: Владивосток
Пользователь №: 29 831



Цитата(Ihar @ Nov 18 2008, 01:42) *
Как известно, Silabs рекламируя свою
библиотеку USBXpress, предлагает USB Bootloader который заливается
в камень через JTAG, а потом с помощью залитого Bootloader и загрузочной PC утилиты,
можно грузит в этот же камень через USB проекты пользователя.

Проблема в том, что когда пробуешь отлаживать такую связку (Проект Bootloader +
проект пользователя) , то получается это сделать только в окне объектного кода,
но не в окне исходника.

Действуя строго по инструкции от Silabs, открыв в IDE один из проектов
попробовал ставить breakpoint на исходник.
Ставить они ставяться, но адрес поставленного breakpoint выходит за диапазон
камня и breakpoint не ловиться.
Вообщем не работает дэбагер на исходнике.

Может кто делал подобное?


Именно такую связку не пробовал. Но их breakpoint вообще стараюсь не пользоваться - они глючат постоянно. Нормально работают только на файле, в котором находится main(), на остальных - та же ситуация, что и у Вас. Может конечно у меня руки кривые, но они меня от этого дела отучили. Посему пользуюся дополнительными (temp) переменными в качестве флагов и смотрю их в watchwindow. А у Вас любые breakpoint так себя ведут, или только те что поставлены не в файле с main()?
Go to the top of the page
 
+Quote Post
Цырен
сообщение Dec 10 2008, 11:09
Сообщение #3


Частый гость
**

Группа: Validating
Сообщений: 184
Регистрация: 26-06-07
Из: Санкт-Петербург
Пользователь №: 28 714



Я недалее как вчера оставил пост в этой ветке форума по теме дебага.
Я брал examle-код предоставляемый TexasInstr. для работы на SmartRF04EB. В исходникал лежали и hex-файлы для вариантов программа+бутлоадер и просто программа. Я прошивал их и убедился, что они рабочие.
А когда дебагил, то в случае с "программа+отладка", пошаговое исполнение выполнялось только в объектнов файле, а с-файл просто игнорировался. Ни брейкпоинты ни пошаговый просмотр не отображались на с-файле. И по идее программа шьется в кристал, но после того как я отсоединял программатор (USB ToolStick), то ничего не работало. Если открывать проект в исходном состоянии, как дается с сайта и не компилить его, то тоже самое, за исключением, того, то программа на железе после отключения программатора работает.

Дебаг в случае "программа" отладка также идет в объектном файле и программа на железе работает после компиляции и откл. программатора.

Мой вывод такой:
1. в первом случае что-то со стартапом или условиями компилляции или см. пункт 3.
2. во втором см. пункт 3.
3. может надо как-то настроить в свойствах проекта вкладки AX51, LX51 Locate, LX51 Misc (кстати что это такое я пока не разобрался, интересно было бы узнать что это)
4. или глючит драйвер для USB ToolStick или драйвер под KEIL IDE для Silabs.

Я бы хотел разобраться, это у меня руки не из того места или есть какие-то сложности идущие извне. Если первое, то я только рад - и опыт и значит не все так плохо.
Go to the top of the page
 
+Quote Post
Konst_777
сообщение Dec 11 2008, 21:01
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644



Цитата(Цырен @ Dec 10 2008, 15:09) *
Я недалее как вчера оставил пост в этой ветке форума по теме дебага.
Я брал examle-код предоставляемый TexasInstr. для работы на SmartRF04EB. В исходникал лежали и hex-файлы для вариантов программа+бутлоадер и просто программа. Я прошивал их и убедился, что они рабочие.
А когда дебагил, то в случае с "программа+отладка", пошаговое исполнение выполнялось только в объектнов файле, а с-файл просто игнорировался. Ни брейкпоинты ни пошаговый просмотр не отображались на с-файле. И по идее программа шьется в кристал, но после того как я отсоединял программатор (USB ToolStick), то ничего не работало. Если открывать проект в исходном состоянии, как дается с сайта и не компилить его, то тоже самое, за исключением, того, то программа на железе после отключения программатора работает.

Дебаг в случае "программа" отладка также идет в объектном файле и программа на железе работает после компиляции и откл. программатора.

Мой вывод такой:
1. в первом случае что-то со стартапом или условиями компилляции или см. пункт 3.
2. во втором см. пункт 3.
3. может надо как-то настроить в свойствах проекта вкладки AX51, LX51 Locate, LX51 Misc (кстати что это такое я пока не разобрался, интересно было бы узнать что это)
4. или глючит драйвер для USB ToolStick или драйвер под KEIL IDE для Silabs.

Я бы хотел разобраться, это у меня руки не из того места или есть какие-то сложности идущие извне. Если первое, то я только рад - и опыт и значит не все так плохо.

Так ведь Вы сами пишете, что это пример Bootloader-а. То есть, *.hex-файл содержит код для firmware-приложения и самого Bootloader-а. А firmware-проект, только код для firmware-приложения. Причем, после компиляции проекта адреса памяти, в которых расположен Bootloader остаются пустыми. Так и должно быть. Полученный *.hex-файл с firmware-приложением должен загружаться в контроллер программой для ПЭВМ через USB. То есть, для обновления firmware контроллера C8051f34x или C8051f32x уже не нужен USB Debug Adapter. В этом смысл использования Bootloader-а.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 10th July 2025 - 10:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01408 секунд с 7
ELECTRONIX ©2004-2016