Создав на CVAVR прошивку и протестировав на Proteus, возникает необходимость залить прошивку уже на реальный МК. Не имея под рукой ни один программатор кроме ARDUINO, приходится использовать этот. Хотя в общем со своими обязанности он вполне справляется.
В этой статье я прошиваю ATMEGA16 используя возможность ARDUINO быть программатором ISP.
Для прошивки необходимо к ARDUINO подключить МК используя эту распиновку.
Мне необходимо было изменить внутреннюю частоту с 1МГц на 8МГц, для этого необходимо прошить фьюзы. Чтобы не убить камень, перед прошивкой ОБЯЗАТЕЛЬНО необходимо прочитать биты.
Прочитать можно с помощью AVRDUDE командой avrdude -P COM1 -b 19200 -c avrisp -p m16 -v
Посмотреть фьюзы в калькуляторе можно на сайте говорят самый нормальный.
После прочтения фьюзов, можно проверить их в калькуляторе, таким образом мы можем гарантировать, что ничего, кроме нужного не поменяли,
Далее можно их записать обратно командами
avrdude -P COM1 -b 19200 -c avrisp -p m16 -U lfuse:w:0xe4:m -U hfuse:w:0x99:m
младшие биты lfuse 0xe4 и старшие hfuse 0x99 взяты из калькулятора. Калькулятор на лету генерирует avrdude параметры, можно использовать их.
Фьюзы пишутся всем скопом, поэтому относиться к этому нужно крайне аккуратно.
Проверим ещё раз
Вроде все нормально. Можно шить hex
Hex шьем тем же avrdude командой
avrdude -p m16 -P COM5 -c avrisp -b 19200 -U flash:w:heat_room.hex
файл heat_room.hex должен лежать в той же папке что и avrdude
Осталось протестировать на деле.
One Reply to “Прошивка ATMEGA16”
[…] а далее делает как написано тут Прошивка ATMEGA […]