Перейти к содержанию
    

ASM. Отладка MSP430 JTAG

Есть необходимость (низкоуровневой, на уровне асм-физ. адреса) отладки, а для начала - трассировки

кода в виде тексасовского xxx.txt, который грузится через MSP-FET430UIF в процессор.

(те чистый код, без отладочной инф-ии).

 

(?)

Есть ли средства-возможность задать в блок JTAG процессора точку останова (по физ. адресу) , и по ее сработке - считать регистры-память итд.

Желательно - возможность работы из прикладной программы через API --> MSP-FET430UIF --> JTAG --> MSP430F2618

 

Симуляторы не подойдут. В симуляторе все работает по феншую. И работа периферии не симулируется.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

(те чистый код, без отладочной инф-ии).

В ИАРе download and debug разве не работает?

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В ИАРе download and debug разве не работает?

 

Все работает. Но. ( Из-за чего собственно и вопрос).

MSP430F2618.

При прогрузке дебаг-кода (d43):

- происходит "автостарт" прошивки. Т.е сразу после прогрузки, пункт меню Debug / Go уже "нажато".

- по Debug / Break - останов в MemZero().

- при компиляции в режиме Release - код также не рабочий.

RAM достаточно (5к занято из 8к), исполнимый код небольшой (15к из доступных 116), стек(и) проверены-перепроверены,

опции проекта строены-перестроены.

 

Отсюда у меня и возникло (вынужденно) желание поотлаживать Release.

 

PS

при работе прошивки похоже на то, что в процессе исполнения кода (уже прикладного, скорее всего)

процессор "налетает" на "нечто", что вызывает аппаратный рестарт. И происходит это "нечто" в цикле.

А в дебаге мы видим постоянную работу "memZero()" - тк. вероятность "брейкнуть" в ней намного выше, чем в "нечто"-глюке

:)

 

Изменено пользователем k155la3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В EW-ARM (6.40 ЕМНИМС) несколько вариантов поведения программатора ("Залить и Стоять", "Залить и Запустить" и проч.), но это для ARM.

В вашей версии для MSP430 тоже? А вы точно EW430 используете? Из вышенаписанного это не следует.

 

Для MSP430 подключиться JTAGом к работающему процу - да, такая возможность есть, но после прошивки - проц "неподвижен".

 

В настройках debugger-а есть полезная опция "Run to".

 

И вообще, все проблемы решает RESET. (:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В EW-ARM (6.40 ЕМНИМС) несколько вариантов поведения программатора ("Залить и Стоять", "Залить и Запустить" и проч.), но это для ARM.

В вашей версии для MSP430 тоже? А вы точно EW430 используете? Из вышенаписанного это не следует.

 

Для MSP430 подключиться JTAGом к работающему процу - да, такая возможность есть, но после прошивки - проц "неподвижен".

 

В настройках debugger-а есть полезная опция "Run to".

 

И вообще, все проблемы решает RESET. (:

 

Может чего не так расписал.

Если бы это был PC, то скорее всего ОС выдалабы исключение. Прикладной код сделал нечто нето, или полез нетуда, или "нет такого кода".

В ARM вроде нечто подобное есть.

В MSP430 такого нет, или я об этом не знаю.

Скорее всего, если процессор не знает что делать, делает ресет. IMHO, однако.

 

Стартовую метку в опциях дебагера уже крутили.

 

 

 

Есть у Тексаса тут http://www.ti.com/tool/mspds

 

И в этом "тут" поминаются ф-ии

 

MSP430_EEM_SetTrace()

MSP430_EEM_GetTrace()

MSP430_EEM_ReadTraceBuffer()

MSP430_EEM_RefreshTraceBuffer()

 

док - slau656.pdf

----

Начал раскуривать.

Собственно, это использование ф-ий MSP430.dll

Кто хочет написать "свой" программатор (те встроенный в прикл. программу) - читать-изучать.

Исходники-примеры на VS2010 прилагаются.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

при работе прошивки похоже на то, что в процессе исполнения кода (уже прикладного, скорее всего)

процессор "налетает" на "нечто", что вызывает аппаратный рестарт. И происходит это "нечто" в цикле.

Это таинственное "нечто" - точно не встроенный WDT ?

Дергаете его вовремя?

Попробуйте запретить WDT в релизе.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это таинственное "нечто" - точно не встроенный WDT ?

Дергаете его вовремя?

Попробуйте запретить WDT в релизе.

 

нет, WDT используется как обычный таймер. Тики ОС.

В начале

WDTCTL = WDTPW + WDTHOLD;

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...