Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Отладка при переходе исполнения в разные банки внутренней флэш str912
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Pechka
Думаю, что использую более-менее стандартную конфигурацию: USB загрузчик в банке 1, основная программа и другая полезная информация в банке 0 внутренней флэш. Таким образом можно обновлять основную программу по USB. Вопрос возникает: кто как отлаживает основную программу и непосредственно сами переходы (загрузчик->основная программа, основная программа->загрузчик)? Я до этого момента просто отлаживал основную программу из банка 0 и после уже компилировал с изменёнными параметрами FMI и перешивал кристалл загрузчиком. Что касается самих переходов - оно как-то у меня всегда выходило как гадание на кофейной гуще... Есть у кого-нибудь рекомендации как правильно это делать? (особенно смотреть что происходит после прыжка)
scifi
Цитата(Pechka @ May 28 2010, 17:52) *
Вопрос возникает: кто как отлаживает основную программу и непосредственно сами переходы (загрузчик->основная программа, основная программа->загрузчик)?

А в чём, собственно, проблема? Если не нужна отладочная информация, то просто в дизассемблере шагаем и ставим точки останова, смотрим регистры и память. Если же нужна отладочная информация, то её можно подгрузить либо от загрузчика, либо от главной программы. Одновременно и то и другое, наверное, не получится, но и без этого можно жить.
Pechka
Цитата(scifi @ May 28 2010, 18:32) *
А в чём, собственно, проблема? Если не нужна отладочная информация, то просто в дизассемблере шагаем и ставим точки останова, смотрим регистры и память. Если же нужна отладочная информация, то её можно подгрузить либо от загрузчика, либо от главной программы. Одновременно и то и другое, наверное, не получится, но и без этого можно жить.

Да что-то у меня дизасемблер ерунду показывал, вот и думал что где-то накосячил с отладчиком... Теперь присмотрелся и понял, что накосячил в другом месте. Только подгрузить отладочную информацию не получается. Может подскажете как это в Keil uVision 4 и Ulink 2 сделать? я получается убираю обновление флэш перед прошивкой в проекте с основной программой, запускаю, жму "прыжок" и попадаю в основную программу. Однако привязки ассемблера к С коду нет :/ Есть какая-нибудь функция загрузки этой привязки в процессе отладки? или опять что-то не так делаю :/
scifi
Цитата(Pechka @ May 28 2010, 19:20) *
Есть какая-нибудь функция загрузки этой привязки в процессе отладки? или опять что-то не так делаю :/

Есть такая команда. И в руководстве про неё написано, не мешало бы туда иногда заглядывать:
Debug Commands - LOAD
Кстати, там есть и опция INCREMENTAL, которая позволяет загрузить вместе отладочную информацию от двух программ. Ну и надо указать NOCODE. Всё это удобно делать в отладочном скрипте.
Pechka
Спасибо! Буду пробовать!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.