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

 
 
> Как программно сгенерить ресет?
Karl
сообщение Jul 26 2005, 10:52
Сообщение #1


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

Группа: Свой
Сообщений: 179
Регистрация: 4-02-05
Пользователь №: 2 429



Контроллер мега8535. Свободных выводов нет.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_Pasha
сообщение May 26 2008, 17:02
Сообщение #2


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(zltigo @ May 26 2008, 17:58) *
Это называется возвратисть туда, незнаю куда, но может куда и попадешь.

Нет, это к работающей собаке впридачу. Вот cli() только картину портит не-сишностью.

Цитата(singlskv @ May 26 2008, 19:11) *
Код
__asm__ __volatile__("ldi r30,0\n\t"\
                       "ldi r31,0\n\t"\
                       "ijmp");


Другой вариант, если целый стек smile.gif
Код
__asm__ __volatile__("clr r1\n\t"\
                  "push r1\n\t"\
                 "push r1\n\t"\
                  "ret");


2singlskv: А скажите пожалуйста, __bad_interrupt всегда был jmp 0 ?
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 26 2008, 17:20
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(_Pasha @ May 26 2008, 19:02) *
Нет, это к работающей собаке впридачу. Вот cli() только картину портит не-сишностью.

Картину "портит" возврат фиг знает куда, где и прерывания,между прочим могут снова разрешены, вещи типа __disable_interrupt() уже вполне "сишные" для ембедеров smile.gif.

Еще раз напоминаю, что переход по нулевому адресу не есть Reset - перефирия не в исходном состоянии. Особых альтернатив Watchdog-у в этом отношении нет, а тупое соединение ножки с ресетом (если без ресетчика), вообще делать нельзя ввиду непредсказуемой длительности импульса сброса.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
_Pasha
сообщение May 26 2008, 17:49
Сообщение #4


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(zltigo @ May 26 2008, 21:20) *
Картину "портит" возврат фиг знает куда, где и прерывания,между прочим могут снова разрешены,


Не верю smile.gif

WinAVR-20071221

Код
000002ac <.do_clear_bss_start>:
     2ac:    a9 30           cpi    r26, 0x09; 9
     2ae:    b1 07           cpc    r27, r17
     2b0:    e1 f7           brne    .-8      ; 0x2aa <.do_clear_bss_loop>
     2b2:    0e 94 9f 07     call    0xf3e; 0xf3e <main>
     2b6:    0c 94 28 23     jmp    0x4650; 0x4650 <_exit>

000002ba <__bad_interrupt>:
     2ba:    0c 94 00 00     jmp    0; 0x0 <__vectors>
................................................................................
.....
00004650 <_exit>:
    4650:    ff cf           rjmp    .-2      ; 0x4650 <_exit>




Цитата(aesok @ May 26 2008, 21:21) *
У меня '((void(*)(void))0)();' всегда компилиться


Попробовал - компилится без проблем.
Код
avr-gcc.exe  -mmcu=atmega640 -Wall -gdwarf-2 -std=gnu99           -DF_CPU=16000000UL -O2 -fsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT plc4_v02.o -MF dep/plc4_v02.o.d  -c  ../plc4_v02.c
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 26 2008, 18:22
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(_Pasha @ May 26 2008, 19:49) *
Не верю smile.gif

Что верю-не верю? Зависит о того, как реализовали startup. Я никогда call main не делаю, бо совсем незачем. А оно это надо приключения на свою голову искать причем абсолютно без какой-бы то ни было надобности???

Цитата(singlskv @ May 26 2008, 20:06) *
// останавливаем всю переферию
SysTimerStop();
AdcStop();
SpiStop();
PwmStop();
PortsReset();
I2cStop();

Ну и зачем весь этот лишний код? Зачем помнить, что после модификации-добавления надо еще добавить stop()? Watcdog-и есть везде, зачастую есть возможность спровоцировать Watcdog досрочно.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Karl   Как программно сгенерить ресет?   Jul 26 2005, 10:52
- - MALLOY2   1) можнро через вачдог если он есть 2) а можно ...   Jul 26 2005, 11:27
|- - Rock   Цитата(MALLOY2 @ Jul 26 2005, 15:27) 1) ...   May 21 2008, 13:52
|- - Палыч   Цитата(Rock @ May 21 2008, 16:52) В WinAV...   May 21 2008, 14:20
|- - Сергей Борщ   Цитата(Rock @ May 21 2008, 16:52) В WinA...   May 21 2008, 14:23
|- - IgorKossak   Цитата(Сергей Борщ @ May 21 2008, 17:23) ...   May 21 2008, 19:05
|- - zltigo   Цитата(IgorKossak @ May 21 2008, 21:05) Н...   May 21 2008, 19:27
|- - Rock   Цитата(zltigo @ May 21 2008, 23:27) ((voi...   May 26 2008, 12:10
|- - Сергей Борщ   Цитата(Rock @ May 26 2008, 15:10) А вот ...   May 26 2008, 12:15
|- - Rock   Цитата(Сергей Борщ @ May 26 2008, 16:15) ...   May 26 2008, 12:21
|- - aesok   Цитата(Rock @ May 26 2008, 16:21) 1361: ...   May 26 2008, 17:21
|- - Rock   Цитата(aesok @ May 26 2008, 21:21) Пожалу...   May 26 2008, 17:49
|- - aesok   Цитата(Rock @ May 26 2008, 21:49) WinAVR-...   May 26 2008, 18:01
|- - Rock   Цитата(aesok @ May 26 2008, 22:01) Извини...   May 26 2008, 18:13
|- - aesok   Цитата(Rock @ May 26 2008, 22:13) Код8...   May 26 2008, 18:51
|- - Rock   Цитата(aesok @ May 26 2008, 22:51) avr-gc...   May 26 2008, 19:16
|- - aesok   Цитата(Rock @ May 26 2008, 23:16) уточнит...   May 26 2008, 19:27
|- - singlskv   Цитата(aesok @ May 26 2008, 23:27) Потому...   May 26 2008, 20:26
|- - aesok   Цитата(singlskv @ May 27 2008, 00:26) ну ...   May 26 2008, 21:03
|- - singlskv   Цитата(aesok @ May 27 2008, 01:03) Давайт...   May 26 2008, 21:16
|- - defunct   Цитата(singlskv @ May 27 2008, 00:16) а 1...   May 26 2008, 21:36
|- - singlskv   Цитата(defunct @ May 27 2008, 01:36) пино...   May 26 2008, 21:51
- - nml   Цитата(Karl @ Jul 26 2005, 13:52)Контроллер м...   Jul 26 2005, 11:34
|- - Karl   Цитата(nml @ Jul 26 2005, 16:34)Цитата(Karl ...   Jul 27 2005, 03:22
- - lolikandr   В своё время удовлетворился таким решением - глоба...   Jul 28 2005, 06:18
|- - IgorKossak   Цитата(lolikandr @ Jul 28 2005, 09:18)В своё ...   Jul 29 2005, 07:04
- - lolikandr   ЦитатаНаверное, под важными регистрами имелась в в...   Jul 29 2005, 13:26
- - MrYuran   Ещё один способ: пишем ручками стартап со всеми не...   May 21 2008, 14:04
- - kada   Работающий пример на IARe: Код// Программный сбро...   May 21 2008, 16:39
- - Палыч   А, не выдаёт ли транслятор какого-либо сообщения п...   May 26 2008, 12:47
|- - Rock   Цитата(Палыч @ May 26 2008, 16:47) А, не ...   May 26 2008, 12:51
|- - VladimirYU   Цитата(Палыч @ May 26 2008, 16:47) АА, не...   May 26 2008, 12:52
- - Палыч   Цитата(Rock @ May 26 2008, 15:51) нет...   May 26 2008, 12:57
|- - Rock   Цитата(Палыч @ May 26 2008, 16:57) Странн...   May 26 2008, 13:05
- - _Pasha   Есть еще Кодint main(void) { ................   May 26 2008, 13:16
|- - Rock   Цитата(_Pasha @ May 26 2008, 17:16) Есть ...   May 26 2008, 13:45
|- - zltigo   Цитата(_Pasha @ May 26 2008, 15:16) Есть ...   May 26 2008, 13:58
|- - Rock   Цитата(zltigo @ May 26 2008, 17:58) Это н...   May 26 2008, 14:02
- - Палыч   Сейчас попробовал эту конструкцию в WinAVR - всё х...   May 26 2008, 13:50
|- - Rock   Цитата(Палыч @ May 26 2008, 17:50) Сейчас...   May 26 2008, 13:52
|- - Палыч   Цитата(Rock @ May 26 2008, 16:52) какую? ...   May 26 2008, 14:19
- - singlskv   Щаз я Вам все объясню Дело в том что у WinAVR ес...   May 26 2008, 15:11
|- - zltigo   Цитата(singlskv @ May 26 2008, 17:11) Дел...   May 26 2008, 15:51
|- - defunct   Цитата(singlskv @ May 26 2008, 18:11) ито...   May 26 2008, 16:03
|- - Палыч   А, ведь точно - прав singlskv! Цитата(defunct...   May 26 2008, 16:14
||- - defunct   Цитата(Палыч @ May 26 2008, 19:14) Наверн...   May 26 2008, 16:17
|- - singlskv   Цитата(defunct @ May 26 2008, 20:03) А по...   May 26 2008, 16:23
- - singlskv   Да, ну и конечно стоит еще добавить вариант которы...   May 26 2008, 16:00
|||- - singlskv   Цитата(zltigo @ May 26 2008, 22:22) Ну и ...   May 26 2008, 18:36
||- - singlskv   Цитата(zltigo @ May 26 2008, 21:20) вещи ...   May 26 2008, 18:06
||- - aesok   Цитата(singlskv @ May 26 2008, 22:06) А 2...   May 26 2008, 18:11
|- - singlskv   Цитата(_Pasha @ May 26 2008, 21:02) 2sing...   May 26 2008, 19:14
- - _Pasha   Цитата(singlskv @ May 26 2008, 23:14) НО,...   May 27 2008, 03:45
- - singlskv   По мотивам этой темы озадачился вопросом кодогенер...   May 27 2008, 18:57


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

 


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


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