Отговори на тема  [ 23 мнения ]  Отиди на страница Предишна  1, 2
CortexM4 - Hook за функция преди тръгване след брейкпоинт 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 7:04 pm
Мнения: 2586
Местоположение: Велико Търново / София
Мнение Re: CortexM4 - Hook за функция преди тръгване след брейкпоин
Не съм запознат с тези системи, но не може ли да се следи хардуерно спирането и да се спира външният RTC ?

_________________
https://github.com/slav4ocom/


Вто Ное 03, 2020 11:24 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 06, 2007 7:44 pm
Мнения: 2798
Местоположение: Пловдив
Мнение Re: CortexM4 - Hook за функция преди тръгване след брейкпоин
Не трябва да се спира/манипулира външния часовник, защото ще изгубя синхронизация с другите устройства.


Вто Ное 03, 2020 1:20 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4714
Мнение Re: CortexM4 - Hook за функция преди тръгване след брейкпоин
добре де - разликата външен - вътрешен ти е индикация че някой е спирал

а и по-малко от 2020 ти е индикация че е нулиран

_________________
main[-1u]={1};


Вто Ное 03, 2020 2:42 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 06, 2007 7:44 pm
Мнения: 2798
Местоположение: Пловдив
Мнение Re: CortexM4 - Hook за функция преди тръгване след брейкпоин
TheWizard написа:
добре де - разликата външен - вътрешен ти е индикация че някой е спирал


Така е, но ще открия това чак като му дойде времето да се чете външния часовник - след 15 секунди примерно. Въпроса е какво правим до тогава? Работим с грешно време ? Това не ме кефи. Устройствата губят синхронизация помежду си.

По ред причини не искам често и ненужно да чета външния часовник.

Решението с WDT работи , но не позволява постъпково дебъгване, тъй като WDT изтича между стъпките... Работи само при спиране и стартиране от брейкпоинт на бреикпоинт.

Това не ме кефи. Може да се работи и така, но неможе да нама по-елегантно решение...


Вто Ное 03, 2020 6:44 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 7:04 pm
Мнения: 2586
Местоположение: Велико Търново / София
Мнение Re: CortexM4 - Hook за функция преди тръгване след брейкпоин
Не може ли от IDEто да се викат ръчно функции в дебъг режим ?

_________________
https://github.com/slav4ocom/


Вто Ное 03, 2020 6:53 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 06, 2007 7:44 pm
Мнения: 2798
Местоположение: Пловдив
Мнение Re: CortexM4 - Hook за функция преди тръгване след брейкпоин
slav4o.com написа:
Не може ли от IDEто да се викат ръчно функции в дебъг режим ?


IDEто е Texas Instruments - CCS което е Eclips базирано с къстъм тексаски дебъгер.
Не знам да може да извиква функция, освен ако на ръка не модифицирам програмния брояч. Но дори и да може, то трябва тя автоматично да се извика тоно преди стартирането на програмата след брейкпоинт - с някакъв скрипт примерно, но не ми е ясно как да стане това.

Би ми било достатъчно ако при спирането на брейкпоинт със скрипт или макрос се сетва една променлива в РАМ-а, но незнам дали въобще е възможно това.


Вто Ное 03, 2020 7:21 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 12:59 pm
Мнения: 3855
Местоположение: Габрово
Мнение Re: CortexM4 - Hook за функция преди тръгване след брейкпоин
CCS има поддържа много сериозно "скриптване", това му е голяма разлика спрямо чистия еклипс. Май им викаха "GEL' файлове на тия скриптове, ама с коя версия на композера работиш? При мен май е 10-ка в момента, макар че от 4 нагоре интерфейса го пазят прилично стабилен.

Виж това дали е по темата ти:
http://software-dl.ti.com/ccs/esd/documents/users_guide_9.1.0/sdto_dss_handbook.html#breakpoints

Цитат:
Example script to set breakpoint, which execute GEL command as debugger action
// for setting breakpoint to perform gel command
var bpProps2 = session.breakpoint.createProperties(1);

bpProps2.setString("Miscellaneous.Name", "Breakpoint"); // Mandatory to select the breakpoint
bpProps2.setString("Hardware Configuration.Location",0x500); // Breakpoing at PC address

bpProps2.setString("Debugger Response.Action","Execute Expression(GEL)");
bpProps2.setString("Debugger Response.Action.Expression", "GEL_DriverString(\"SIM_EXCEPTION,ON\")"); // Set the gel command to be executed


var bp2 = session.breakpoint.add(bpProps2); // add breakpoint


Сря Ное 04, 2020 11:42 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 06, 2007 7:44 pm
Мнения: 2798
Местоположение: Пловдив
Мнение Re: CortexM4 - Hook за функция преди тръгване след брейкпоин
Имам някакво решение с GEL скрипт, но използвам GEL функцията OnHalt().

OnHalt()
{
// Set RunAfterBreakpoint_flg unsigned char variable on address 0x20003137 with 0z01
GEL_MemoryFill(0x20003137, 0, 0x1, 0x1, 0x0D);
}

Като халтна ЦПУ-то или спре на брейкпоинт, тя ми сетва променливата RunAfterBreakpoint_flg с директно писане в РАМ паметта и когато стартирам програмата отново, на системен тик проверявам дали променливата ми е сетната. Ако е - значи процесора е спирал. Нулирам я, синхронизирам часовниците и т.н.

Проблема с нея е, че след стартиране след халт/брейкпоинт, докъто дойде момента за проверката на променливата - раборя с грешно време...

Имам възможност докато процесора е халтнат с GEL скрипт да пиша по HW регистри, та се чудя дали мога да сетна някой флаг за HW прекъсване, което да предизвика влизане в прекъсване при рънване след халт?
Прекъзването ще се генерира ведната след рънване и в него ще мога да извикам функцията за синхронизиране на часовниците.


Чет Ное 05, 2020 7:20 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 23 мнения ]  Отиди на страница Предишна  1, 2

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 4 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни