Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Отладка ARM (ADuC7060) в KEIL.
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Anton_1000
Пытаюсь отлаживать этот АРМ в среде КЕЙЛ отладчиком JetLink5-ым. После входа в дебуг-режим в окошке Дизассемблера жёлтая стрелка устанавливается на 0х000000 адресе, далее переход на адрес 0х0001ВА и так кручусь в цикле по похожим адресам. Программа выполняется, но я не вижу стрелки в С-коде. В описании на МК написано, что прога пишется по адресу 0х80000. Подскажите где я туплю. Как увидеть стрелку в С-коде? И прав ли дебуггер, что крутится в нулевых адресах? Машинный код по нулевым адресам совпадает с кодом по адресам 0х80000.
Сергей Борщ
QUOTE (Anton_1000 @ Jan 20 2011, 12:56) *
В описании на МК написано, что прога пишется по адресу 0х80000. Подскажите где я туплю. Как увидеть стрелку в С-коде? И прав ли дебуггер, что крутится в нулевых адресах? Машинный код по нулевым адресам совпадает с кодом по адресам 0х80000.
Почитайте про remap. Процессор начинает выполнение с нулевого адреса всегда. Флеш находится по адресу 0х80000 и отражена в нулевые адреса.
Насчет стрелочки - проверьте, включена ли генерация отладочной информации.
Anton_1000
Установил в окошке Дизассемблера РС коунтер на 0х80000 и появилась стрелка в С-коде. Но после повторного входа в отладку программный счётчик снова в 0х0000. Как стартовать в дизассемблере с кода 0х80000?

Цитата(Сергей Борщ @ Jan 20 2011, 15:30) *
Почитайте про remap. Процессор начинает выполнение с нулевого адреса всегда. Флеш находится по адресу 0х80000 и отражена в нулевые адреса.
Насчет стрелочки - проверьте, включена ли генерация отладочной информации.

А где посмотреть?

Получается, что С-код расположен по адресам 0х80000, а программа выполняется по адресам 0х00000.
Сергей Борщ
QUOTE (Anton_1000 @ Jan 20 2011, 13:35) *
А где посмотреть?
В даташите, наверное. Поиск по слову "remap" найдет нужное место.
Или вы про отладочную информацию? Тогда не знаю - не работаю с кейлом. Поищите в настроках что-то вроде generate debug information, debug symbols.
И тщательнее подходите к цитированию.
QUOTE (Anton_1000 @ Jan 20 2011, 13:35) *
Получается, что С-код расположен по адресам 0х80000, а программа выполняется по адресам 0х00000.
Значит она слинкована не совсем правильно. Но тут я уже не помощник.
Anton_1000
Может стартап код виноват?

О чудо. Помогла "галочка" во вкладке Target->Code Generatin-> Use MicroLIB
На что она влияет?
Сергей Борщ
QUOTE (Anton_1000 @ Jan 20 2011, 15:27) *
На что она влияет?
А вы не пытались найти ответ в хелпе к Кейлу?
Anton_1000
Похоже эта "галка" влиет только на размер кода:

"Use MicroLIB to change the C run-time library set for smallest code application code. MicroLIB is not fully ANSI compatible but sufficient for most small embedded applications."

Даз шиз фантастиш.
Anton_1000
Кто-то пробовал примеры от AD. Не работают прерывания при работе с отладчиком JTAG. В чём заморочка?
gmp
Посмтрите эту тему, может чем-то поможет.

Ссылка
Anton_1000
Похоже всё дело было в скорости работы J-LINK 8000 кГц наверно было много для МК. Поставил 1000 заработало...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.