реклама на сайте
подробности

 
 
> software reset stm32
123kill12
сообщение Oct 31 2011, 11:21
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 96
Регистрация: 12-05-10
Пользователь №: 57 217



Странно у меня работает программная перезагрузка. IWDT работает как надо. и даже когда делал WWDT тоже. но вот программная перезагрузка работает коряво.

сработает при первом запуске, перезагрузит и все. больше не срабатывает. может нужно какой то флаг сбросить. флаги в RCC->CSR (control status reg) я сбрасываю.

сброс генерирую так.
SCB->AIRCR|=0x05FA<<16 | SCB_AIRCR_SYSRESETREQ;

может нужно что то еще????
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
123kill12
сообщение Nov 1 2011, 07:18
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 96
Регистрация: 12-05-10
Пользователь №: 57 217



SCB->AIRCR = ((0x5FA << 16)|(SCB->AIRCR&(0x07 << 8))|(1 << 2)); /* Keep priority group unchanged */
asm ("dsb"); /* Ensure completion of memory access */
while(1); /* wait until reset */

так сделал но теперь программатор выдает такой перл
Прикрепленное изображение


и после него контроллер вообще лажает. нечего не делает.
но у меня
vector table
.invec start 0x08000000
memory rerions
ROM start:0x08000000 end:0x0807FFFF
RAM start:0x20000000 end:0x2000FFFF
Stack/heap sizes
cstack 0x400
heap 0x200

Сообщение отредактировал 123kill12 - Nov 1 2011, 07:21
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 11:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01366 секунд с 7
ELECTRONIX ©2004-2016