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

 
 
 
Reply to this topicStart new topic
> Отладка при переходе исполнения в разные банки внутренней флэш str912
Pechka
сообщение May 28 2010, 13:52
Сообщение #1


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

Группа: Свой
Сообщений: 144
Регистрация: 25-03-10
Из: Москва
Пользователь №: 56 210



Думаю, что использую более-менее стандартную конфигурацию: USB загрузчик в банке 1, основная программа и другая полезная информация в банке 0 внутренней флэш. Таким образом можно обновлять основную программу по USB. Вопрос возникает: кто как отлаживает основную программу и непосредственно сами переходы (загрузчик->основная программа, основная программа->загрузчик)? Я до этого момента просто отлаживал основную программу из банка 0 и после уже компилировал с изменёнными параметрами FMI и перешивал кристалл загрузчиком. Что касается самих переходов - оно как-то у меня всегда выходило как гадание на кофейной гуще... Есть у кого-нибудь рекомендации как правильно это делать? (особенно смотреть что происходит после прыжка)
Go to the top of the page
 
+Quote Post
scifi
сообщение May 28 2010, 14:32
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Pechka @ May 28 2010, 17:52) *
Вопрос возникает: кто как отлаживает основную программу и непосредственно сами переходы (загрузчик->основная программа, основная программа->загрузчик)?

А в чём, собственно, проблема? Если не нужна отладочная информация, то просто в дизассемблере шагаем и ставим точки останова, смотрим регистры и память. Если же нужна отладочная информация, то её можно подгрузить либо от загрузчика, либо от главной программы. Одновременно и то и другое, наверное, не получится, но и без этого можно жить.
Go to the top of the page
 
+Quote Post
Pechka
сообщение May 28 2010, 15:20
Сообщение #3


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

Группа: Свой
Сообщений: 144
Регистрация: 25-03-10
Из: Москва
Пользователь №: 56 210



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

Да что-то у меня дизасемблер ерунду показывал, вот и думал что где-то накосячил с отладчиком... Теперь присмотрелся и понял, что накосячил в другом месте. Только подгрузить отладочную информацию не получается. Может подскажете как это в Keil uVision 4 и Ulink 2 сделать? я получается убираю обновление флэш перед прошивкой в проекте с основной программой, запускаю, жму "прыжок" и попадаю в основную программу. Однако привязки ассемблера к С коду нет :/ Есть какая-нибудь функция загрузки этой привязки в процессе отладки? или опять что-то не так делаю :/
Go to the top of the page
 
+Quote Post
scifi
сообщение May 29 2010, 04:33
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Pechka @ May 28 2010, 19:20) *
Есть какая-нибудь функция загрузки этой привязки в процессе отладки? или опять что-то не так делаю :/

Есть такая команда. И в руководстве про неё написано, не мешало бы туда иногда заглядывать:
Debug Commands - LOAD
Кстати, там есть и опция INCREMENTAL, которая позволяет загрузить вместе отладочную информацию от двух программ. Ну и надо указать NOCODE. Всё это удобно делать в отладочном скрипте.
Go to the top of the page
 
+Quote Post
Pechka
сообщение May 29 2010, 06:28
Сообщение #5


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

Группа: Свой
Сообщений: 144
Регистрация: 25-03-10
Из: Москва
Пользователь №: 56 210



Спасибо! Буду пробовать!
Go to the top of the page
 
+Quote Post

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

 


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


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