AVR单片机:ATmega644pa
首先要明确,我们在Ubuntu(或者Linux)上开发AVR单片机应包括两大部分:
程序编译、程序下载。
环境布置:
程序编译使用Linux下的编译器——avr-gcc,通过以下指令安装:
sudo apt-get install gcc-avr #这是avr的交叉编译器
sudo apt-get install avr-libc #这是编译要用的库
sudo apt-get install gdb-avr #gdb反向调试工具,反汇编
程序的下载使用avrdude,安装命令:
sudo apt-get install avrdude
程序的编译和下载步骤
第一步:编译程序
avr-gcc -mmcu=atmega644p -Wall -Os -o main.o main.c
avr-objcopy -j .text -j .data -O ihex main.o main.hex
到 .hex 文件中。
详见 avr-objcopy --help 和 readelf -a main.o
第三步:下载程序到单片机
sudo avrdude -p m644p -c usbasp -e -U flash:w:main.hex
详见 man avrdude
另外,有时我们还需要读取或者写入单片机的熔丝位(熔丝高位:hfuse;熔丝低位:lfuse;熔丝扩展位:efuse)
可以通过以下命令得到
读取熔丝高位
sudo avrdude -p m644p -c usbasp -e -U hfuse:r:hfuse.hex:h
写熔丝位:
sudo avrdude -p m644p -c usbasp -e -U hfuse:w:0xde:m
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』