<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>https://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>https://jackxiang.com/post//</link>
<title><![CDATA[avr-gcc 问答及avr单片机在Linux下的编译工具和开发]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Wed, 12 Aug 2009 02:08:26 +0000</pubDate> 
<guid>https://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	<br/>Atmel公司的AVR系列单片机是一种性能优良, 耗电很小的微控制器, 他的主要特点是: <br/>1). 单时钟周期指令; <br/>2). 很高的C语言编码效率; <br/>3). 支持在系统编程(ISP)技术. <br/>AVR单片机是我目前在Linux下看到的开发工具最全的微控制器, 它的开发非常方便, 从此我们在Linux下也可以开发单片机了. <br/>开发AVR的编译器是gcc, 实际上就是给gcc加上适合于AVR的库, 该库的名字叫avr-libc, 目前支持的开发语言是c和c++, c++的支持还在开发中. 下面就介绍AVR-GCC的安装方法并简单介绍一下通用编程器uisp的安装方法. <br/>当前avr-libc仍在不断的进行中, 该项目的主页是 http://www.nongnu.org/avr-libc , 该页面上面还有很多AVR在Linux下开发的辅助工具, 本文就不介绍了. avr-gcc的下载地址是: http://savannah.nongnu.org/download/avr-libc/snapshots/src , 请下载binutils-030428.tar.bz2 , gcc-core-20030428.tar.bz2 , gcc-g++-20030428.tar.bz2 , avr-libc-20030422cvs.tar.gz. 以root用户登录, 将它们拷贝到安装目录中(我的习惯是/usr/local/src), 解压缩软件包: <br/>bunzip2 *.bz2 <br/>tar xvf *.tar <br/>tar zxvf *.tar.gz <br/>之后会在安装目录中生成`三个子目录, binutils-030438/ , gcc-20030428/ , avr-libc-20030422cvs/ . 下面分别安装之. <br/>安装binutils: <br/>cd binutils-030428/ <br/>./configure --target=avr --prefix=/usr/local/atmel (/usr/local/atmel是安装目录) <br/>make <br/>make install <br/>然后在/etc/ld.so.conf中加入/usr/local/atmel/lib一行, 并运行/sbin/ldconfig更新. <br/>在~/.bashrc文件中加入export PATH=/usr/local/atmel/bin:$&#123;PATH&#125;, 并且在命令行下也输入该语句. <br/>安装gcc: <br/>cd gcc-20030428/ <br/>./configure --target=avr --prefix=/usr/local/atmel --disable-nls --enable-language=c,c++ <br/>make <br/>make install <br/>安装avr-libc: <br/>先设置一些环境变量: <br/>export CC=avr-gcc; export AS=avr-as; export AR=avr-ar; export RANLIB=avr-ranlib <br/>export PATH=/usr/local/atmel/bin:$&#123;PATH&#125;; export PREFIX=/usr/local/atmel <br/>./reconf <br/>./doconf <br/>./domake <br/>cd build <br/>make install <br/>如果一切顺利的话, AVR-GCC就安装完成了. <br/>下面介绍通用编程器uisp的安装 <br/>uisp是一个通用的编程器, 用来在Linux下控制各种各样的编程器, 该项目正在不断的完善中, 项目的主页是: <br/>http://savannah.nongnu.org/projects/uisp <br/>从上面下载uisp-20021201.tar.gz <br/>解压缩: <br/>tar zxvf uisp-20021201.tar.gz <br/>开始安装: <br/>cd uisp-20021201/ <br/>./configure <br/>make <br/>make install <br/>这样uisp也装好了. 运行之前我们还要作些准备工作. 运行lsmod命令, 看列表中有没有parport, parport_pc, ppdev 三个模块, 有的话就跳过下面一段. <br/>编译内核, 确信选中parallel port support -> parallel support 和 parallel port support -> pc-style hardware 及 Character devices -> Support for user-space parallel port device drivers 三项. 编译好内核后, 进入/lib/modules/<内核版本号>/kernel/drivers/parport/ , 运行 insmod parport.o ; insmod parport_pc.o ; cd .. ; cd char/ ; insmod ppdev.o , 可以将加载模块的命令加入rc.sysinit, 这样就不用以后再手工输入了. <br/>下面简单讲讲avr-gcc和uisp的使用方法, 详细的handbook我会以后翻译. 假定mcu为at90s8515, 源程序为avr.c . <br/>1). 编译C源程序 <br/>生成.o文件: avr-gcc -mmcu=at90s8515 -Os avr.c <br/>生成.out文件: avr-gcc -mmcu=at90s8515 -o -Wl,-Map,avr.map avr.o avr.out <br/>生成.hex文件: avr-objcopy -R .eeprom -O ihex avr.out avr.hex <br/>2). 在线下载 <br/>刷新: uisp -dlpt=/dev/parport0 --erase -dprog=dapa <br/>编程: uisp -dlpt=/dev/parport0 --upload if=avr.hex -dprog=dapa -dno-poll -v=3 --hash=32 <br/>3). 下载线 <br/>PC 并口 AVR <br/>Init (Pin 16) -> Reset <br/>D0 (Pin 2) -> MOSI <br/>Busy(Pin 11) -> MISO <br/>Strobe(Pin 1) -> SCK <br/>GND(Pin 18) -> GND <br/>注意: <br/>引线要串1K的电阻, AVR的Reset端接10K的上拉, 要给单片机3-5V的外部供电. <br/>最后祝大家都能顺利的使用Linux开发AVR. <br/>有问题与我联系 (cuijianw@etang.com) <br/><br/><br/>问：<br/>答：软件包？首先你用什么linux?一般性的ubuntu之类的，都可以直接用avr-gcc来搞~avr-gcc,如果是debian或者ubuntu可以直接apt-get<br/><br/>AVR-GCC安装方法简介<br/>by 崔剑<br/>Atmel公司的AVR系列单片机是一种性能优良, 耗电很小的微控制器, 他的主要特点是:<br/>1). 单时钟周期指令;<br/>2). 很高的C语言编码效率;<br/>3). 支持在系统编程(ISP)技术.<br/>AVR单片机是我目前在Linux下看到的开发工具最全的微控制器, 它的开发非常方便, 从此我们在Linux下也可以开发单片机了.<br/>开发AVR的编译器是gcc, 实际上就是给gcc加上适合于AVR的库, 该库的名字叫avr-libc, 目前支持的开发语言是c和c++, c++的支持还在开发中. 下面就介绍AVR-GCC的安装方法并简单介绍一下通用编程器uisp的安装方法.<br/>当前avr-libc仍在不断的进行中, 该项目的主页是 http://www.nongnu.org/avr-libc , 该页面上面还有很多AVR在Linux下开发的辅助工具, 本文就不介绍了. avr-gcc的下载地址是: http://savannah.nongnu.org/download/avr-libc/snapshots/src , 请下载binutils-030428.tar.bz2 , gcc-core-20030428.tar.bz2 , gcc-g++-20030428.tar.bz2 , avr-libc-20030422cvs.tar.gz. 以root用户登录, 将它们拷贝到安装目录中(我的习惯是/usr/local/src), 解压缩软件包:<br/>bunzip2 *.bz2<br/>tar xvf *.tar<br/>tar zxvf *.tar.gz<br/>之后会在安装目录中生成`三个子目录, binutils-030438/ , gcc-20030428/ , avr-libc-20030422cvs/ . 下面分别安装之.<br/>安装binutils:<br/>cd binutils-030428/<br/>./configure --target=avr --prefix=/usr/local/atmel (/usr/local/atmel是安装目录)<br/>make<br/>make install<br/>然后在/etc/ld.so.conf中加入/usr/local/atmel/lib一行, 并运行/sbin/ldconfig更新.<br/>在~/.bashrc文件中加入export PATH=/usr/local/atmel/bin:$&#123;PATH&#125;, 并且在命令行下也输入该语句.<br/>安装gcc:<br/>cd gcc-20030428/<br/>./configure --target=avr --prefix=/usr/local/atmel --disable-nls --enable-language=c,c++<br/>make<br/>make install<br/>安装avr-libc:<br/>先设置一些环境变量:<br/>export CC=avr-gcc; export AS=avr-as; export AR=avr-ar; export RANLIB=avr-ranlib<br/>export PATH=/usr/local/atmel/bin:$&#123;PATH&#125;; export PREFIX=/usr/local/atmel<br/>./reconf<br/>./doconf<br/>./domake<br/>cd build<br/>make install<br/>如果一切顺利的话, AVR-GCC就安装完成了.<br/>下面介绍通用编程器uisp的安装<br/>uisp是一个通用的编程器, 用来在Linux下控制各种各样的编程器, 该项目正在不断的完善中, 项目的主页是:<br/>http://savannah.nongnu.org/projects/uisp<br/>从上面下载uisp-20021201.tar.gz<br/>解压缩:<br/>tar zxvf uisp-20021201.tar.gz<br/>开始安装:<br/>cd uisp-20021201/<br/>./configure<br/>make<br/>make install<br/>这样uisp也装好了. 运行之前我们还要作些准备工作. 运行lsmod命令, 看列表中有没有parport, parport_pc, ppdev 三个模块, 有的话就跳过下面一段.<br/>编译内核, 确信选中parallel port support -> parallel support 和 parallel port support -> pc-style hardware 及 Character devices -> Support for user-space parallel port device drivers 三项. 编译好内核后, 进入/lib/modules/<内核版本号>/kernel/drivers/parport/ , 运行 insmod parport.o ; insmod parport_pc.o ; cd .. ; cd char/ ; insmod ppdev.o , 可以将加载模块的命令加入rc.sysinit, 这样就不用以后再手工输入了.<br/>下面简单讲讲avr-gcc和uisp的使用方法, 详细的handbook我会以后翻译. 假定mcu为at90s8515, 源程序为avr.c .<br/>1). 编译C源程序<br/>生成.o文件: avr-gcc -mmcu=at90s8515 -Os avr.c<br/>生成.out文件: avr-gcc -mmcu=at90s8515 -o -Wl,-Map,avr.map avr.o avr.out<br/>生成.hex文件: avr-objcopy -R .eeprom -O ihex avr.out avr.hex<br/>2). 在线下载<br/>刷新: uisp -dlpt=/dev/parport0 --erase -dprog=dapa<br/>编程: uisp -dlpt=/dev/parport0 --upload if=avr.hex -dprog=dapa -dno-poll -v=3 --hash=32<br/>3). 下载线<br/>PC 并口 AVR<br/>Init (Pin 16) -> Reset<br/>D0 (Pin 2) -> MOSI<br/>Busy(Pin 11) -> MISO<br/>Strobe(Pin 1) -> SCK<br/>GND(Pin 18) -> GND<br/>注意:<br/>引线要串1K的电阻, AVR的Reset端接10K的上拉, 要给单片机3-5V的外部供电.<br/>最后祝大家都能顺利的使用Linux开发AVR. <br/>来源：http://edu.100down.com/it/OS/Linux/113101542.html 
]]>
</description>
</item><item>
<link>https://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] avr-gcc 问答及avr单片机在Linux下的编译工具和开发]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>https://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>