完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
操作系统:ubuntu 13.04(32 bits)
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 第二步:复制到HEX文件里面 avr-objcopy -j .text -j .data -O ihex main.o main.hex 至于这一步到底做了什么,我也只知道大概是把 .o 文件中的特定部分(例如 .text 和 .data段) 复制到 .hex 文件中。 详见 avr-objcopy --help 和 readelf -a main.o 第三步:下载程序到单片机 sudo avrdude -p m644p -c u***asp -e -U flash:w:main.hex 其中 -p 表示选择芯片,例如m644p -c 选择下载器,例如u***asp -e 表示烧录前清空 -U 表示存储器操作类型,使用方式:-U memtype:op:filename[:format] 详见 man avrdude 另外,有时我们还需要读取或者写入单片机的熔丝位(熔丝高位:hfuse;熔丝低位:lfuse;熔丝扩展位:efuse) 可以通过以下命令得到 读取熔丝高位 sudo avrdude -p m644p -c u***asp -e -U hfuse:r:hfuse.hex:h 写熔丝位: sudo avrdude -p m644p -c u***asp -e -U hfuse:w:0xde:m |
|
|
|
只有小组成员才能发言,加入小组>>
2513 浏览 0 评论
1085浏览 2评论
700浏览 1评论
453浏览 0评论
194浏览 0评论
330浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 10:22 , Processed in 1.254120 second(s), Total 79, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号