k155la3 27 25 декабря, 2015 Опубликовано 25 декабря, 2015 · Жалоба Есть необходимость (низкоуровневой, на уровне асм-физ. адреса) отладки, а для начала - трассировки кода в виде тексасовского xxx.txt, который грузится через MSP-FET430UIF в процессор. (те чистый код, без отладочной инф-ии). (?) Есть ли средства-возможность задать в блок JTAG процессора точку останова (по физ. адресу) , и по ее сработке - считать регистры-память итд. Желательно - возможность работы из прикладной программы через API --> MSP-FET430UIF --> JTAG --> MSP430F2618 Симуляторы не подойдут. В симуляторе все работает по феншую. И работа периферии не симулируется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DogPawlowa 0 25 декабря, 2015 Опубликовано 25 декабря, 2015 · Жалоба (те чистый код, без отладочной инф-ии). В ИАРе download and debug разве не работает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 27 26 декабря, 2015 Опубликовано 26 декабря, 2015 (изменено) · Жалоба В ИАРе download and debug разве не работает? Все работает. Но. ( Из-за чего собственно и вопрос). MSP430F2618. При прогрузке дебаг-кода (d43): - происходит "автостарт" прошивки. Т.е сразу после прогрузки, пункт меню Debug / Go уже "нажато". - по Debug / Break - останов в MemZero(). - при компиляции в режиме Release - код также не рабочий. RAM достаточно (5к занято из 8к), исполнимый код небольшой (15к из доступных 116), стек(и) проверены-перепроверены, опции проекта строены-перестроены. Отсюда у меня и возникло (вынужденно) желание поотлаживать Release. PS при работе прошивки похоже на то, что в процессе исполнения кода (уже прикладного, скорее всего) процессор "налетает" на "нечто", что вызывает аппаратный рестарт. И происходит это "нечто" в цикле. А в дебаге мы видим постоянную работу "memZero()" - тк. вероятность "брейкнуть" в ней намного выше, чем в "нечто"-глюке :) Изменено 26 декабря, 2015 пользователем k155la3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 26 декабря, 2015 Опубликовано 26 декабря, 2015 · Жалоба В EW-ARM (6.40 ЕМНИМС) несколько вариантов поведения программатора ("Залить и Стоять", "Залить и Запустить" и проч.), но это для ARM. В вашей версии для MSP430 тоже? А вы точно EW430 используете? Из вышенаписанного это не следует. Для MSP430 подключиться JTAGом к работающему процу - да, такая возможность есть, но после прошивки - проц "неподвижен". В настройках debugger-а есть полезная опция "Run to". И вообще, все проблемы решает RESET. (: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 27 28 декабря, 2015 Опубликовано 28 декабря, 2015 · Жалоба В 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 прилагаются. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DogPawlowa 0 30 декабря, 2015 Опубликовано 30 декабря, 2015 · Жалоба при работе прошивки похоже на то, что в процессе исполнения кода (уже прикладного, скорее всего) процессор "налетает" на "нечто", что вызывает аппаратный рестарт. И происходит это "нечто" в цикле. Это таинственное "нечто" - точно не встроенный WDT ? Дергаете его вовремя? Попробуйте запретить WDT в релизе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 27 4 января, 2016 Опубликовано 4 января, 2016 · Жалоба Это таинственное "нечто" - точно не встроенный WDT ? Дергаете его вовремя? Попробуйте запретить WDT в релизе. нет, WDT используется как обычный таймер. Тики ОС. В начале WDTCTL = WDTPW + WDTHOLD; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться