Заливка hex файла скетча в ардуину

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

  1. Имею ардуину на атмега2560 поставил драйвер сн340 все работает в ардуино скетчи загружает все окей. но Решил учить язык си начал книжки покуривать да гуглить что и как. Работа встала на том что надо и на практике глянуть выходит ли чего у меня. Начал гуглить как вгрузить hex файл в дуину пробывал и в xloader и sinаprog(ошибка avrdude: stk500_getsync(): not in sync: resp=0x00) никак не получается вгрузить hex файл скетча. в самой проге от ардуино все прекрасно грузит ошибок не выдает...
     
  2. NikitOS

    NikitOS Король шутов Администратор

    Какой программой заливаете
     
  3. пытался sinaprog и xloader больше программ не находил
    обе выдают ошибку
     
  4. AlexU

    AlexU Гуру

    Artduino IDE использует программу avrdude для загрузки прошивок в мк (можно найти в "потрохах" Arduino IDE). Вы так же ею можете пользоваться вне среды Arduino IDE -- через командную строку.
     
    Алексей9809 и arkadyf нравится это.
  5. Можете дать ссылку на статью как пользоваться аврдудом через командную строку?
    Просто боюсь ардуину запороть найдя не очень надежную статью
     
  6. AlexU

    AlexU Гуру

    Документация от разработчиков: http://www.nongnu.org/avrdude/user-manual/avrdude.html
     
    Алексей9809 и arkadyf нравится это.
  7. Ты случайно в командной строке не разбираешся?
    avrdude -p m2560 -c stk500 -e -U flash:w:"avrblink.hex" -P\\.\COM10
    -b 19200 -C"C:\avrdude.conf"
    постоянно вылазиет stk500_2_ReceiveMessage<>: timeout
    чтото я не то пишу видимо не можеш написать примерно в каком виде должно быть
     
  8. AlexU

    AlexU Гуру

    Вы говорите, что используете ардуино на базе ATmega2560, и при этом почему-то указываете в качестве программатора 'stk500'. Правильно ли я понимаю, что Вы используете внешний программатор типа stk500 и свою ардуину программируете через ISP разъём?
    Так же надо обратить внимание на скорость -- аргумент '-b 19200'.
    Конфиг откуда взяли? Путь не похож на стандартный.

    Arduino IDE при прошивке платы обычно выводит команду со всеми аргументами, если нет, то в настройках надо поставить галочку типа "Показать подробный вывод Загрузка". Посмотрите на эту команду и сравните со своей.
     
    Алексей9809 и arkadyf нравится это.
  9. Airbus

    Airbus Радиохулиган Модератор

    Ничего сложного нет.Здесь всё описано что и как.Я все 3 программы попробовал но остановился на XLoader.Постоянно ей пользуюсь.Правда у меня не Мега а УНО и даже не УНО а АТ Мега 8/328 на кварце 16 МГЦ с бутом внутри но суть от этого не меняется.Судя по вашей ошибке могу предположить что Вы неправильно выбрали порт или скорость.Порт тот же что и использовался в IDE можно посмотреть в диспетчере устройств Скорость 115200 (по умолчанию кажется стоит ) Вроде и всё!Только что посмотрел в меню XLoader Ардуино Мега есть.У Вас же она?Вот НЕХ файл Blink для УНО написаный на Ассемблере частота миганий сделана меньше чтоб проконтролировать загрузку.Проверил загружается влёт!
    Код (C++):

    :020000020000FC
    :100000001895189518951895189518951895189588
    :100010001895189518951895189518951895189578
    :100020001895189518950FEF0DBF08E00EBF0FEF4C
    :1000300005B908B90BB900E800BF2D9A03C02D9887
    :1000400001C0FBCF67E757E747E7415050406040AA
    :04005000C8F7089550
    :00000001FF
     
    А вот родной Blink IDE 1.5.5
    Код (C++):
    :100000000C9461000C947E000C947E000C947E0095
    :100010000C947E000C947E000C947E000C947E0068
    :100020000C947E000C947E000C947E000C947E0058
    :100030000C947E000C947E000C947E000C947E0048
    :100040000C949D000C947E000C947E000C947E0019
    :100050000C947E000C947E000C947E000C947E0028
    :100060000C947E000C947E00000000002400270009
    :100070002A0000000000250028002B0000000000DE
    :1000800023002600290004040404040404040202DA
    :100090000202020203030303030301020408102007
    :1000A0004080010204081020010204081020000012
    :1000B0000007000201000003040600000000000029
    :1000C000000011241FBECFEFD8E0DEBFCDBF11E08E
    :1000D000A0E0B1E0EAE5F4E002C005900D92A230A4
    :1000E000B107D9F711E0A2E0B1E001C01D92AB3039
    :1000F000B107E1F70E941B020C942B020C94000044
    :100100008091000161E00E94C70168EE73E080E029
    :1001100090E00E9420018091000160E00E94C701F0
    :1001200068EE73E080E090E00E94200108958091E5
    :10013000000161E00E94880108951F920F920FB69E
    :100140000F9211242F933F938F939F93AF93BF935D
    :100150008091060190910701A0910801B0910901D9
    :1001600030910A010196A11DB11D232F2D5F2D375E
    :1001700020F02D570196A11DB11D20930A018093F7
    :10018000060190930701A0930801B09309018091A3
    :10019000020190910301A0910401B0910501019623
    :1001A000A11DB11D8093020190930301A09304014E
    :1001B000B0930501BF91AF919F918F913F912F9186
    :1001C0000F900FBE0F901F901895789484B58260A1
    :1001D00084BD84B5816084BD85B5826085BD85B5EB
    :1001E000816085BDEEE6F0E0808181608083E1E89A
    :1001F000F0E01082808182608083808181608083D2
    :10020000E0E8F0E0808181608083E1EBF0E08081D4
    :1002100084608083E0EBF0E0808181608083EAE7A6
    :10022000F0E080818460808380818260808380812F
    :10023000816080838081806880831092C1000895EE
    :10024000EF92FF920F931F93CF93DF937B018C016B
    :100250003FB7F8948091020190910301A0910401AD
    :10026000B091050126B5A89B05C02F3F19F0019656
    :10027000A11DB11D3FBFBA2FA92F982F8827820F2C
    :10028000911DA11DB11D52E0880F991FAA1FBB1F10
    :100290005A95D1F7EC0130C00E942A023FB7F8947A
    :1002A0008091020190910301A0910401B091050198
    :1002B00026B5A89B05C02F3F19F00196A11DB11DC1
    :1002C0003FBFBA2FA92F982F8827820F911DA11DFC
    :1002D000B11D32E0880F991FAA1FBB1F3A95D1F7B5
    :1002E0008C1B9D0B885E9340B8F20894E108F108DE
    :1002F00001091109C851DC4FE114F1040105110590
    :1003000059F6DF91CF911F910F91FF90EF900895D3
    :10031000CF93DF93482F50E0CA0186569F4FFC01D0
    :1003200034914A575F4FFA018491882369F190E034
    :10033000880F991FFC01E859FF4FA591B491FC016A
    :10034000EE58FF4FC591D491662351F42FB7F8941E
    :100350008C91932F909589238C93888189230BC04E
    :10036000623061F42FB7F8948C91932F9095892384
    :100370008C938881832B88832FBF06C09FB7F89406
    :100380008C91832B8C939FBFDF91CF910895482F41
    :1003900050E0CA0182559F4FFC012491CA01865644
    :1003A0009F4FFC0194914A575F4FFA0134913323D8
    :1003B00009F440C0222351F1233071F0243028F495
    :1003C0002130A1F0223011F514C02630B1F02730D1
    :1003D000C1F02430D9F404C0809180008F7703C02D
    :1003E000809180008F7D8093800010C084B58F77CE
    :1003F00002C084B58F7D84BD09C08091B0008F7725
    :1004000003C08091B0008F7D8093B000E32FF0E0B7
    :10041000EE0FFF1FEE58FF4FA591B4912FB7F89440
    :10042000662321F48C919095892302C08C91892BAD
    :100430008C932FBF0895CF93DF930E94E5000E9415
    :100440009700C0E0D0E00E9480002097E1F30E9476
    :0A0450000000F9CF0895F894FFCFE3
    :02045A000D0093
    :00000001FF
     
    Как гриться почувствуйте разницу!
     
    Последнее редактирование: 8 авг 2017
    arkadyf нравится это.
  10. Xloader не помагает именно на эту статью уже натыкался и пытался и сейчас попробовал выставив скорость 115200 выбрал порт 10 выбрал файл типа hex выбрал ардуина мега и выдает upload failed
     
  11. А какую скорость задать?
    файл конфига копировал и вставил просто на диск C от того и путь такой.
    я пытался и arduino написать и stk500v2 и stk500 что же в этой строке нужно написать ?
    isp не использую
    пользуюсь шнуром юсби который включается в стандартное гнездо на ардуине
     
  12. Airbus

    Airbus Радиохулиган Модератор

    Попробуйте все стандартные скорости от 19200 и выше.Жаль Меги у меня нет а на УНО работает.
     
  13. AlexU

    AlexU Гуру

    Ранее сказал, что "прога от ардуино" использует 'avrdude' и сказал, что нужно сделать, что бы увидеть с какими аргументами она вызывается. Посмотрите и сделайте то же самое и будет Вам счастье.
    'avrdude' наверно единственная прграмма (за исключением оригиналов от Atmel), которая поддерживает все известные программеры и контроллеры. В отличие от Xloader'ов, фиглоадеров и прочей дребедени.
     
    Алексей9809 нравится это.
  14. Извините что вопросы может глупые были, я новичок в этом деле спасибо за совет, пойду пытаться
     
  15. AlexU

    AlexU Гуру

    Глупостей в вопросах я не увидел, нормальные вопросы для начинающего. А вот ответы мимо ушей пропускаете.
     
    Алексей9809 нравится это.
  16. Airbus

    Airbus Радиохулиган Модератор

    Тогда может нуе нах этот Ардуино купите себе AVRку и прогораммируйте ее через ISP по взрослому.Или шейте Ардуино через ISP.Там же есть пины?
     
  17. Пины то есть, но я пожалуй сначала разберусь с ардуиной и языком си, потом может и на программатор деньги найду.
     
  18. Вот строки с самой программы ардуино в которой все отлично шьется
    System wide configuration file is "D:\programs\Arduino\hardware\tools\avr/etc/avrdude.conf"

    Using Port : COM4
    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
    В командной строке писал
    avrdude -p m2560 -b 115200 -B 9000 -P\\.\COM4 -U flash:w:"C:\avrblink.hex":a -c avrisp
    Cкорость пробовал менять на 9600 так стоит в диспетчере для это ком порта, пробовал менять шнур и вставлять в другое гнездо не помогает.
    Аврдуде при использование его через командную строку выдает ошибку при попытке загрузки hex файла.
    avrdude: stk500_getsync(): not in sync: resp=0x00
    Посмотрите в чем ошибка
     
  19. Airbus

    Airbus Радиохулиган Модератор

    А что там искать?Сами сделайте или на Ебае за 150 рубей купите.Я в соседней теме про программаторы все написал и даже фотки выложил.Контроллер стоит 150-200 рублей.Или на УНЕ потренируйтесь она точно шьется.
     
  20. AlexU

    AlexU Гуру

    В выводе программы (скорее ранее/выше того, что Вы предоставили) должна быть строка вида:
    Код (Bash):
    avrdude -p m2560 -b 115200 -B 9000 -P\\.\COM4 -U flash:w:"C:\avrblink.hex":a -c avrisp
    Псмотрите повнимательнее, но сейчас могу сказать следующее -- обратите внимание на:
    Код (Text):
    Using Port : COM4
    Using Programmer : wiring
    Overriding Baud Rate : 115200
    AVR Part : ATmega2560
    Исходя из этих строк команда на прошивку должна быть вида:
    Код (Bash):
    avrdude -p m2560 -b 115200"D:\programs\Arduino\hardware\tools\avr/etc/avrdude.conf" -P\\.\COM4 -U flash:w:"C:\avrblink.hex":a -c wiring
    Т.е. Вы допустили следующие ошибки:
    1. не указали файл конфигурации;
    2. не правильно указали скорость порта -- скорость должна быть 115200;
    3. не правильно указали тип программатора -- в Вашем случае программатор имеет тип 'wiring'.

    Команду соочинял на лету, мог допустить опечатки, не надо её бездумно копипастить.
     
    Алексей9809 нравится это.