Сложности со сменой загрузчика у ардуино 168p

Тема в разделе "Arduino & Shields", создана пользователем Di126, 14 янв 2021.

  1. b707

    b707 Гуру

    выкладывайте ошибки текстом и ЦЕЛИКОМ!
    А у вас только часть
    Кроме той сигнатуры. что ДОЛЖНА БЫТЬ - аврдуде выдает вам значение, реально считанное с чипа, которое очень много может сказать о источнике проблем
    Вот, смотрите, как выглядит вывод этой ошибки целиком
    [​IMG]
    как видно, приведенная вами картинка - это только две последние строчки огромного сообщения
     
  2. Airbus

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

    А нука научи как
     
  3. parovoZZ

    parovoZZ Гуру

    фьюзы прошить? Вроде умеешь же)
     
  4. Airbus

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

    Фьюз Доктор вообще то фьюзы не шьет он разлочивает МК прошивкой дефолтных фьюзов. Я могу конечно скетч изменить так чтоб нужные фьюзы прошились но Доктор не для того создан вобщем то. Но это самый долгий и трудоемкий способ и ТС вряд ли сможет да и смысла нет.
     
  5. Di126

    Di126 Нерд

    да нет запись загрузчика я много раз делал через ИДЕ последовательность знаю

    Код (C++):
    Arduino: 1.8.13 (Windows 10), Плата:"atmega168 (16 MHz)"

    D:\загрузки\PortableFLProg_7-3-1_Win64\ideV6\hardware\tools\avr/bin/avrdude -CD:\загрузки\PortableFLProg_7-3-1_Win64\ideV6\hardware\tools\avr/etc/avrdude.conf -v -patmega168 -cstk500v1 -PCOM3 -b19200 -e -Ulock:w:{bootloader.unlock_bits}:m -Uefuse:w:0x4:m -Uhfuse:w:0xde:m -Ulfuse:w:0xff:m



    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 "D:\��������\PortableFLProg_7-3-1_Win64\ideV6\hardware\tools\avr/etc/avrdude.conf"



             Using Port                    : COM3

             Using Programmer              : stk500v1

             Overriding Baud Rate          : 19200

             AVR Part                      : ATmega168

             Chip Erase delay              : 9000 us

             PAGEL                         : PD7

             BS2                           : PC2

             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        512    4      0  3600  3600 0xff 0xff

               flash         65     6   128    0 yes     16384  128    128  4500  4500 0xff 0xff

               lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00

               hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00

               efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00

               lock           0     0     0    0 no          1    0      0  4500  4500 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 : STK500

             Description     : Atmel STK500 Version 1.x firmware

             Hardware Version: 2

             Firmware Version: 1.18

             Topcard         : Unknown

             Vtarget         : 0.0 V

             Varef           : 0.0 V

             Oscillator      : Off

             SCK period      : 0.1 us



    Ошибка при записи загрузчика.

    avrdude: AVR device initialized and ready to accept instructions



    Reading | ################################################## | 100% 0.02s



    avrdude: Device signature = 0x1e940b (probably m168p)

    avrdude: Expected signature for ATmega168 is 1E 94 06

             Double check chip, or use -F to override this check.



    avrdude done.  Thank you.



     
     
  6. parovoZZ

    parovoZZ Гуру

    Выбран неверный МК. Ты шьёшь 168p, а программатору говоришь, что просто 168. Отсюда и ошибка.
     
  7. Di126

    Di126 Нерд

    вы скорее всего правы
    у меня было предположение такое потомучто микросхема идёт 168РА а сайт конструктор может делать прошивку только для 168
    но почитал что разница между ними в экономичности или типо того

    а как создать для 168РА я не нашол конструкторов больше
     
  8. b707

    b707 Гуру

    я вас поздравляю, у вас все работает, все соединения верные, чип отвечает...
    Вы всего лишь неверно выбрали МК. Если в boards есть 168p - выберите его. Если нет - просто добавьте в ,боардс еще одну секцию с правильной сигнатурой
    попробуйте записать этот загрузчик в свой чип, думаю разницы быть не должно
     
  9. b707

    b707 Гуру

    Поняли теперь, как важно читать ошибки целиком? - а вы мучались пару лет, из-за того лишь что у вас другая буква на чипе...
     
  10. Di126

    Di126 Нерд

    так вот он не пишится в него всё же разница есть выходит
    боардс весь пролистал там ни единого упоминания о 168Р нету

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

    2021-01-20_151338.png

    там должны быть буквы и цыфры а там просто нули всегда
     
  11. b707

    b707 Гуру

    не пишется не потому, что бутлоадер не подходит, а потому что прочитанная сигнатура не совпадает с ожидаемой
    ну значит надо самому добавить

    для начала просто исправте тип чипа в той части боардс. что вы добавили для атмеги168:
    Код (C++):
    a168_16MHz.build.mcu=atmega168p
    чтож вы темный такой... несколько лет прошиваете чипы. а сами как трехлетний - ну ничего не можете
     
  12. Di126

    Di126 Нерд

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

    теперь биты не те говорит

    Код (C++):
    Arduino: 1.8.13 (Windows 10), Плата:"atmega168 (16 MHz)"

    D:\загрузки\PortableFLProg_7-3-1_Win64\ideV6\hardware\tools\avr/bin/avrdude -CD:\загрузки\PortableFLProg_7-3-1_Win64\ideV6\hardware\tools\avr/etc/avrdude.conf -v -patmega168P -cstk500v1 -PCOM3 -b19200 -e -Ulock:w:{bootloader.unlock_bits}:m -Uefuse:w:0x4:m -Uhfuse:w:0xde:m -Ulfuse:w:0xff:m



    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 "D:\��������\PortableFLProg_7-3-1_Win64\ideV6\hardware\tools\avr/etc/avrdude.conf"



             Using Port                    : COM3

             Using Programmer              : stk500v1

             Overriding Baud Rate          : 19200

             AVR Part                      : ATmega168P

             Chip Erase delay              : 9000 us

             PAGEL                         : PD7

             BS2                           : PC2

             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        512    4      0  3600  3600 0xff 0xff

               flash         65     6   128    0 yes     16384  128    128  4500  4500 0xff 0xff

               lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00

               hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00

               efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00

               lock           0     0     0    0 no          1    0      0  4500  4500 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 : STK500

             Description     : Atmel STK500 Version 1.x firmware

             Hardware Version: 2

             Firmware Version: 1.18

             Topcard         : Unknown

             Vtarget         : 0.0 V

             Varef           : 0.0 V

             Oscillator      : Off

             SCK period      : 0.1 us



    avrdude: AVR device initialized and ready to accept instructions



    Reading | ################################################## | 100% 0.02s



    avrdude: Device signature = 0x1e940b (probably m168p)

    avrdude: erasing chip

    avrdude: reading input file "{bootloader.unlock_bits}"

    avrdude: invalid byte value ({bootloader.unlock_bits}) specified for immediate mode

    avrdude: read from file '{bootloader.unlock_bits}' failed



    avrdude done.  Thank you.



    Ошибка при записи загрузчика.

     
     
  13. parovoZZ

    parovoZZ Гуру

    Скачай Микрочип Студио и шей через него. Там есть абсолютно все МК. Программатор нужен AVR ISP mkII. Делается из леонарды или промикры.
     
  14. Di126

    Di126 Нерд

    она так то не понятна так ещё и на английском в добавок
     
  15. b707

    b707 Гуру

    судя по вот этому сообщению
    Код (C++):
    avrdude: reading input file "{bootloader.unlock_bits}"
    вы в боардс какую-то чушь нагородили

    Выложите текстом кусок боардс, относящийся к атмеге168р

    в вашем случае "все портит" ваша абсолютное невежество в данном вопросе... ведь очевидные вещи приходится подсказывать...
    Еще и английского не знаете и переводчиком пользоваться не умеете, видимо...
     
  16. Di126

    Di126 Нерд

    Код (C++):
    a168_16MHz.bootloader.tool=avrdude
    a168_16MHz.name=atmega168 (16 MHz)
    a168_16MHz.upload.protocol=arduino
    a168_16MHz.upload.maximum_size=15872
    a168_16MHz.upload.speed=115200
    a168_16MHz.bootloader.low_fuses=0xff
    a168_16MHz.bootloader.high_fuses=0xde
    a168_16MHz.bootloader.extended_fuses=0x4
    a168_16MHz.bootloader.path=optiboot
    a168_16MHz.bootloader.file=a168_16MHz_ff_de_4.hex
    a168_16MHz.build.mcu=atmega168P
    a168_16MHz.build.f_cpu=16000000L
    a168_16MHz.build.core=arduino
    a168_16MHz.build.variant=standard
    код мне выдал сайт конструктор
    в нём я добавил строчку - a168_16MHz.bootloader.tool=avrdude
    и добавил букву Р - atmega168P
     
  17. parovoZZ

    parovoZZ Гуру

  18. b707

    b707 Гуру

    добавляйте
    Код (C++):
    a168_16MHz.bootloader.unlock_bits=0x3F
    a168_16MHz.bootloader.lock_bits=0x0F
     
  19. Di126

    Di126 Нерд

    Код (C++):
    Arduino: 1.8.13 (Windows 10), Плата:"atmega168 (16 MHz)"

    D:\загрузки\PortableFLProg_7-3-1_Win64\ideV6\hardware\tools\avr/bin/avrdude -CD:\загрузки\PortableFLProg_7-3-1_Win64\ideV6\hardware\tools\avr/etc/avrdude.conf -v -patmega168P -cstk500v1 -PCOM3 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x4:m -Uhfuse:w:0xde:m -Ulfuse:w:0xff:m



    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 "D:\��������\PortableFLProg_7-3-1_Win64\ideV6\hardware\tools\avr/etc/avrdude.conf"



             Using Port                    : COM3

             Using Programmer              : stk500v1

             Overriding Baud Rate          : 19200

             AVR Part                      : ATmega168P

             Chip Erase delay              : 9000 us

             PAGEL                         : PD7

             BS2                           : PC2

             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        512    4      0  3600  3600 0xff 0xff

               flash         65     6   128    0 yes     16384  128    128  4500  4500 0xff 0xff

               lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00

               hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00

               efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00

               lock           0     0     0    0 no          1    0      0  4500  4500 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 : STK500

             Description     : Atmel STK500 Version 1.x firmware

             Hardware Version: 2

             Firmware Version: 1.16

             Vtarget         : 0.0 V

             Varef           : 0.0 V

             Oscillator      : Off

             SCK period      : 0.1 us



    avrdude: AVR device initialized and ready to accept instructions



    Ошибка при записи загрузчика.

    Reading | ################################################## | 100% 0.02s



    avrdude: Device signature = 0x1e9406 (probably m168)

    avrdude: Expected signature for ATmega168P is 1E 94 0B

             Double check chip, or use -F to override this check.



    avrdude done.  Thank you.



     
    не хочет
    может проблема в скорости для промини
    у меня стоит a168_16MHz.upload.speed=115200 это посути скорость для уно
    другие пишутся на более медленой скорости там
     
  20. b707

    b707 Гуру

    поставьте скорость 57600