avr_isp

утилита для программирования некоторых типов микроконтроллеров семейства AVR фирмы Atmel

вернуться на главную

Первый вариант данной утилиты создан в те далёкие времена, когда только появились первые микроконтроллеры AVR. До этого переломного момента разработка программы для микроконтроллера в внутренней памятью программ (на примере PIC) происходила так: покупался отладочный кристалл с окошком (за аж 70$), паялся (или покупался специальный программатор), программа писАлась, компилировалась, зашивалась программатором в кристалл, по результатам теста программа правилась, кристалл стирался UV-лампой и т.д.
Сказка про попа и собаку. Всё это происходило очень неспешно с постоянным риском обломать ноги процессора.

Микроконтроллеры АВР появились с внутренней флеш памятью программ и не требовали для программирования ни специальных напряжений, ни точной времянки. А так как ресурс стирание/запись их флеша был солидным, то их успех у ембеддеров был предопределён.
Про систему команд даже и не говорю - по кривизне сложно выло переплюнуть тогдашние ПИКи.

Так уж исторически сложилось, что к моменту появления микроконтроллеров AVR у меня уже был в наличии хвостик для программирования ПЛМ Альтера. А так как для программирования микроконтроллеров в нём было достаточно сигналов, то хвостик стал устройством двойного назначения.
Надо сказать, что идея использования альтеровского хвостика пришла в головы многих людей и сейчас это практически стандарт.

Сначала собственной утилите просто не было альтернативы, но позже появился проект Avreal. При появлении новых процессоров в семействе АВР несколько раз был соблазн плюнуть на свою разработку и пользоваться "как все" авреалом, но к счастью у меня с ним всегда что-то работало не так как хотелось, а то и вовсе не работало :-))
Время шло, появилась виндовсХП и программа написанная ещё на турбоси1.0 перестала доставать до ножек порта принтера из-за заслона виртуализации. Пришлось садиться и разбираться как жить дальше.
На счастье мир не без добрых людей, и в сети был найден Porttalk, позволяющий лазать под виндовсХП куда заблагорассудится.
Сначала, как водится, был использован халявный вариант запуска своей утилиты из-под портталка. Но вскоре из-за неудобства и некоей непредсказумости такого подхода было принято решение переписать утилиту так, чтобы она пользовалась портталком как драйвером.
Пришлось перетаскивать утилиту под вижуалси, но это было вознаграждено сторицей - стабильность и скорость работы возросли кардинально.

Вниманию предлагается текущий вариант утилиты с исходниками под MSVC2005: avr_isp.
Кое-что, конечно, несколько коряво, но с главной задачей - программированием микроконтроллеров АВР она вполне справляется.
В данный момент поддерживаются AT90S1200, AT90S2333, AT90S4433, ATMega103, AT90S8515, ATMega16, ATMega603, ATMega8, ATTiny13.
Устанавливать утилиту не нужно, она просто запускается с командной строки (ненавижу окошковые программаторы). Но для её работы требуется установить драйвер порталк.
(Сам драйвер porttalk.sys кладётся в виндовс\систем32\драйверс, а в реестр вносится запись porttalk.reg.)

Пример командной строки для стирания и программирования памяти программ: avr_isp.exe E W xxx.hex
Где E - стирание, а W xxx.hex - запись в память программ xxx.hex.

вернуться на главную

Сайт создан в системе uCoz