您的位置 首页 发布

Ubuntu上AVR单片机开发环境设置

操作系统:ubuntu13.04(32bits)AVR单片机:ATmega644pa首先要明确,我们在Ubuntu(或者Linux)上开发AVR单片机应包括两大部分:程序编译…

操作系统: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 usbasp -e -U flash:w:main.hex

其间
-p 一共挑选芯片,例如m644p
-c 挑选下载器,例如usbasp
-e 一共烧录前清空
-U 一共存储器操作类型,运用方法:-U memtype:op:filename[:format]

详见 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

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/fabu/265585.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部