| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Хардуерен breakpoint / freeze http://mcu-bg.com/mcu_site/viewtopic.php?f=2&t=16451 |
Страница 1 от 2 |
| Автор: | Grubi [ Сря Апр 03, 2019 9:10 pm ] |
| Заглавие: | Хардуерен breakpoint / freeze |
Задавам поредния глупав въпрос - има ли начин хардуерно да се спре изпълнението на текущата програма и всички портове да "замръзнат" в състоянието което са, и съоветно след това всичко да тръгне оттам където е спряло. Без да използваме външен дебъгер и т.н. Примерно с обикнове PIC/Atmel, в краен случай ARM. Може да развържа осцилатора/генератора? В смисъл все едно имам някакъв глупав кръгов брояч с индикация, спирам такта и индикацията замръзва в съоветното състояние. Пускам такта и това продължава оттам откъдето е спряло. |
|
| Автор: | MYXATA [ Сря Апр 03, 2019 9:31 pm ] |
| Заглавие: | Re: Хардуерен breakpoint / freeze |
повечето цпу-та имат hibernate powerdown mode и може а се укаже data retention коя част ор рама да се пази повреме на хибернация - демек е горе долу каквото ти трябва. |
|
| Автор: | palavrov [ Сря Апр 03, 2019 9:34 pm ] |
| Заглавие: | Re: Хардуерен breakpoint / freeze |
Първосигнално ми минава през акъла, че може и да може през JTAG интерфейса да се блокира процесора ... но ще трябва някой спец по темата да каже дали ще стане. |
|
| Автор: | Grubi [ Чет Апр 04, 2019 2:07 am ] |
| Заглавие: | Re: Хардуерен breakpoint / freeze |
понеже ми трябва глупаво време закъснение - т.е. имам един канал включен за 1 сек., после включвам втори за 1 сек и първия го има и т.н., и после ги изключвам всичките заедно, се сещам че може би кръгов брояч ще е най-добре (дори без контролер) и ако му спра на това клока, то просто ще замръзне в състоянието което е. |
|
| Автор: | ToHu [ Чет Апр 04, 2019 4:02 am ] |
| Заглавие: | Re: Хардуерен breakpoint / freeze |
Най-глупавото, ако си с външен клока, за малки гадове, би трябвало да работи. |
|
| Автор: | miro_atc [ Чет Апр 04, 2019 9:08 am ] | |||||||||
| Заглавие: | Re: Хардуерен breakpoint / freeze | |||||||||
Ако се правят още такива, може би някой ПИК... при почти всички нови вътре са няколко клок домейна и спирането/пускането на даден домейн не проста работа. Да не говорим, че почти винаги външните осцилатори/източници са със защита. Спрат ли, автоматично се превключва вътрешно RC и се генерира прекъсване. С JTAG/SWD/BDM става да се спира ядрото (каквото и да е то), както и определени други домейни (някои периферии може да спрат, докато трае дебъга, други да си бачкат). Някои емулатори (като тоя дето имам) имат копчета, които може да се програмират, да кажем - halt/continue. Но като цяло нещо не ми се вижда смислено.... Така като гледам проблемът си е софтуерен, по-добре някой да драсне няколко реда код, отколкото софтуерен проблем да се решава с хардуерни средства |
||||||||||
| Автор: | ig_ivanov [ Чет Апр 04, 2019 9:53 am ] |
| Заглавие: | Re: Хардуерен breakpoint / freeze |
На новите PIC16 не знам, но на по-старите (84, 877, 193х) в чаршафа им пише, че бачкат от DC до хх МХц. Пробвал съм на F84 с външен клок- като го спра и чипа замръзва и при възстановяне си продължава. Трябва само да се види разните вътрешни таймери откъде вземат сигнал, а при някои има и Fail-Safe Clock Monitor- трябва да се бръкнат и неговите настройки. |
|
| Автор: | Grubi [ Чет Апр 04, 2019 10:43 am ] |
| Заглавие: | Re: Хардуерен breakpoint / freeze |
Добре, може и с външно прекъсване - т.е. натискаш бутона и то спира там където е. Пускаш го - и то продължава. Процесите ми са доволно бавни, за да има влияние времето за прекъсване. Може би грешно започнах, че хардуерно ще е по-лесно. Вероятно е било, но вече не |
|
| Автор: | ToHu [ Пет Апр 05, 2019 4:10 am ] |
| Заглавие: | Re: Хардуерен breakpoint / freeze |
На всички малки пикове би тябвало да става, има еидн източник на клок, по него се генерират няколк сигнла, Q1 -4 по които с еклати цялата история, няма динамични памети или нещо друго което да иска да го пасеш, наглеждаш. За новите не знам, старите могат без клок и нищо не става стоят си там където са били, може и клок по клок да ги караш. Та с някоя 16-ка е възможно, съвем друг въпрос е има ли смисъл |
|
| Автор: | stoyanoff [ Съб Апр 06, 2019 12:24 pm ] |
| Заглавие: | Re: Хардуерен breakpoint / freeze |
Нещо не мога да ти схвана логиката! Защо ти е изобщпо да блокираш целия контролер? В общия случай ти имаш една програма, което си върти вътре и управлява изходите, както си ѝ дал! Избираш си един пин, даже за прости неща не ти трябва прекъсване. Казваш на контролера като се вдигне пина да започне да изпълнява основната програма, а като слезе в 0 - да спре. И толкова. Фрийзваш си програмно, каквото ти трябва и т.н. Това може с всеки контролер да стане и е въпрос на някоко реда код. Защо за Каспичан трябва да минаваш за по-пряко през луната? |
|
| Автор: | syscop [ Съб Апр 06, 2019 12:59 pm ] | |||||||||
| Заглавие: | Re: Хардуерен breakpoint / freeze | |||||||||
Май трябва се отдели особено внимание на първите думи... |
||||||||||
| Автор: | TheWizard [ Съб Апр 06, 2019 3:18 pm ] |
| Заглавие: | Re: Хардуерен breakpoint / freeze |
глупав е щото не е обяснил какво точно иска да прави софтуерни халтове за PIC PIC32 __asm__ volatile (" sdbbp 0") PIC24 __asm__ volatile (" .pword 0xDA4000"); PIC18 _asm TRAP _endasm или __builtin_software_breakpoint() на 90% от пиковете ако му спреш осцилатора генерира трап - Миро го е обяснил по горе... |
|
| Автор: | stoyanoff [ Съб Апр 06, 2019 7:41 pm ] |
| Заглавие: | Re: Хардуерен breakpoint / freeze |
Чакай малко! Ти да не правиш reverse engineering? Ако нямаш достъп до програмата не знам как можеш да го постигнеш! Както ти обясниха, ако опиташ да подаваш тактовите импулси по-бавно, ще се включи защита и ще премине на вътрешен осцилатор... А ресет-а ще ти ресетва контролер. Няма вариант там да зависне... |
|
| Автор: | slav4o.com [ Пон Апр 08, 2019 7:58 pm ] |
| Заглавие: | Re: Хардуерен breakpoint / freeze |
Е чак ривърс инджиниринг, на PIC Не, че сигналите не може с някакъв лог. анализатор или бърз осцилоскоп да се запишат. |
|
| Автор: | bongo_x2 [ Пон Апр 08, 2019 8:55 pm ] |
| Заглавие: | Re: Хардуерен breakpoint / freeze |
Спомням си как на едни масови италЯнски "програматори" старателно бяха изшкурили надисите върху CMOS-ките - като че ли можеш да ги объркаш. Всеки луд с номера си. |
|
| Страница 1 от 2 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|