Jump to content

    

Можно ли "убить" STM32 прошивкой?

Хорошо. Тогда скрин первых слов памяти программ из STLink Utility можно глянуть? Там, где таблица векторов...

И да, почему бы просто не зайти под отладчиком? Сделать сброс и пройтись по шагам в ассемблерном окне?

Share this post


Link to post
Share on other sites
17 minutes ago, nanorobot said:

отвалившийся VCap не мог спровоцировать такую проблему? паранойя, мать ее...

Нет, он бы просто не запускался и не прошивался, по крайней мере я такое поведения наблюдал.
 

17 minutes ago, nanorobot said:

отладчик показывает что в ХФ

До main не доходит?  Cтека в линкере хватает?
Если breakpoint поставить на resethandler остановится?

17 minutes ago, Arlleex said:

А вне в состоянии блокировки случаем?

Можно подробнее? Что еще за состояние? Блокировки чем?

Share this post


Link to post
Share on other sites
21 minutes ago, Arlleex said:

Хорошо. Тогда скрин первых слов памяти программ из STLink Utility можно глянуть? Там, где таблица векторов...

И да, почему бы просто не зайти под отладчиком? Сделать сброс и пройтись по шагам в ассемблерном окне?

пока нет возможности. попозже сделаю. Смена кончается, пора домой. там продолжу.

20 minutes ago, Integro said:

Нет, он бы просто не запускался и не прошивался, по крайней мере я такое поведения наблюдал.
 

До main не доходит?  Cтека в линкере хватает?
Если breakpoint поставить на resethandler остановится?

Попробовал. не останавливается. Улетает на хф хандлер. Эта самая прошивка с утра работала на этой плате. так что не стек и не линкер...:acute:

Edited by nanorobot

Share this post


Link to post
Share on other sites
4 минуты назад, Integro сказал:

До main не доходит?

Можно подробнее? Что еще за состояние? Блокировки чем?

До main() у него не доходит, как говорит сам ТС.

Блокировка - это когда CPU, находясь в обработчике тяжелых отказов, получает еще один больной пинок под зад снова сигнал приводящий к ошибке.

http://infocenter.arm.com/help/topic/com.arm.doc.dui0553b/DUI0553.pdf, стр. 44, п. 2.4.4.

Share this post


Link to post
Share on other sites

Если есть J-Link, то можно через него стереть чип в девственное состояние (в т.ч. секция OPTIONS): 

cм. файл "JLinkSTM32.exe" в папке, где стоит приложение для этого отладчика. 

Если и эта прога не справиться (даже в случае under reset), то чип в помойку.

Share this post


Link to post
Share on other sites
2 minutes ago, Forger said:

Если есть J-Link, то можно через него стереть чип в девственное состояние (в т.ч. секция OPTIONS): 

cм. файл "JLinkSTM32.exe" в папке, где стоит приложение для этого отладчика. 

Если и эта прога не справиться (даже в случае under reset), то чип в помойку.

exe.. Линукс у меня, "ехе"  нету:acute:

Share this post


Link to post
Share on other sites
2 minutes ago, nanorobot said:

exe.. Линукс у меня

Сочувствую :biggrin:

2 minutes ago, nanorobot said:

, "ехе"  нету:acute:

Ну, аналогичный файл, segger делает сборки своего софта и под линукс

Share this post


Link to post
Share on other sites
16 minutes ago, Forger said:

Если и эта прога не справиться (даже в случае under reset), то чип в помойку.

 так вроде как с заливанием прошивки проблем нет, но сбросить options bytes стоит, верная мысль

23 minutes ago, Arlleex said:

Блокировка - это когда CPU, находясь в обработчике тяжелых отказов, получает еще один больной пинок под зад снова сигнал приводящий к ошибке.

http://infocenter.arm.com/help/topic/com.arm.doc.dui0553b/DUI0553.pdf, стр. 44, п. 2.4.4.

Это не наш случай, инструкции ведь выполняются,  проц то крутится в HF

Share this post


Link to post
Share on other sites

J-Link, J-link... А bootloader по старинке запустить не пробовали?

Share this post


Link to post
Share on other sites
On 12/21/2018 at 2:16 PM, Arlleex said:

Хорошо. Тогда скрин первых слов памяти программ из STLink Utility можно глянуть? Там, где таблица векторов...

И да, почему бы просто не зайти под отладчиком? Сделать сброс и пройтись по шагам в ассемблерном окне?

Кстати да, где скрин? Возможно таблицы векторов просто нет. Было похожее, когда файл startup_stm32* загадочным образом из проекта исчез. В отладке сразу hardfault

Share this post


Link to post
Share on other sites

полагаю автор тупо статикой угробил камень, а теперь ищет "ошибку". Так то можно целым форумом месяц гадать, тут как то было похожее...

 

Edited by twix

Share this post


Link to post
Share on other sites
On 12/21/2018 at 11:58 AM, nanorobot said:

попробовал прошить JLinr-ом. Среди прочих попались такие ругательства
 


Error: Failed to read memory at 0x00200652
Error: stm32f4x.cpu -- clearing lockup after double fault
Polling target stm32f4x.cpu failed, trying to reexamine
Info : stm32f4x.cpu: hardware has 6 breakpoints, 4 watchpoints

 

 

 

0x00200652 - это же RAM? Похоже, проблемы в алгоритме записи во флэш: JLINK грузит сервисную программу (алгоритм) в RAM, с которой общается и заставляет писать во флэш.

Share this post


Link to post
Share on other sites

Нет. RAM это 0x20000000

А вот 0x00200000 - это обычно флеш (отражёный на нулевые адреса). Но всё же чаще пишут в 0x08000000.

Может таки в этом дело?

Edited by AlanDrakes
Опечатки

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now