Чем выше мы поднимаемся, тем меньше и ничтожнее кажемся тем, кто не может взлететь.
Фридрих Ницше

Меню навигации для мобильных

Прошу помощи в выяснении функции установленного микроконтроллера

Автор Shaman, 12 Окт., 2024, 23:51

« предыдущая - следующая »

Shaman

Доброго времени суток.

Есть плата от 3D принтера
↓ спойлер ↓
33877169-dc614bf4-df27-11e7-8166-282fd7446d55.png
[свернуть]

Под USB разъёмом вместо обычного преобразователя USB-UART у неё стоит цельный микроконтроллер mega16U.
При подключении по USB плата представляется следующим образом:
ID 2341:0042 Arduino SA Mega 2560 R3 (CDC ACM)

Судя по всему 16-я мега абсолютна прозрачна и по дорожкам подключена только к USB и UART интерфейсу меги 2560

Вопросы:
Какую цель по вашему мнению преследовал производитель так усложняя и удорожая плату?
Может ли этот микроконтроллер заниматься чем-то ещё кроме как конвертировать интерфейсы?

Если как-то поможет, прилагаю её прошивку в hex виде.

zenon

https://github.com/minamonra/

Slabovik

Вопрос "что она делает" интересный, но вот объяснять "зачем производитель так сделал" - это нужно производителя и спрашивать. Захотел и сделал... Мост USB<->Serial на деле не так-то прост в силу сложности самого протокола USB. Да, сейчас есть много микросхем-мостов, но были ли они тогда, когда проектировали данный девайс? Вообще, Mega16 не особо дорога по сравнению с Мегой256 - просто маленький контроллер (да, сейчас цены взлетели, тем не менее это так).

Что касается .hex, то есть только один путь - разобрать его и посмотреть, что он делает.
Вот, здесь (https://microsin.net/programming/avr-troubleshooting-faq/how-to-disassemble-binary-avr-code.html) неплохой вариант.

Можно руками разобрать .hex на байты и дизассемблировать, руками же. Объём там небольшой.
Структура .hex достаточно проста, вот здесь (https://cxem.net/mc/book26.php) написано вкратце, ещё здесь поподробнее (https://spd.net.ru/Article/Intel-HEX), ну и на wiki конечно есть: https://ru.wikipedia.org/wiki/Intel_HEX
Общением на форуме подпитываю свою эгоистичную, склонную к самолюбованию сущность.

zenon

А зачем hex разбирать, исходники оптибута вроде доступны
https://github.com/Optiboot/optiboot/tree/master/optiboot/bootloaders/optiboot
https://github.com/minamonra/

Slabovik

А как понять, это этого хекса исходники, или ещё чего?
Тут две части, чуть меньше, чем четыре тысячи команд. Всего ничего... Заодно и ASM прокачается :)
Общением на форуме подпитываю свою эгоистичную, склонную к самолюбованию сущность.

Shaman


Slabovik

Общением на форуме подпитываю свою эгоистичную, склонную к самолюбованию сущность.