Уважаемые посетители! Форум CQHAM.RU существует исключительно за счет показа рекламы. Мы будем благодарны, если Вы не будете блокировать рекламу на нашем Форуме. Просим внести cqham.ru в список исключений для Вашего блокировщика рекламы.
Страница 211 из 223 ПерваяПервая ... 111161201208209210211212213214221 ... ПоследняяПоследняя
Показано с 2,101 по 2,110 из 2227

Тема: ARDUINO

  1. #2101
    Цитата Сообщение от ozforester Посмотреть сообщение
    На самом деле все может пройти гладко, а может опять пойти не так.
    Попытался вчера с помощью проги ATMEL FLIP перезалить загрузчик для U16.
    Но не помогло.
    73! R8CT. Oleg


  2. #2102

    Регистрация
    14.06.2018
    Адрес
    Санкт-Петербург
    Сообщений
    1,025
    То есть попытка перепрошить u16 была успешной, но с новой прошивкой большой скетч так же зависает, а короткий шьётся нормально? Значит атмеги обе исправны. Раз уже пробовали с разных компьютеров заливать, то с вероятностью 99% проблема на самой плате меги 2560. Можно в процессе загрузки следить осциллографом за питаинем на u16, за линией ресета к 2560, за сигналами rx/tx от u16 к 2560. Сравнить с такими же на рабочих мегах. Может уровни не даташитные. Может там резистор где подтягивающий ушел в обрыв, или конденсатор какой коротит. По 2560 платы должны быть одинаковы. Только функции адаптера на одной из них выполняет u16 и у нее больше всякого обвеса, который тоже может быть причиной. Кварц например. Вот и накапливается ошибка uart и уходит за допустимый предел за время прошивки. Но это лишь предположения.

  3. #2103
    Аватар для IG_58
    Регистрация
    27.10.2012
    Адрес
    Германия
    Сообщений
    13,014
    Записей в дневнике
    18
    Цитата Сообщение от ozforester Посмотреть сообщение
    с вероятностью 99% проблема на самой плате меги 2560.
    Собственно, я с самого начала подозревал именно это. UART, скорее всего, исправен, а глючит EEPROM по контрольной сумме.
    Игорь

  4. #2104
    Цитата Сообщение от ozforester Посмотреть сообщение
    То есть попытка перепрошить u16 была успешной, но с новой прошивкой большой скетч так же зависает, а короткий шьётся нормально?
    Немного не так.
    На плату МЕГА с U16 _удалось_ залить большой скетч только через "Arduino As ISP" с использованием вспомогательной УНО.
    Таким же образом удалось залить большой сектч и на исправную МЕГУ с СН340 (для проверки).

    А вот перепрошить U16 не удалось.
    Использовал программу ATMEL FLIP.
    73! R8CT. Oleg

  5. #2105

    Регистрация
    14.06.2018
    Адрес
    Санкт-Петербург
    Сообщений
    1,025
    Ага, значит всё не так плохо. U16 еще может перепрошиться и заработать. С кондачка это не делается. Никакие посторонние программы не нужны. На компьютере установлено ардуино-иде, которое при установке тащит набор компиляторов avr-gcc и прошивальщик avrdude. На avr-gcc можно собирать свои программы и с помощью avrdude их прошивать в микроконтроллеры. Ide это лишь надстройка, которая за нас набирает команды gcc и avrdude с необходимыми параметрами. Ставим в ide галочки на "показывать дополнительную информацию о компиляции и загрузке", жмем "прошить через программатор" и в нижней части ide получаем длинный список со всеми командами. Вот сейчас поставил галочку "показать загрузку" и получил формат avrdude, который ide состряпала.


    Код:
    /usr/bin/avrdude -C/etc/avrdude.conf -v -V -patmega2560 -carduino -P/dev/ttyUSB0 -b19200 -Uflash:w:/tmp/arduino_build_339166/Blink.ino.hex:i
    -p atmega2560 это мы для такого чипа прошивку шьём


    -carduino -P/dev/ttyUSB0 это программатор "arduino" подключен на com адаптер "USB0"


    В конце видны параметры для прошивки во флэш-память файла Blink.ino.hex, это скетч блиньк после компиляции.


    Все ключи можно увидеть, если просто запустить avrdude без параметров. Если что-то более развернуто прочитать, то там тоже есть варианты. Например можно вывести список поддерживаемых программаторов, микроконтроллеров и пр. Фьюзы avrdude почти всегда считывает и показывает, так что специально их запрашивать нет необходимости. По фьюзам можно судить, в каком режиме работает микроконтроллер, можно ли прочитать прошивку с него, в частности для 2560 там будет установлен бит использования загрузчика и биты резервирующие нужное количество памяти для этого загрузчика, возможно биты защиты обрасти загрузчика. Что для конкретной U16 установлено, можно узнать лишь подключившись и прочитав. В даташите на каждый микроконтроллер фьюзы расписаны подробно.


    Вобщем, если подключиться к isp разъёму возле u16 и запустить avrdude, указав ему тип программатора и тип микроконтроллера, то avrdude попробует подключиться к мк.


    Наример прошивка для U16 могла бы выглядеть так:


    Код:
    /usr/bin/avrdude -C/etc/avrdude.conf -v -V -pm16u2 -carduino -P/dev/ttyUSB0 -b19200 -Uflash:w:proshivka_dlya_u16.hex:i
    В виндосе команда будет немного по другому выглядеть, и ком-порт, и пути к файлам, но суть одна.


    avrdude подключится к порту USB0 куда воткнут юсб кабель, будет использовать команды для программатора arduino, посылать команды на скорости 19200, и по сигнатуре проверять что к программатору подключен m16u2 (atmega16u2) или ругаться.


    Считайте для начала хотя бы фьюзы с u16. Это будет означать, что программатор с чипом связывается и можно искать инструкцию для восстановления прошивки микроконтроллера u16 на плате мега2560


    Вот что дал поиск по папке ардуино на ноутбуке. Там у ардуины эти прошивки на черный день уже припасены. Вторая и последняя очень похожи по названию на то, что нужно. У меня 2560-R3, то есть точно последняя.

    Код:
    /usr/share/arduino/hardware/arduino/avr/firmwares/atmegaxxu2/arduino-usbserial/Genuino-usbserial-atmega16u2-Uno-R3.hex
    /usr/share/arduino/hardware/arduino/avr/firmwares/atmegaxxu2/arduino-usbserial/Arduino-usbserial-atmega16u2-Mega2560-Rev3.hex
    /usr/share/arduino/hardware/arduino/avr/firmwares/atmegaxxu2/arduino-usbserial/Arduino-usbserial-atmega16u2-MegaADK-Rev3.hex
    /usr/share/arduino/hardware/arduino/avr/firmwares/atmegaxxu2/arduino-usbserial/Arduino-usbserial-atmega16u2-Uno-Rev3.hex
    /usr/share/arduino/hardware/arduino/avr/firmwares/atmegaxxu2/arduino-usbserial/Genuino-usbserial-atmega16u2-Mega2560-R3.hex

  6. Спасибо от R8CT

  7. #2106
    ]R8CT, выложите текст с ошибками из терминала при прошивке 2560 (не бутлоадером)

  8. #2107
    Цитата Сообщение от UA0YAS Посмотреть сообщение
    текст с ошибками из терминала при прошивке 2560 (не бутлоадером)
    Arduino: 1.8.6 (Windows 10), Плата:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"


    Скетч использует 124054 байт (48%) памяти устройства. Всего доступно 253952 байт.
    Глобальные переменные используют 2556 байт (31%) динамической памяти, оставляя 5636 байт для локальных переменных. Максимум: 8192 байт.
    avrdude: stk500v2_ReceiveMess age(): timeout
    avrdude: stk500v2_ReceiveMess age(): timeout
    avrdude: stk500v2_ReceiveMess age(): timeout
    avrdude: stk500v2_ReceiveMess age(): timeout
    avrdude: stk500v2_ReceiveMess age(): timeout
    avrdude: stk500v2_ReceiveMess age(): timeout
    avrdude: stk500v2_getsync(): timeout communicating with programmer
    Произошла ошибка при загрузке скетча

    Цитата Сообщение от ozforester Посмотреть сообщение
    U16 еще может перепрошиться и заработать. С кондачка это не делается.
    Прочитал, но мало что понял.
    Не хватает знаний.
    Буду пытаться по Вашему описанию делать.
    Но наверное, завтра с утра.
    На свежую голову.
    73! R8CT. Oleg

  9. #2108

    Регистрация
    29.04.2009
    Адрес
    г.Кореновск
    Сообщений
    108
    Позывной
    rz6bb
    Всем привет! Прошу помощи.
    Приобрел LCD графические дисплеи ERM19264_UC1609 на контроллере UC1609C разрешением 192X64,
    и
    12864 IIC ЖК-модуль 128X64 I2C ST7567S COG
    ,
    не смог оживить, использовал рекомендованные библиотеки LCD_UC1609,ERM19264_UC1609 ,U8g2-2.32.15.
    Подсветка есть,а на экране никаких признаков ответа.
    Подскажите ,кто знает секрет запуска этих девайсов.

  10. #2109

    Регистрация
    14.06.2018
    Адрес
    Санкт-Петербург
    Сообщений
    1,025
    R8CT,
    для истории:

    Скрытый текст


    Подключил по вчерашней схеме мегу2560 к уне
    Нажмите на изображение для увеличения. 

Название:	m2560.png 
Просмотров:	37 
Размер:	23.5 Кб 
ID:	378816
    Раз уж говорили про конденсатор, то как раз на схеме подтяжка ресета рядом, можно тау посчитать, сколько конденсатор 10 мкф. будет заряжаться до напряжения, необходимого для старта мк.

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

    Код:
    oleg@laptop ~ $ avrdude -carduino -p m2560 -P /dev/ttyUSB0 -b 19200
    
    
    avrdude: AVR device initialized and ready to accept instructions
    
    
    Reading | ################################################## | 100% 0.02s
    
    
    avrdude: Device signature = 0x1e9801 (probably m2560)
    
    
    avrdude: safemode: Fuses OK (E:FD, H:D8, L:FF)
    
    
    avrdude done.  Thank you.
    аккуратно все шесть проводов с isp 2560 преставляю на isp 16u2 и немного изменяю команду

    Нажмите на изображение для увеличения. 

Название:	m16u2.png 
Просмотров:	36 
Размер:	29.2 Кб 
ID:	378817

    Код:
    oleg@laptop ~ $ avrdude -carduino -p m16u2 -P /dev/ttyUSB0 -b 19200
    
    
    avrdude: AVR device initialized and ready to accept instructions
    
    
    Reading | ################################################## | 100% 0.02s
    
    
    avrdude: Device signature = 0x1e9489 (probably m16u2)
    
    
    avrdude: safemode: Fuses OK (E:F4, H:D9, L:FF)
    
    
    avrdude done.  Thank you.
    читаю флэш с 16U в файл
    Код:
    oleg@laptop ~ $ avrdude -carduino -p m16u2 -P /dev/ttyUSB0 -b 19200 -U flash:r:m16u2dump.hex:i
    
    
    
    
    avrdude: AVR device initialized and ready to accept instructions
    
    
    Reading | ################################################## | 100% 0.02s
    
    
    avrdude: Device signature = 0x1e9489 (probably m16u2)
    avrdude: reading flash memory:
    
    
    Reading | ################################################## | 100% 16.36s
    
    
    avrdude: writing output file "m16u2dump.hex"
    
    
    avrdude: safemode: Fuses OK (E:F4, H:D9, L:FF)
    
    
    avrdude done.  Thank you.
    смотрю размер файла дампа

    Код:
    oleg@laptop ~ $ ls -l m16u2dump.hex
    -rw-r--r--. 1 oleg oleg 37168 Sep 15 17:46 m16u2dump.hex
    считаю контрольную сумму на всякий случай

    Код:
    oleg@laptop ~ $ md5sum m16u2dump.hex
    ea34787f28c2d0a4b59c7bce4b4c65fb  m16u2dump.hex
    прошиваю файл обратно в 16u

    Код:
    oleg@laptop ~ $ avrdude -carduino -p m16u2 -P /dev/ttyUSB0 -b 19200 -U flash:w:m16u2dump.hex:i
    
    
    avrdude: AVR device initialized and ready to accept instructions
    
    
    Reading | ################################################## | 100% 0.02s
    
    
    avrdude: Device signature = 0x1e9489 (probably m16u2)
    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: reading input file "m16u2dump.hex"
    avrdude: writing flash (15644 bytes):
    
    
    Writing | ################################################## | 100% 27.50s
    
    
    avrdude: 15644 bytes of flash written
    avrdude: verifying flash memory against m16u2dump.hex:
    avrdude: load data flash data from input file m16u2dump.hex:
    avrdude: input file m16u2dump.hex contains 15644 bytes
    avrdude: reading on-chip flash data:
    
    
    Reading | ################################################## | 100% 15.71s
    
    
    avrdude: verifying ...
    avrdude: 15644 bytes of flash verified
    
    
    avrdude: safemode: Fuses OK (E:F4, H:D9, L:FF)
    
    
    avrdude done.  Thank you.
    подключаю мегу2560 к ноутбуку юсб кабелем, чтобы убедиться, что 16u2 эмулирует юсб-сериал.


    смотрю какой порт появился после подключения меги2560

    Код:
    oleg@laptop ~ $ dmesg |tail
    [29868.049129] usb 1-5.2: new full-speed USB device number 7 using xhci_hcd
    [29868.241020] usb 1-5.2: New USB device found, idVendor=2341, idProduct=0242, bcdDevice= 0.01
    [29868.241041] usb 1-5.2: New USB device strings: Mfr=1, Product=2, SerialNumber=220
    [29868.241054] usb 1-5.2: Product: Genuino Mega 2560
    [29868.241065] usb 1-5.2: Manufacturer: Arduino LLC (www.arduino.cc)
    [29868.241075] usb 1-5.2: SerialNumber: 5533031363535121B100
    [29868.251580] cdc_acm 1-5.2:1.0: ttyACM0: USB ACM device
    из сообщений ядра видно, что обнаружен USB ACM и создан файл-устройство ttyACM0


    правим avrdude и подключаемся к меге2560
    Код:
    oleg@laptop ~ $ avrdude -cwiring -p m2560 -P /dev/ttyACM0 -b 115200
    
    
    avrdude: AVR device initialized and ready to accept instructions
    
    
    Reading | ################################################## | 100% 0.01s
    
    
    avrdude: Device signature = 0x1e9801 (probably m2560)
    
    
    avrdude: safemode: Fuses OK (E:FD, H:D8, L:FF)
    
    
    avrdude done.  Thank you.
    16U выполняет функцию адаптера юсб-ком, а 2560 отвечает через нее программатору.


    Было бы логично, пока подцеплен и настроен "ардуино программатор", прошить бутлодер в 2560 нажатием кнопки "прошить загрузчик" в ide. Это тоже полезный опыт. К тому же загрузчик 2560 тоже может чудить с большими файлами. Даже можно его прочитать и сравнить его хэш с прочитанным с рабочей меги. (: Если перепрошивка атмег не даст результата, тогда, как советует IG_58, меняйте кварцы. Это хорошо "бьётся" с проблемой, если размеры успешно записанной части прошивки немного отличаются. Если же сбоит всегда на одном и том же размере, то или программная ошибка загрузчика или железячная в uart. Ведь через "программатор" большая прошивка заливается, а это как раз в обход uart-ов двух атмег и дорожек rx/tx между ними.




  11. Спасибо от R8CT


  12. #2110

    Регистрация
    29.04.2009
    Адрес
    г.Кореновск
    Сообщений
    108
    Позывной
    rz6bb
    Нашел казалось правильный вариант запуска ЖК-модуль 128X64 I2C ST7567S COG
    U8G2_ST7567_ENH_DG12 8064I_F_SW_I2C u8g2(U8G2_R0, 5 /* I2C SCL пин */, 4 /* I2C SDA пин */, U8X8_PIN_NONE);
    и назначить I2C который я определил сканером I2c ,он оказался 03F ,потому в скетч добавил
    u8g2.setI2CAddress(0 x3F * 2);
    однако это не помогло.
    Не смог найти U8G2 в которой есть этот конструктор U8G2_ST7567_ENH_DG12 8064I_F_SW_I2C u8g2(U8G2_R0, 5 /* I2C SCL пин */, 4 /* I2C SDA пин */, U8X8_PIN_NONE); все какие нашел библиотеки установил, но в них отсутствует необходимый радел.
    Подскажите или дайте ссылку.
    С уважением, Александр!

Страница 211 из 223 ПерваяПервая ... 111161201208209210211212213214221 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •