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

 
 
> Программный рестарт MSP430F5438A, не работает, зараза. А на F2618 "прокатывало"
k155la3
сообщение Dec 29 2016, 07:45
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Как правильно сделать программный рестарт в MSP430F5438A ?
(IAR, MODEL == LARGE)

То, что работало на F2618, не прокатывает:
Код
void SystemReStart()
{
        __disable_interrupt();
    asm ("push &0xfffe");
    asm ("ret");        
};

Код этой функции размещен в "за-64К" области.

Насколько удается посмотреть на отладчике, после этой процедуры идет влет в пустую область памяти 0xFF.

Изменил на asm для 20-битного адреса (pushx.a, reta) - "рояль не заиграл".

Ресет успешно выполняется способами
- старта WDT
- "подсовывания" перехода на команду, находящуюся не в программной памяти а в области адресов регистров (fetch)

(?) что может быть не так с "прямым" вызовом push+ret ?

Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 30th June 2025 - 20:50
Рейтинг@Mail.ru


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