Проблема при загрузке скетча на Mega2560

Тема в разделе "Arduino & Shields", создана пользователем sandrokes, 5 дек 2017.

  1. sandrokes

    sandrokes Нерд

    Доброго времени суток!
    У меня возникла проблема при загрузке скетчей на Arduino Mega2560, всё работало нормально при очередной загрузке IDE выдал что возникла ошибка верификации.

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

    После нескольких неудачных попыток загрузить скетчи из примеров (Blink, ... ) стало появляться сообщение

    выбранный последовательный порт
    не существует или плата не подключена к нему

    Хотя IDE видит и порт и плату, получает с неё данные (серийный номер и тд).
     
  2. sandrokes

    sandrokes Нерд

    Для меня главное разораться в каком контроллере проблема (ATMega16 or ATMega2560). судя по тому что скетч залитый (до возникновения проблемы) работает проблема в ATMega16. В подробностях загрузки наткнулся на строки "

    Using Port : COM9
    Using Programmer : wiring
    Overriding Baud Rate : 115200
    AVR Part : ATmega2560
    "
    попробовал выставить эту скорость для порта на ПК - эффекта нету
     
  3. AlexU

    AlexU Гуру

    Судя по тому, что
    Проблема точно не в ATmega16, а в ATmega2560.
    Ошибка вида
    Говорит о том, что есть проблемы с программированием памяти микроконтроллера ATmega2560. Память не перепрошивается по каким-то причинам -- поэтому работает старая прошивка.
     
    NikitOS нравится это.
  4. sandrokes

    sandrokes Нерд

    То есть надо перепрошить Mega2560?
    Под рукой есть рабочая Nano как из неё сделать программатор в сети описано но где взять прошивку для Mega2560, в сети есть несколько ссылок но доверия они не вызывают.
     
  5. DetSimen

    DetSimen Guest

    Б-ть. я же тебе написал, скорость порта попробуй снизить, для начала.
     
  6. AlexU

    AlexU Гуру

    Есть подозрение, что и с отдельным программатором Вы получите такую же ошибку, о которой сообщили в первом сообщении
    Нормальная ссылка для Arduino (заводские прошивки, бутлоадеры и т.п.) -- https://github.com/arduino/Arduino
    Не поможет.
     
  7. sandrokes

    sandrokes Нерд

    Скорость менять пробовал - действительно не помогло.
     
  8. DetSimen

    DetSimen Guest

    сделай расширенный вывод из avrdude и посмотри параметр override speed.
     
  9. sandrokes

    sandrokes Нерд

    Если внешний программатор не поможет, какие возможны действия?
     
  10. sandrokes

    sandrokes Нерд

    avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
    Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
    Copyright (c) 2007-2014 Joerg Wunsch

    System wide configuration file is "C:\...\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf"

    Using Port : COM9
    Using Programmer : wiring
    Overriding Baud Rate : 115200
    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 : Wiring
    Description : Wiring
    Programmer Model: AVRISP
    Hardware Version: 15
    Firmware Version Master : 2.10
    Vtarget : 0.0 V
    SCK period : 0.1 us

    avrdude: AVR device initialized and ready to accept instructions

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

    avrdude: Device signature = 0x1e9801 (probably m2560)
    avrdude: reading input file "C:\Users\Sandrik\AppData\Local\Temp\arduino_build_919922/Blink.ino.hex"
    avrdude: writing flash (1462 bytes):

    Writing | ################################################## | 100% 0.24s

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

    Reading | ################################################## | 100% 0.20s

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

    avrdude done. Thank you.

    выбранный последовательный порт
    не существует или плата не подключена к нему
     
  11. DetSimen

    DetSimen Guest

    вот это ни какие мысли не наводит?
     
  12. sandrokes

    sandrokes Нерд

    Наводит, пробовал - эффекта нету
     
  13. AlexU

    AlexU Гуру

    Что Вы к скорости прицепились? Она правильная, т.к. с мк устанавливается связь, мк переводится в режим программирования, с мк считывается служебная информация (сигнатура), мк прошивается. А вот при проверке корректности прошивки выясняется, что прошивка в мк не та, что прошивали.
    Проблема может быть:
    1. не производится стирание памяти мк перед заливкой новой прошивки (память в ATmega'х, да и не только в них, устроена так, что перед заливкой новой прошивки нужно сначала стереть старую);
    2. закончился лимит на перепрграммирование памяти мк, либо мк бракованный -- пару раз прошился, а потом сказал "всё, хватит меня шить"....
    В первом случае надо смотреть с какими параметрами вызывается avrdude. Во втором случае менять микроконтроллер -- нужна паяльная станция (накройняк фен) и прямые руки.
     
    arkadyf нравится это.
  14. sandrokes

    sandrokes Нерд

    Спасибо, фен есть, свои слегка кривят, но есть знакомые с прямыми
     
  15. sandrokes

    sandrokes Нерд

    Подскажите как посмотреть необходимые параметры avrdude?
     
  16. AlexU

    AlexU Гуру

    Перед "хирургическим" вмешательством всё-таки стоит попробовать выяснить -- может дело не в мк, а в неправильном его прошивании.
    Если есть программатор (или другая Arduino на базе AVR), то можно с помощью avrdude войти в терминальный режим и попробовать вручную стереть память мк (правда эта операция сотрёт загрузчик, но его можно либо предварительно слить, или взять из состава Arduino IDE и залить заново) и вручную перепрошить пару байт. Если после этих операций память мк будет содержать "правильные" данные, то проблема в среде Arduino IDE -- не правильно формирует комманду на перепрошивку (хотя это маловероятно, но всякое может быть). Если ни чего не получится, то мк на замену.
    В документации к avrdude: http://www.nongnu.org/avrdude/user-manual/avrdude.html
     
  17. DetSimen

    DetSimen Guest

    в boards.txt
     
  18. sandrokes

    sandrokes Нерд

    Другая Arduino (Nano на ATmega328) прошивается нормально, попробую с её помощью покопаться в мозгах у Mega, при неудачной прошивке к контроллеру был подключён nRF24L01+ (по SPI) проблемы с памятью не могут быть связаны с таким модулем.
     
  19. sandrokes

    sandrokes Нерд

    Файл есть, а что в нём найти надо?
     

    Вложения:

    • boards.txt
      Размер файла:
      30,9 КБ
      Просмотров:
      646
  20. DetSimen

    DetSimen Guest

    mega.menu.cpu.atmega2560.upload.speed=115200
    поменяй на 19200