Всегда ли WDT перезагружает контроллер.

b707
Offline
Зарегистрирован: 26.05.2017

rkit пишет:

Читай про пробелмы с загрузчиком

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

толстый
Offline
Зарегистрирован: 10.02.2020

b707 пишет:

rkit пишет:

Читай про пробелмы с загрузчиком

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

 

"читал, много думал"(с)

Изучаю проблему уже в течении года с перерывами. В русскоязычном инете именно проблемы старта не обнаружено. А срабатывает он стабильно, запускается потом не всегда :) Как раз год назад даже оптибут "смейкал"(итить его душу этот линукс) т.к. в стандарте под 2560 его нет. И там, если не ошибаюсь, ещё веселее стало - добавилась зависимость от напряжения :О

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Сотри загрузчик и зашей код без него - узнаешь он ли виноват или нет.

толстый
Offline
Зарегистрирован: 10.02.2020

Когда то пробовал. По-моему программа вообще не стартовала изначально. Попробую ещё раз.

Green
Offline
Зарегистрирован: 01.10.2015

Смотреть нужно на то, чем сброс по WDT отличается от хардового. И/или софтового.
Думаю, ни чем, не считая флагов в регистре.

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

дык WDT может же просто прерывания генерировать без перезагрузки.
Или я не понял и вопрошающему что то другое нужно?
 

толстый
Offline
Зарегистрирован: 10.02.2020

"Мкей"(с).  В приведённом примере(в первом моём сообщении) что генерируется? 

толстый
Offline
Зарегистрирован: 10.02.2020

BOOM пишет:

Сотри загрузчик и зашей код без него - узнаешь он ли виноват или нет.

Шил с IDE  через USBASP. Скомпилировалось, залилось , проверялось и тадам


Reading | #################################################Произошла ошибка при загрузке скетча
# | 100% 135.26s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
         0x08 != 0x0c
avrdude: verification error; content mismatch

avrdude done.  Thank you.

Ессесьно не стартует, загрузчик - затерся.

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

А у тебя MegaCore то вообще стоит? ( https://mcudude.github.io/MegaCore/package_MCUdude_MegaCore_index.json )

 

толстый
Offline
Зарегистрирован: 10.02.2020

Только то, что в стандартном зипе.

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Ну так поставь, компилировать нужно без загрузчика.

толстый
Offline
Зарегистрирован: 10.02.2020

Спасибо, попробую. Но это не решение проблемы, а костыль всё же. Да и фюзы останутся родными.

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Это не костыль - а понять в чем причина. Если в загрузчике - будешь уже им заниматься. А если ничего не изменится - значит что-то не то в коде.

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

толстый пишет:

Да и фюзы останутся родными.

Как выставишь все настройки один раз через программатор нажми "Записать загрузчик" - вместе с ним и фьюзы нужные запишутся. Потом можно смело тереть загрузчик и загружать бинарник.

толстый
Offline
Зарегистрирован: 10.02.2020

Потому и уточнил. Пробую.

толстый
Offline
Зарегистрирован: 10.02.2020

Прошил загрузчик, убедился в работоспособности залив блинк через USB.

И полная копия #58 http://arduino.ru/forum/apparatnye-voprosy/vsegda-li-wdt-perezagruzhaet-kontroller?page=1#comment-651916

толстый
Offline
Зарегистрирован: 10.02.2020

:О Сейчас залил блинк через USBASP. Залилось, проверилось без ошибок, НО НЕРАБОТАЕТ.  Это всё еще на  MegaCore.  А вот на родных помницца мне заливалось и фунциклировало. Правда непомню через что шил, т.к. была и дудка с графической оболочкой, и кодевижнавр и атмел студия с самодельным avrisp mk2.

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Дичь какая-то, все должно работать. Ты загружаешь код с выставленными как в #61 настройками?

толстый
Offline
Зарегистрирован: 10.02.2020

Ещё какая :)

Почти, всё же программатор надо установить USBASP.

Гружу по пути: Скетч > загрузить через программатор.   

 IDE - портабля(не установочная)

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

может просто мега дохлая, у меня была такая надавишь на кристалл - работает, отпустил, иногда работает, иногда нет, все ноги пропаяны, в самом кристалле глюк

толстый
Offline
Зарегистрирован: 10.02.2020

Нет, проверено на разных мегах, глюк повторяется.

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Что то ты делаешь не так, не может быть чтобы у, если не миллионов, но тысяч людей все работало без загрузчика, а у тебя нет. Я вообще с этим не сталкивался. Правда и от помигать встроенным диодом до шить без загрузчика у меня 3 года ушло, неспешно, по выходным иногда (2-3 часа в день) и иногда в будни (примерно так же). В сумме может быть 2-3 месяца по 8 часов, и то не факт. 
Что-то ты делаешь не так. Как давно этим занимаешься?

толстый
Offline
Зарегистрирован: 10.02.2020

Прикол в том, что типа шьётся, проверяется, а в конце выдаёт "Ой, всё"(с) Можно было грешить на IDE или программатор, но загрузчик то из неё и через него шьётся. 

 Время тут не показатель, тут важнее "нтелехт"(с) и необходимость Первый проект на CodeVisionAVR датирован десятым годом(поморгать диодиком, обработать кнопку, вывести "hello world" . Остальные не сильно сложнее.  С ардуиной столкнулся года четыре назад и забил на голые камни(библиотеки наше ВСЁ)  

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Никто и не говорил отказываться от библиотек. И на асм переходить тем более. Приведи вывод «Ой все», включи полный вывод в настройках.

толстый
Offline
Зарегистрирован: 10.02.2020

Воть, уже дважды приводил. http://arduino.ru/forum/apparatnye-voprosy/vsegda-li-wdt-perezagruzhaet-kontroller?page=1#comment-651916

Сейчас прошил блинк через USBASP уну и... РАБОТАЕТ. Беда похоже настройках ИДЕ для МЕГИ.

толстый
Offline
Зарегистрирован: 10.02.2020

Вернул оригинальный загрузчик в МЕГУ. Залил блинк через USBASP и... проверка прошла но НЕ МОРГАИТЬ.

C:\arduino-1.8.12\arduino-builder -dump-prefs -logger=machine -hardware C:\arduino-1.8.12\hardware -hardware C:\Users\Bar\AppData\Local\Arduino15\packages -tools C:\arduino-1.8.12\tools-builder -tools C:\arduino-1.8.12\hardware\tools\avr -tools C:\Users\Bar\AppData\Local\Arduino15\packages -built-in-libraries C:\arduino-1.8.12\libraries -libraries C:\Users\Bar\Documents\Arduino\libraries -fqbn=arduino:avr:mega:cpu=atmega2560 -ide-version=10812 -build-path C:\Users\Bar\AppData\Local\Temp\arduino_build_825418 -warnings=default -build-cache C:\Users\Bar\AppData\Local\Temp\arduino_cache_232857 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\arduino-1.8.12\hardware\tools\avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino5.path=C:\arduino-1.8.12\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\arduino-1.8.12\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\arduino-1.8.12\hardware\tools\avr -prefs=runtime.tools.arduinoOTA.path=C:\Users\Bar\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Users\Bar\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -verbose C:\arduino-1.8.12\examples\01.Basics\Blink\Blink.ino
C:\arduino-1.8.12\arduino-builder -compile -logger=machine -hardware C:\arduino-1.8.12\hardware -hardware C:\Users\Bar\AppData\Local\Arduino15\packages -tools C:\arduino-1.8.12\tools-builder -tools C:\arduino-1.8.12\hardware\tools\avr -tools C:\Users\Bar\AppData\Local\Arduino15\packages -built-in-libraries C:\arduino-1.8.12\libraries -libraries C:\Users\Bar\Documents\Arduino\libraries -fqbn=arduino:avr:mega:cpu=atmega2560 -ide-version=10812 -build-path C:\Users\Bar\AppData\Local\Temp\arduino_build_825418 -warnings=default -build-cache C:\Users\Bar\AppData\Local\Temp\arduino_cache_232857 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\arduino-1.8.12\hardware\tools\avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino5.path=C:\arduino-1.8.12\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\arduino-1.8.12\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\arduino-1.8.12\hardware\tools\avr -prefs=runtime.tools.arduinoOTA.path=C:\Users\Bar\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Users\Bar\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -verbose C:\arduino-1.8.12\examples\01.Basics\Blink\Blink.ino
Using board 'mega' from platform in folder: C:\arduino-1.8.12\hardware\arduino\avr
Using core 'arduino' from platform in folder: C:\arduino-1.8.12\hardware\arduino\avr
Detecting libraries used...
"C:\\arduino-1.8.12\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10812 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\\arduino-1.8.12\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\arduino-1.8.12\\hardware\\arduino\\avr\\variants\\mega" "C:\\Users\\Bar\\AppData\\Local\\Temp\\arduino_build_825418\\sketch\\Blink.ino.cpp" -o nul
Generating function prototypes...
"C:\\arduino-1.8.12\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10812 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\\arduino-1.8.12\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\arduino-1.8.12\\hardware\\arduino\\avr\\variants\\mega" "C:\\Users\\Bar\\AppData\\Local\\Temp\\arduino_build_825418\\sketch\\Blink.ino.cpp" -o "C:\\Users\\Bar\\AppData\\Local\\Temp\\arduino_build_825418\\preproc\\ctags_target_for_gcc_minus_e.cpp"
"C:\\arduino-1.8.12\\tools-builder\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\Bar\\AppData\\Local\\Temp\\arduino_build_825418\\preproc\\ctags_target_for_gcc_minus_e.cpp"
Компиляция скетча...
"C:\\arduino-1.8.12\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10812 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\\arduino-1.8.12\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\arduino-1.8.12\\hardware\\arduino\\avr\\variants\\mega" "C:\\Users\\Bar\\AppData\\Local\\Temp\\arduino_build_825418\\sketch\\Blink.ino.cpp" -o "C:\\Users\\Bar\\AppData\\Local\\Temp\\arduino_build_825418\\sketch\\Blink.ino.cpp.o"
Compiling libraries...
Compiling core...
Using precompiled core: C:\Users\Bar\AppData\Local\Temp\arduino_cache_232857\core\core_arduino_avr_mega_cpu_atmega2560_5c993afd736b5a0121375850753f3d54.a
Linking everything together...
"C:\\arduino-1.8.12\\hardware\\tools\\avr/bin/avr-gcc" -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections,--relax -mmcu=atmega2560 -o "C:\\Users\\Bar\\AppData\\Local\\Temp\\arduino_build_825418/Blink.ino.elf" "C:\\Users\\Bar\\AppData\\Local\\Temp\\arduino_build_825418\\sketch\\Blink.ino.cpp.o" "C:\\Users\\Bar\\AppData\\Local\\Temp\\arduino_build_825418/..\\arduino_cache_232857\\core\\core_arduino_avr_mega_cpu_atmega2560_5c993afd736b5a0121375850753f3d54.a" "-LC:\\Users\\Bar\\AppData\\Local\\Temp\\arduino_build_825418" -lm
"C:\\arduino-1.8.12\\hardware\\tools\\avr/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 "C:\\Users\\Bar\\AppData\\Local\\Temp\\arduino_build_825418/Blink.ino.elf" "C:\\Users\\Bar\\AppData\\Local\\Temp\\arduino_build_825418/Blink.ino.eep"
"C:\\arduino-1.8.12\\hardware\\tools\\avr/bin/avr-objcopy" -O ihex -R .eeprom "C:\\Users\\Bar\\AppData\\Local\\Temp\\arduino_build_825418/Blink.ino.elf" "C:\\Users\\Bar\\AppData\\Local\\Temp\\arduino_build_825418/Blink.ino.hex"
"C:\\arduino-1.8.12\\hardware\\tools\\avr/bin/avr-size" -A "C:\\Users\\Bar\\AppData\\Local\\Temp\\arduino_build_825418/Blink.ino.elf"
Скетч использует 1448 байт (0%) памяти устройства. Всего доступно 253952 байт.
Глобальные переменные используют 9 байт (0%) динамической памяти, оставляя 8183 байт для локальных переменных. Максимум: 8192 байт.
C:\arduino-1.8.12\hardware\tools\avr/bin/avrdude -CC:\arduino-1.8.12\hardware\tools\avr/etc/avrdude.conf -v -patmega2560 -cusbasp -Pusb -Uflash:w:C:\Users\Bar\AppData\Local\Temp\arduino_build_825418/Blink.ino.hex:i 

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\arduino-1.8.12\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : usb
         Using Programmer              : usbasp
         AVR Part                      : ATmega2560
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    10     8    0 no       4096    8      0  9000  9000 0x00 0x00
           flash         65    10   256    0 yes    262144  256   1024  4500  4500 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9801 (probably m2560)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: reading input file "C:\Users\Bar\AppData\Local\Temp\arduino_build_825418/Blink.ino.hex"
avrdude: writing flash (1448 bytes):

Writing | ################################################## | 100% 0.90s

avrdude: 1448 bytes of flash written
avrdude: verifying flash memory against C:\Users\Bar\AppData\Local\Temp\arduino_build_825418/Blink.ino.hex:
avrdude: load data flash data from input file C:\Users\Bar\AppData\Local\Temp\arduino_build_825418/Blink.ino.hex:
avrdude: input file C:\Users\Bar\AppData\Local\Temp\arduino_build_825418/Blink.ino.hex contains 1448 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.86s

avrdude: verifying ...
avrdude: 1448 bytes of flash verified

avrdude done.  Thank you.

 

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Настрой через чувака фьюзы, там по сути только тактирование важно, остальное можно оставить по умолчанию. Скомпилируй прошивку по скрину выше (ту же тактовую с того же источника (внешний/внутренний) указывай), и загрузи через чувака .hex

ЗЫ: долго писал, ты уже ответил. Похоже что-то с камнем.

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

Думаю проблема в том что в 2560 несколько страниц flash и JMP 0x0000 срабатывает только внутри страницы и если она не нулевая, то выполняется не тот код.

Какая именно плата или "голый" чип? Почему никто не попросил считать фьюзы ??? 

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

del

толстый
Offline
Зарегистрирован: 10.02.2020
To Komandir: Плата - готовая Arduino Mega2560 и, соответственно, фюзы от загрузчика родной IDE 1.8.12 т.е. "как у всех"(с) 
По поводу 4-х страниц - круто! Знать бы теперь как решить. Я ведь эту дебильную теорию о влиянии размера на перезагрузку не из пальца высосал. начинал ещё с 1.8.5 и в какой-то момент решил добавить собаку, а то чё мы как ламмеры:) Заработало, ну и славненько. Код со временем увеличивался  и в один прекрасный момент решил проверить собаку, а она того - сдохла. Помыкался, помучался, даже перешёл а оптибут(там-то  и было самое интересное - нестабильность срабатывания, то работает то нет на одной и той-же заливке) что подтверждает о неправильном старте. В итоге забил, вернулся на родной загрузчик и продолжил множить говнокод. В какой- то не менее прекрасный момент проверил собака - а она "сабака страшная"(с) - РАБОТАЕТ!!! И это притом, что старые куски, при котором она не стартовала, остались в коде. И так было несколько раз.
Т.к. "добить скотину"(с) всё-же хочется, а идеи и сведения из интернета уже кончились - решил поспрашивать здесь. 
толстый
Offline
Зарегистрирован: 10.02.2020
To Boom: Хоть и отошли от главного вопроса, можно и эту "скотину добить". Всё же похоже на глюки компилятора именно для
меги(получается, что и миллионы и тысячи ни чего не доказывают :)
Подробности: восстановил родные фюзы через IDE, сделал хексы блинка, залил через дудку хехс без загрузчика - не работает(постоянно горит светодиод). Залил хекс с загрузчиком - видно что загрузчик отрабатывает, но программа не стартует (пара морганий, затем постоянное горение) А вот теперь самое интересное - подключаем плату к USB и заливаем скетч стандартным способом  - РАБОТАЕТ. Т.е.  загрузчик через SPI залился и работает, а программа залилась, но хрен там плавал
Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

Хотелось бы увидеть фьюзы при залитом и неработающем hex блинка. Т.е. заливаем hex, проверяем что не работает, считываем фьюзы.

толстый
Offline
Зарегистрирован: 10.02.2020

 

 

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

С такими фьюзами первым стартует загрузчик. Поменяйте HIGH на D9 - что бы первым стартовал скетч.

толстый
Offline
Зарегистрирован: 10.02.2020

Удалил. То были фюзы после после хекса с загрузчиком(но ведь не должно быть разницы, правда?(мем с падмой) 

Это после залитого хекса без загрузчика

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

Ничего не поменялось ! Пока D8 на D9 не поменяете - первым будет стартовать загрузчик !

толстый
Offline
Зарегистрирован: 10.02.2020

Поставил на bootrst, залил фюзы, перезапустил - не стартует. Повторно залил хекс - заблинкало. Круто.

А это как-то поможет в решении основного вопроса, т.к. шить через сторонние программы и менять фюзы обычный пользователь не будет(раньше спалит всё к чертям:)

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

Я бы залил внешним программатором HEX нужного мне загрузчика и также выставил верные фьюзы. Если в IDE просто заливать скетчи через загрузчик - фьюзы меняться не должны и скетч не должен затирать загрузчик. Что там и как IDE прописывает при заливке загрузчика - зависит много от чего !!!

(это если вообще нужен загрузчик)

А если не нужен (1-8 килобайт на дороге не валяются), то выставить D9 FF FD и лить скетчи внешним программатором не трогая больше фьюзы.

(в таком режиме как WDT себя ведет на вашем МЕГАскетче ???)

толстый
Offline
Зарегистрирован: 10.02.2020

:О  Про незатирание фюзов при заливке через UART это понятно, а вот вариантность заливки загрузчика из стандартного набора плат это как? Фюзы же жестко прописаны в файлах настройки, вариативности выбора во внешней среде практически нет(ну, разве что, выбор старого загрузцика для наны и 168 ядра).

И кстати задолбался перекидывать дрова на USBASP задигом на десятой винде. Под ардуино ИДЕ свой, под дудку свой. Может есть способ проще?  Avrisp mk2 самолепный раньше ни с дудкой ни с ардуиной ИДЕ не работал, сейчай пока не пробовал.

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

Arduino IDE все манипуляции делает запуская консольную avrdude с разными текстовыми параметрами. Я графическими утилитами не пользуюсь обычно. Видимо сама avrdude разных версий.

Как с D9  FF FD себя ведет WDR в вашем скетче ?

толстый
Offline
Зарегистрирован: 10.02.2020

Никак. Через дудку льётся, но не проходит верификацию(ругается на лок биты, хотя они "типа" такие же как в заводском голом чипе. А через UART вообще не шьётся. Загрузчик вроде залил через хекс с загрузчиком(масло, блин масляное), ресет пытался поймать - ничего. Бум разбираться.

В подтверждение дебильной теории - размер = глюк с перезагрузкой, вчера провел эксперимент. В скетче, гарантированно не перезапускающийся при срабатывании собаки, сделал следующее: В одном из меню программы, которые закопаны глубоко и в обычной работе не участвуют, закоментил кучу надписей(т.е. ни на что не влияющая хрень вроде) Скетч из чуть больше 240кБ стал чуть меньше. И вуаля - вачдог перезапускает.

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

Может старая дудка не умеет правильно 2560 прошивать ???

Делаем Erase chip в AVRDUDE

Выставляем D9 FF FD в AVRDUDE

Прошиваем скетч в IDE через внешний программатор

(у меня нет под рукой физической 2560 для попробовать ...)

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Komandir пишет:

Думаю проблема в том что в 2560 несколько страниц flash и JMP 0x0000 срабатывает только внутри страницы и если она не нулевая, то выполняется не тот код.

Какая именно плата или "голый" чип? Почему никто не попросил считать фьюзы ??? 

интересная мысль! WDT обязан уметь выбирать страницу 0 в таком случае...

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

Я сейчас почитал ... JMP может 4М адресовать. Так что тут что то другое скорее всего.

толстый
Offline
Зарегистрирован: 10.02.2020

Komandir пишет:

Может старая дудка не умеет правильно 2560 прошивать ???

Делаем Erase chip в AVRDUDE

Выставляем D9 FF FD в AVRDUDE

Прошиваем скетч в IDE через внешний программатор

(у меня нет под рукой физической 2560 для попробовать ...)

Блинк шьётся и работает, моё шьётся, но не проходит проверку как и в #58

Снова залил родной загрузчик, D9(отличия только в установленых локах11 и 12) и...  Блинк шьётся и работает, моё шьётся, не проходит проверку. 

Попробую позже оживить avrisp mk2 и закинуть через студию и/или кодевижон. 

Но, в любом случае, сдаётся мне что не там "собака порылась". О, каламбур про вачдог:)

 

sadman41
Offline
Зарегистрирован: 19.10.2016

У меня как-то было такое - Mega с прошивкой >64k периодически не шилась через IDE.

толстый
Offline
Зарегистрирован: 10.02.2020

Вооть. Чуется, что чудит компилятор со встроенной дудкой.

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

А если LOCK биты оставить в покое (по дефолту) ?

 

У вас в логе есть:

C:\arduino-1.8.12\hardware\tools\avr/bin/avrdude -CC:\arduino-1.8.12\hardware\tools\avr/etc/avrdude.conf -v -patmega2560 -cusbasp -Pusb -Uflash:w:C:\Users\Bar\AppData\Local\Temp\arduino_build_825418/Blink.ino.hex:i

Это IDE вызывает консольную avrdude.

C:\arduino-1.8.12\hardware\tools\avr/bin/avrdude -CC:\arduino-1.8.12\hardware\tools\avr/etc/avrdude.conf -v -patmega2560 -cusbasp -Pusb   не меняем это все что касается программатора и платы.

А дальше можем использовать ключи и делать ВСЁ ЧТО УГОДНО.

толстый
Offline
Зарегистрирован: 10.02.2020

"А что есть истина"(с)  :)   дефолтные заводского чипа или дефолтные загрузчика Arduino IDE? 

В любом случае, через дудку блинк шьётся и с установленными галками на 11 и 12 и без. А моё вот http://arduino.ru/forum/apparatnye-voprosy/vsegda-li-wdt-perezagruzhaet-kontroller?page=1#comment-652019

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Komandir пишет:

Я сейчас почитал ... JMP может 4М адресовать. Так что тут что то другое скорее всего.

шина адреса 22-х битная?