Здравствуйте, камнями не кидайте, темы похожие есть, но по воде вилами писаны. Есть некий контроллер, на чипе ATmega328p он не распаян, а на быстросеме. Задача следующая, вытащить из нее программу, и залить на пустой чип. Пытаться что-то вытащить и редактировать не нужно. Я представляю следующий процес. Вставляем чип в программатор, подключаем к компу устанавливаем необходимое по, копируем файлик двоичного кода из память чипа, вставляем новый чип и заливаем в него. Второй вариант , берём Ардуино Уно, вытаскиваем чип вставляем нужный, вытаскиваем двоичный код, вставляем пустой чип заливаем двоичный код. Внимание вопрос к знатокам!!!!!!! Какой из вариантов работоспособен и где есть инструкция для дурочка, следуя которой можно решить задачу?
Смотри что ответил Perplexity на вопрос " Можно ли, и если можно, то как скопировать прошивку микроконтроллера Atmega 328?": Спойлер: Ответ АИ Да, прошивку микроконтроллера Atmega 328 можно скопировать, если не включена защита от чтения (lock bits). Для этого обычно используется программатор ISP (например, USBasp, AVRISP, Arduino-as-ISP и др.) и утилита avrdude. Процесс выглядит так: Подключите программатор к микроконтроллеру (через ISP-разъём). Установите avrdude на ваш компьютер (чаще всего она уже есть вместе с Arduino IDE). Считайте содержимое памяти командой avrdude. Например, для сохранения прошивки в файл можно использовать: text avrdude -p m328p -c usbasp -U flash:r:flash_backup.hex:i -p m328p — модель микроконтроллера. -c usbasp — тип программатора. -U flash:r:flash_backup.hex:i — считать (r) содержимое памяти flash в файл в Intel HEX формате. Аналогично можно считать и EEPROM память, если нужно: text avrdude -p m328p -c usbasp -U eeprom:r:eeprom_backup.hex:i Полученный HEX-файл можно использовать для прошивки такого же чипа. Важно: Если на микроконтроллере выставлены lock bits (бит защиты), считать содержимое flash памяти не получится — останется только полностью стереть чип, но тогда вся информация потеряется1234. Программное обеспечение avrdude и нужные программаторы доступны на многих популярных платформах и стоят недорого. Если микроконтроллер защищён, для снятия защиты существуют только сложные аппаратные методы вроде инжекции глитчей (clock glitching), но это уже область аппаратного взлома4. Кратко: скопировать прошивку Atmega 328 можно стандартными средствами (ISP программатор, avrdude), если не выставлены lock bits на защиту от чтения. https://www.evilmadscientist.com/2011/avr-basics-reading-and-writing-flash-contents/ https://ucexperiment.wordpress.com/2015/01/04/dump-and-disassemble-avr-µc-flash-memory/ https://forum.arduino.cc/t/read-a-atmega328p-chip/362636 https://www.reddit.com/r/arduino/comments/gf1una/how_to_backupdumprestore_entire_atmega_flash_and/ https://blog.kvv213.com/2019/08/pro...rogrammatorami-v-tom-chisle-i-iz-pod-arduino/ https://www.ic-cracker.com/clone-atmega328-atmel-microcontroller-firmware/ https://forum.arduino.cc/t/atmega328p-firmware-protection-from-copying-reading/433045 https://raw.githubusercontent.com/h...xtracting-firmware-from-atmega328p-part-1.pdf https://www.rapid7.com/blog/post/20...d-flash-memory-part-1-atmel-microcontrollers/ https://www.instructables.com/Bootload-an-ATmega328/ https://swisskyrepo.github.io/HardwareAllTheThings/firmware/firmware-dumping/ https://github.com/Klipper3d/klipper/issues/4938 https://www.reddit.com/r/olkb/comments/sgvzfd/ask_bootloader_and_firmware_of_atmega328p_very/ https://www.reddit.com/r/microcontrollers/comments/1ecrf80/clone_atmega_microcontroller/ https://github.com/pascallanger/DIY.../Advanced_Manually_Setting_ATmega328_Fuses.md https://github.com/swisskyrepo/HardwareAllTheThings/blob/main/docs/firmware/firmware-dumping.md https://www.28pins.com/contributors/how-to-compile-firmware-for-5v3v3-28pins-variant/ https://groups.io/g/QRPLabs/topic/programming_atmega328_for/90620049 https://electronics.stackexchange.c...n-flash-memory-instead-of-eeprom-in-atmega328 https://klipper.discourse.group/t/issue-compiling-firmware-for-atmega328p/1028 Вы можете поспрашиваеть его и позадавать дополнительные вопросы.
Если не стоят локбит защиты то считать НЕХ файл можно. Далее прошивать им хоть 1000000 других чипов. Если стоят локбиты то считается фуфло которое внешне и похоже на НЕХ но работать не будет. Я много лет назад проводил эксперимент и выкладывал результат. Что конкретно хотите клонировать если не секрет?
Если это ардуино проект, то, скорее всего, вытащить прошивку можно. А если что-то особо "интересное", то вряд ли, если только забыли залочить.
Контроллер управления ценовыми табло. Чип общается через rs485 с регистрами сдвига выводя четырехзначные цены. Управления с пульта, разные режимы, настройка яркости , последовательное подключение ценовых табло по идеи можно до бесконечности на практике от 1 до 6, две параллельные стороны.
Я все таки рекомендую Perplexity: Спойлер: Можно ли считать прошивку Atmega 328 через Arduino-as-ISP? Считать прошивку микроконтроллера Atmega328 через Arduino-as-ISP теоретически возможно, но на практике это часто ограничено и сопровождается сложностями. Arduino-as-ISP — это типичный программатор ISP, и он действительно позволяет программировать память (записывать загрузчики, прошивки) в Atmega328 по интерфейсу SPI. Однако стандартная функция Arduino-as-ISP в Arduino IDE и avrdude ориентирована именно на запись и стирание, а не на чтение флеш-памяти чипа. Другими словами, использовать Arduino-as-ISP для чтения прошивки через avrdude можно, если микроконтроллер не защищён от чтения (lock bits не выставлены), и при этом avrdude поддерживает команду чтения флеш-памяти через данный программатор. Практически, команда чтения flash memory выглядит примерно так: text avrdude -p m328p -c arduino -P COMx -U flash:r:dump.hex:i где -c arduino — использование Arduino-as-ISP, а -P COMx — порт, к которому подключена плата Arduino-программатор. Однако многие пользователи отмечают, что Arduino как программатор (Arduino-as-ISP) может быть менее надёжным и медленным для чтения памяти, чем специализированные программаторы USBasp и подобные. Иногда возникают проблемы с таймингами и коммуникацией, особенно при чтении, а не только программировании. Подытоживая: Arduino-as-ISP может использоваться для чтения прошивки Atmega328, если не выставлены lock bits, и правильно настроен avrdude. Это не самый удобный и быстрый способ, но рабочий для обходных случаев. Если микроконтроллер защищён от чтения, считать содержимое нельзя никакими стандартными средствами. Для надежного считывания прошивки и ее копирования рекомендуют использовать специализированные программаторы (например, USBasp). Таким образом, да, можно считать прошивку через Arduino-as-ISP, но с оговорками по защите памяти и надежности процедуры15. Если хотите, могу помочь с примером команд или настройкой avrdude для этой задачи. https://tehnopage.ru/zagruzka-sketcha-v-atmega328p https://blog.kvv213.com/2019/08/pro...rogrammatorami-v-tom-chisle-i-iz-pod-arduino/ https://voltiq.ru/flashing-bootloader-atmega328p/ https://forum.amperka.ru/threads/avrdude-arduino-uno-as-isp.11219/ https://alexgyver.ru/lessons/programmer-tips/ https://electronix.ru/forum/topic/1...erez-spi-i-arduino-as-isp-bolshe-ne-dostupna/ https://dedkusto.livejournal.com/18779.html https://tsibrov.blogspot.com/2018/07/arduino-as-isp.html https://ru.fmuser.net/content/?14476.html
Возможно товарищ не в 80, а в 20% и хорошо играет на рояле или строгает. А здесь просто не умеет правильно задать вопросы.
Вечерком почитаю подробнее, программатор жаба душит покупать, с другой стороны мамка тоже программатор, может кто знает и ответит.
Вполне вероятно Настолько, что мой ответ оказался единственно верным во всей теме. Допускаю, что где-то есть инструкция для дурочки или для дурачка, но вот для дурочка нет нигде - абсолютно точно. Так что, мой ответ абсолютно верен.
зачем покупать, если можно самому сделать? Покупаешь любую дурину за 300 рублей, шьёшь в неё Arduino as ISP. В тырнетах находишь картинки, как получившийся программатор подключить к любому другому чипу от атмел, который поддерживает ISP программирование. Дальше по инструкции выше. Можно прошить ISP из пакета LUFA, тогда можно будет работать из Атмелстудио - там программатор гораздо юзабельнее, чем убогая аврдудка
Было бы проще, если бы ТС хотя бы определился кто он: "дурочок" или "дурачка", а то мы даже не знаем какое именно руководство ему посоветовать!