Загружаем прошивку в Stm32f105 по USB
После того, как фирма Atmel подкачала со сроками поставок процессоров Sam3U встал вопрос о выборе нового процессора. Выбор пал на семейство процессоров stm32f10x от фирмы ST Microelectronics, а конкретно — на процессор stm32f105. Одним из особенностей этого процессора является то, что он может загружать в себя прошивку через USB-интерфейс по протоколу DFU (используя собственный загрузчик, находящийся в ROM).
DFU — или Device Firmware Upgrade — это протокол для обновления прошивок по USB. Главные его преимущества в том, что он определён спецификацией USB и в том, что он достаточно прост. Вот только реализация этого протокола от ST оказалась не совсем стандартной. В результате вместо того, чтобы использовать готовую утилиту из проекта OpenMoko (dfu-util), её пришлось переписывать.
Утилита умеет загружать прошивку в RAM и FLASH, и запускать её на исполнение.
Ах, да, самое главное — исходники лежат здесь.
а вот это — http://leaflabs.com/Maple — имеет отношение к проблеме dfu для stm3210x?
и всё равно непонятно. почему у leaflabs всё шьётся без модификаций dfu? процессор, вроде бы, такой же (STM32F103RB)… или всё же отличия в реализации протокола для одного семейства процессоров?
У этого процессора (stm32f103) — вообще нет в ПЗУ загрузчика с поддержкой протокола dfu. Он загружается через последовательный порт.
На ту плату сначала заливается bootloader, в котором реализован протокол DFU, а потом уже используется загрузка через DFU.
«… При разработке новой платформы для приборов встал вопрос: а не заменить ли AVR на что нибудь другое? …»
Всем привет! Такой вопросик — почему не стали применять программный Nios II процессор?