-
- В итоге получилась завязка на стартовое нуление ОЗУ, только в 256 меге, в 128 такого не проявляется #ifdef __IOM128_H unsigned char *ptr = (unsigned char*) 0x1100;#else unsigned char *ptr = (unsigned char*) 0x2200;#endif while(ptr - Andrey256(03.09.2012 10:26, )
- повторяю код Andrey256(247 знак., 03.09.2012 10:35)
- откуда там адреса 2200 и тем более ffff? Там же 8 Кб памяти это 0x2000? - maik-vs(03.09.2012 13:54)
- Подключена внешняя память 64Кб. Andrey256(258 знак., 03.09.2012 15:28)
- откуда там адреса 2200 и тем более ffff? Там же 8 Кб памяти это 0x2000? - maik-vs(03.09.2012 13:54)
- повторяю код Andrey256(247 знак., 03.09.2012 10:35)
- Как гипотеза - WDT не включился. Попробовать поставить фуз WDTON - Юра(29.08.2012 22:44, )
- Проверил тот же софт на 128 меге, WDT срабатывает. - Andrey256(29.08.2012 17:16, )
- Значит, она сбрасывает собаку в том цикле, в котором зависает. maik-vs(265 знак., 29.08.2012 15:52)
- Сейчас, функция резетит wdt только если программа заходила в прерывания и основной цикл. При сбое ОЗУ в programm counter может попасть код, где wdt вообще выключается? Т.е. можно защитить выключение и сброс wdt набором флажков и заработает? Andrey256(11 знак., 29.08.2012 16:30, )
- Смотря что хранится в ОЗУ. Если стек программы то да, программный счётчик может получить любое значение. maik-vs(642 знак., 30.08.2012 12:45)
- Сейчас, функция резетит wdt только если программа заходила в прерывания и основной цикл. При сбое ОЗУ в programm counter может попасть код, где wdt вообще выключается? Т.е. можно защитить выключение и сброс wdt набором флажков и заработает? Andrey256(11 знак., 29.08.2012 16:30, )
- Питание не просаживается? Попадалась с мегами лажа в несколько ином виде - из-за замыкания на плате при 1 на одном из выходов подсаживалось питание, мега затыкалась, но не сбрасывалась. Так 1 на выходе и держала. ПС. Ватчдоги и тдт итп все как 1111111(19 знак., 29.08.2012 15:35)
- просаживается с 4,8V до ~4,7V - Andrey256(29.08.2012 16:42, )
- Напомнило об анекдоте про таракана, который слышит ногами. :) - mazur(29.08.2012 15:11)
- В итоге получилась завязка на стартовое нуление ОЗУ, только в 256 меге, в 128 такого не проявляется #ifdef __IOM128_H unsigned char *ptr = (unsigned char*) 0x1100;#else unsigned char *ptr = (unsigned char*) 0x2200;#endif while(ptr - Andrey256(03.09.2012 10:26, )