Iskra Neo: Проблемы с загрузкой скетча

Тема в разделе "Arduino & Shields", создана пользователем Ампералекс, 4 май 2019.

Метки:
  1. Не получалось залить скетч. Сразу после начала завивки, Виндоус начинал менять порты. Понял что это проблема с загрузчиком. С какого-то десятого раза и с нажатием Reset как тут http://wiki.amperka.ru/установка-и-настройка-arduino-ide:arduino-restore-bootloader загрузил нужный скетч. Сейчас при загрузке скетча тоже что-то не так. Перед началом загрузки Arduino IDE само переключает с выбранного в Инструменты> Порт на какой-то другой.
    Код (Text):
    Скетч использует 8730 байт (30%) памяти устройства. Всего доступно 28672 байт.
    Глобальные переменные используют 1906 байт (74%) динамической памяти, оставляя 654 байт для локальных переменных. Максимум: 2560 байт:
    /////
    Перезагрузка платы открытием/закрытием порта COM5 на 1200bps
    PORTS {COM5, } / {COM5, } => {}
    PORTS {COM5, } / {COM5, } => {}
    PORTS {COM5, } / {} => {}
    PORTS {} / {} => {}
    PORTS {} / {COM4, } => {COM4, }
    Found upload port: COM4
    На другой системе - тоже самое:

    Код (Text):
    Global variables use 1906 bytes (74%) of dynamic memory, leaving 654 bytes for local variables. Maximum is 2560 bytes.
    Forcing reset using 1200bps open/close on port /dev/ttyACM0
    PORTS {/dev/ttyACM0, } / {} => {}
    PORTS {} / {/dev/ttyACM0, } => {/dev/ttyACM0, }
    Found upload port: /dev/ttyACM0
    Надо ли ее еще как-то пытаться перепрошить?
     
  2. Daniil

    Daniil Гуру

    Попробуйте когда IDE будет писать "загружаю", нажать и отпустить ресет на плате.
     
  3. Да, так и попробовал. Залилось. Но какая-то проблема с переключениями портов оталась.
    Еще раз повторил с Reset. Ничего не поменялось.
    Вот полный лог компилятора и программатора:
    Код (Text):
    /home/al/Progi/arduino-1.8.8/arduino-builder -dump-prefs -logger=machine -hardware /home/al/Progi/arduino-1.8.8/hardware -hardware /home/al/.arduino15/packages -tools /home/al/Progi/arduino-1.8.8/tools-builder -tools /home/al/Progi/arduino-1.8.8/hardware/tools/avr -tools /home/al/.arduino15/packages -built-in-libraries /home/al/Progi/arduino-1.8.8/libraries -libraries /home/al/Arduino/Projects/libraries -fqbn=arduino:avr:leonardo -vid-pid=0X2341_0X8036 -ide-version=10808 -build-path /tmp/arduino_build_723310 -warnings=all -build-cache /tmp/arduino_cache_613917 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avrdude.path=/home/al/Progi/arduino-1.8.8/hardware/tools/avr -prefs=runtime.tools.avrdude-6.3.0-arduino14.path=/home/al/Progi/arduino-1.8.8/hardware/tools/avr -prefs=runtime.tools.arduinoOTA.path=/home/al/Progi/arduino-1.8.8/hardware/tools/avr -prefs=runtime.tools.arduinoOTA-1.2.1.path=/home/al/Progi/arduino-1.8.8/hardware/tools/avr -prefs=runtime.tools.avr-gcc.path=/home/al/Progi/arduino-1.8.8/hardware/tools/avr -prefs=runtime.tools.avr-gcc-5.4.0-atmel3.6.1-arduino2.path=/home/al/Progi/arduino-1.8.8/hardware/tools/avr -verbose /home/al/Progi/arduino-1.8.8/examples/01.Basics/Blink/Blink.ino
    /home/al/Progi/arduino-1.8.8/arduino-builder -compile -logger=machine -hardware /home/al/Progi/arduino-1.8.8/hardware -hardware /home/al/.arduino15/packages -tools /home/al/Progi/arduino-1.8.8/tools-builder -tools /home/al/Progi/arduino-1.8.8/hardware/tools/avr -tools /home/al/.arduino15/packages -built-in-libraries /home/al/Progi/arduino-1.8.8/libraries -libraries /home/al/Arduino/Projects/libraries -fqbn=arduino:avr:leonardo -vid-pid=0X2341_0X8036 -ide-version=10808 -build-path /tmp/arduino_build_723310 -warnings=all -build-cache /tmp/arduino_cache_613917 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avrdude.path=/home/al/Progi/arduino-1.8.8/hardware/tools/avr -prefs=runtime.tools.avrdude-6.3.0-arduino14.path=/home/al/Progi/arduino-1.8.8/hardware/tools/avr -prefs=runtime.tools.arduinoOTA.path=/home/al/Progi/arduino-1.8.8/hardware/tools/avr -prefs=runtime.tools.arduinoOTA-1.2.1.path=/home/al/Progi/arduino-1.8.8/hardware/tools/avr -prefs=runtime.tools.avr-gcc.path=/home/al/Progi/arduino-1.8.8/hardware/tools/avr -prefs=runtime.tools.avr-gcc-5.4.0-atmel3.6.1-arduino2.path=/home/al/Progi/arduino-1.8.8/hardware/tools/avr -verbose /home/al/Progi/arduino-1.8.8/examples/01.Basics/Blink/Blink.ino
    Using board 'leonardo' from platform in folder: /home/al/Progi/arduino-1.8.8/hardware/arduino/avr
    Using core 'arduino' from platform in folder: /home/al/Progi/arduino-1.8.8/hardware/arduino/avr
    Detecting libraries used...
    /home/al/Progi/arduino-1.8.8/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=atmega32u4 -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 "-DUSB_MANUFACTURER=\"Unknown\"" "-DUSB_PRODUCT=\"Arduino Leonardo\"" -I/home/al/Progi/arduino-1.8.8/hardware/arduino/avr/cores/arduino -I/home/al/Progi/arduino-1.8.8/hardware/arduino/avr/variants/leonardo /tmp/arduino_build_723310/sketch/Blink.ino.cpp -o /dev/null
    Generating function prototypes...
    /home/al/Progi/arduino-1.8.8/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=atmega32u4 -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 "-DUSB_MANUFACTURER=\"Unknown\"" "-DUSB_PRODUCT=\"Arduino Leonardo\"" -I/home/al/Progi/arduino-1.8.8/hardware/arduino/avr/cores/arduino -I/home/al/Progi/arduino-1.8.8/hardware/arduino/avr/variants/leonardo /tmp/arduino_build_723310/sketch/Blink.ino.cpp -o /tmp/arduino_build_723310/preproc/ctags_target_for_gcc_minus_e.cpp
    /home/al/Progi/arduino-1.8.8/tools-builder/ctags/5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives /tmp/arduino_build_723310/preproc/ctags_target_for_gcc_minus_e.cpp
    Compiling sketch...
    /home/al/Progi/arduino-1.8.8/hardware/tools/avr/bin/avr-g++ -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10808 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 "-DUSB_MANUFACTURER=\"Unknown\"" "-DUSB_PRODUCT=\"Arduino Leonardo\"" -I/home/al/Progi/arduino-1.8.8/hardware/arduino/avr/cores/arduino -I/home/al/Progi/arduino-1.8.8/hardware/arduino/avr/variants/leonardo /tmp/arduino_build_723310/sketch/Blink.ino.cpp -o /tmp/arduino_build_723310/sketch/Blink.ino.cpp.o
    Compiling libraries...
    Compiling core...
    Using precompiled core: /tmp/arduino_cache_613917/core/core_arduino_avr_leonardo_b24b2934f7fafff02023ca385a313ae2.a
    Linking everything together...
    /home/al/Progi/arduino-1.8.8/hardware/tools/avr/bin/avr-gcc -Wall -Wextra -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega32u4 -o /tmp/arduino_build_723310/Blink.ino.elf /tmp/arduino_build_723310/sketch/Blink.ino.cpp.o /tmp/arduino_build_723310/../arduino_cache_613917/core/core_arduino_avr_leonardo_b24b2934f7fafff02023ca385a313ae2.a -L/tmp/arduino_build_723310 -lm
    /home/al/Progi/arduino-1.8.8/hardware/tools/avr/bin/avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 /tmp/arduino_build_723310/Blink.ino.elf /tmp/arduino_build_723310/Blink.ino.eep
    /home/al/Progi/arduino-1.8.8/hardware/tools/avr/bin/avr-objcopy -O ihex -R .eeprom /tmp/arduino_build_723310/Blink.ino.elf /tmp/arduino_build_723310/Blink.ino.hex
    /home/al/Progi/arduino-1.8.8/hardware/tools/avr/bin/avr-size -A /tmp/arduino_build_723310/Blink.ino.elf
    Sketch uses 4130 bytes (14%) of program storage space. Maximum is 28672 bytes.
     
  4. Код (Text):
    Global variables use 149 bytes (5%) of dynamic memory, leaving 2411 bytes for local variables. Maximum is 2560 bytes.
    Forcing reset using 1200bps open/close on port /dev/ttyACM0
    PORTS {/dev/ttyACM0, } / {} => {}
    PORTS {} / {} => {}
    PORTS {} / {} => {}
    PORTS {} / {} => {}
    PORTS {} / {/dev/ttyACM0, } => {/dev/ttyACM0, }
    Found upload port: /dev/ttyACM0
    /home/al/Progi/arduino-1.8.8/hardware/tools/avr/bin/avrdude -C/home/al/Progi/arduino-1.8.8/hardware/tools/avr/etc/avrdude.conf -v -patmega32u4 -cavr109 -P/dev/ttyACM0 -b57600 -D -Uflash:w:/tmp/arduino_build_723310/Blink.ino.hex:i

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

             System wide configuration file is "/home/al/Progi/arduino-1.8.8/hardware/tools/avr/etc/avrdude.conf"
             User configuration file is "/home/al/.avrduderc"
             User configuration file does not exist or is not a regular file, skipping

             Using Port                    : /dev/ttyACM0
             Using Programmer              : avr109
             Overriding Baud Rate          : 57600
             AVR Part                      : ATmega32U4
             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    20     4    0 no       1024    4      0  9000  9000 0x00 0x00
               flash         65     6   128    0 yes     32768  128    256  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 : butterfly
             Description     : Atmel AppNote AVR109 Boot Loader

    Connecting to programmer: .
    Found programmer: Id = "CATERIN"; type = S
        Software Version = 1.0; No Hardware Version given.
    Programmer supports auto addr increment.
    Programmer supports buffered memory access with buffersize=128 bytes.

    Programmer supports the following devices:
        Device code: 0x44

    avrdude: devcode selected: 0x44
    avrdude: AVR device initialized and ready to accept instructions

    Reading | ################################################## | 100% 0.00s

    avrdude: Device signature = 0x1e9587 (probably m32u4)
    avrdude: reading input file "/tmp/arduino_build_723310/Blink.ino.hex"
    avrdude: writing flash (4130 bytes):

    Writing | ################################################## | 100% 0.32s

    avrdude: 4130 bytes of flash written
    avrdude: verifying flash memory against /tmp/arduino_build_723310/Blink.ino.hex:
    avrdude: load data flash data from input file /tmp/arduino_build_723310/Blink.ino.hex:
    avrdude: input file /tmp/arduino_build_723310/Blink.ino.hex contains 4130 bytes
    avrdude: reading on-chip flash data:

    Reading | ################################################## | 100% 0.03s

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

    avrdude done.  Thank you.

     
    [/code]
     
  5. Daniil

    Daniil Гуру

    Neo это леонардо. При перезагрузке на, кажется 8 сек, появляется первый порт - он для перепрошивки, потом пропадает и появляется другой - для штатной работы.

    Это нормально)
    при работе со сторонними терминалами нужно ещё дернуть (выставить уровень, не помню какой, но отличный от значения по умолчанию) DTR на пк, иначе передачи на пк не будет. (я дергаю 1 раз при включении, в своих программах)
     
  6. parovoZZ

    parovoZZ Гуру

    Да, он меняет порты. Создатели абдурины не смогли создать два девайса на одном USB устройстве, поэтому таким вот магическим образом работает загрузчик.
     
  7. ИгорьК

    ИгорьК Гуру

    Что ты так мучается то с этой абдуриной? Купи себе нормальную плату и не выноси мозг всему форуму со своей недоделанной железкой.
     
  8. parovoZZ

    parovoZZ Гуру

    Да скоро приедет. Зарплату перечислят и сразу прикуплю)))
     
  9. С платами с этим загрузчиком всегда через одно место. Ничего не поделаешь.
     
  10. parovoZZ

    parovoZZ Гуру

    Кстати, FLIP не ведёт себя так, но теряем одну ногу.
     
  11. Так работает только эта Ленардо. Другие прошиваются без перелючения портов.
    И еще вот обнаружил, что не видны на этой Леонардо сообщения по последовательному порту. Придется ее дальше мучать. Попробую через SPI с другой Ардуины
     
  12. parovoZZ

    parovoZZ Гуру

    другие леонарды делают всё тоже самое. Ничево другова там исчо не придумано. Или ты просто не разобрался и обманываешь нас.
     
  13. Так это только у Леонрды такая особенность?!!! Вот Uno (как все другие что прошивал: Мега и ESP) выбираешь вручную порт в Инструментах и по нему (видимо) все и перепрошивается. Никогда не было такого вот:
    Forcing reset using 1200bps open/close on port /dev/ttyACM0
    PORTS {/dev/ttyACM0, } / {} => {}
    PORTS {} / {/dev/ttyACM0, } => {/dev/ttyACM0, }
    Found upload port: /dev/ttyACM0
    Но сериала все равно нет. Что-то с ней не так.
     
  14. parovoZZ

    parovoZZ Гуру

    И не будет - он появляется только на время прошивки. И он не ком порт.
     
  15. parovoZZ

    parovoZZ Гуру

    Да - у мк usb на борту.
     
  16. Daniil

    Daniil Гуру

     
  17. Нет, а в штатной работе?
    После заливки скетча, Serial Monitor должен работать же?!
     
  18. parovoZZ

    parovoZZ Гуру

    используется фишка - модуль USB интерфейса способен вызвать сброс микроконтроллера, что и происходит. После чего загрузчик загружает микропрограмму для прошивки. После прошивики начинается выполнение программы. Работа
    поддерживается основной программой, а не загрузчиком.
     
    Ампералекс нравится это.
  19. Max_dk

    Max_dk Нерд

    Не загружались скетчи на Neo, точнее после включения ПК загружался скетч один раз. При следующих попытках скетчи не грузились. Похоже что плата не ресетилась, а по кнопке ресет мне момент нажатия отловить не удалось. После перезагрузки ПК скетч опять грузился, повторно уже нет.

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

    Для чайников, "нормальная" - это какая?
     
    ИгорьК нравится это.
  20. ИгорьК

    ИгорьК Гуру

    Любая, не которой не написано "Абдурино".