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

 
 
> Проблемы с debugger от Keil MDK 3.40.
Ihar
сообщение Apr 17 2009, 14:06
Сообщение #1





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



Есть такой код для функции main() из демопроекта USBmem для LPC2148 от Keil:

int main (void) {
DWORD n;

for (n = 0; n < MSC_ImageSize; n++) { /* Copy Initial Disk Image */
Memory[n] = DiskImage[n]; /* from Flash to RAM */
}

IODIR1 = LED_MSK; /* LED's defined as Outputs */
IOCLR1 = LED_TEST; /* */
USB_Init(); /* USB Initialization */
USB_Connect(TRUE); /* USB Connect */

while (1); /* Loop forever */
}
Проект линкуется с десятка модулей в основном для работы с USB.
Один из модулей проекта - "memory"
содержит только одну эту функцию main()

Задаю симулятор и запускаю режим отладчика.
курсор симулятора правильно попадает на main().

Но!

Если я заремлю две функции- вот так:
//USB_Init(); /* USB Initialization */
//USB_Connect(TRUE); /* USB Connect */

После линковки в загрузочном образе остаётся единственный модуль -
c единственной функцией main() , и модуль startup.

При запуске отладчика его курсор почему-то вообще пропадает из
окна исходника с функцией main(), в окне Сall Stack отображается имя некоторой функции,
которая уже не присутствует в загрузочном имидже проекта
, в окне дисассемблера - позиция курсора отладчика на Си-операторе неприсутствующей функции, но с ассемблерными кодами, функции main().

В чем тут дело?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 25th June 2025 - 22:57
Рейтинг@Mail.ru


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