|
打造Linux下的avr系列单片机编程环境
这也是交叉编译环境的建立过程
我们所需要的软件:
1、binutils-2.14.tar.bz2 ftp://ftp.gnu.org/gnu/binutils
2、gcc-core-3.4.0.tar.bz2 ftp://ftp.gnu.org/gnu/gcc/gcc-3.4.0
3、avr-libc-20020203.tar.gz http://www.amelek.gda.pl/avr/libc
4、uisp-20040311.tar.bz2 http://savannah.nongnu.org/download/uisp
我是在redhat9.0下安装的,别的版本没有试验过,不过应该不会有太大的问题:
把上面四个软件包下载到一个目录下,比如我以root用户来安装它们,下载到/root/tmp目录里,进入/root/tmp目录:
cd /root/tmp
首先安装binutils-2.14.tar.bz2,解压文件:
tar jxvf binutils-2.14.tar.bz2
这里得到解压后的目录binutils-2.14
gnu推荐新建一个目录来安装它:
mkdir binutils-build
cd binutils-build
../binutils-2.14/configure --target=avr --prefix=/usr/local
make
make install
这样,在/usr/local/avr目录下安装了binutils的软件,让新安装的库加入系统的搜索路径:
echo "/usr/local/avr/lib" >>/etc/ld.so.conf
/sbin/ldconfig
然后安装gcc-core-3.4.0.tar.bz2,步骤和上面的一样,也新建一个目录来安装:
tar zxvf gcc-core-3.4.0.tar.gz
mkdir gcc-build
cd gcc-build
../gcc-3.4.0/configure --target=avr --prefix=/usr/local --disable-nls --enable-language=c
make
make install
设置一些环境变量(bash shell) :
export CC=avr-gcc
export AS=avr-as
export AR=avr-ar
export RANLIB=avr-ranlib
export PATH=/usr/local/atmel/binPATH
接下来安装avr-libc-20020203.tar.gz,这个不新建目录安装了:
tar zxvf avr-libc-20020203.tar.gz
cd avr-libc-20020203
./configure --prefix=/usr/local/avr --target=avr --enable-languages=c --host=avr
make
make install
上面的库会被安装在/usr/local/avr/avr/lib里,这样我们应该把它加入到系统的库搜索路径中:
echo "/usr/local/avr/avr/lib">>/etc/ld.so.conf
/sbin/ldconfig
编程环境到此已经全部安装完毕,可以进行测试了:
cd /usr/local/avr/bin
cat > ./hello.c <<"EOF"
main()
{printf("Hello,World!");
}
EOF
/usr/local/avr/bin/gcc -o hello hello.c
如果幸运的话,不会出现错误,表明上面的软件都安装成功了,要是不幸运出错了请检查一下上面的步骤,一般是没把/usr/local/avr/avr/lib加入到/etc/ld.so.conf并用/sbin/ldconfig让它生效。
最后安装的是uisp-20040311.tar.bz2,它是一个编程器,用来把编译好的目标代码下载到单片机里。
由于上面把CC,AS等变量改变了,我们可以退出shell再重新登录让变量改回原来的来进行这个软件的安装或是在x-window下重新开一个新的虚拟终端来进行这个软件的安装。
新打开一个虚拟终端,回到/root/tmp目录下:
cd /root/tmp
tar jxvf uisp-20040311.tar.bz2
cd uisp-20040311
./configure --prefix=/usr/local/avr
make
make install
这样可执行文件被安装在/usr/local/avr/bin目录下,文件名为uisp
至此,一套的avr的开发的软件环境已经建立起来了。希望你和我一样幸运安装成功了。
希望能和有兴趣学习单片机和嵌入式系统的同好互相交流:huangyiddle@21cn.com
参考文章:
1,AVR单片机GCC编程:http://www.linuxfocus.org/ChineseGB/...ticle231.shtml
2,LFS中文文档:http://lfs.linuxsir.cn/cgi-bin/wiki...i/_cf_c2_d4_d8
我照着做了可是出错了
我按照这篇文章安装完毕后,用hello.c做了个测试,编译不过去啊,老是出现这个问题:
/usr/local/avr/lib/gcc-lib/avr/3.3/../../../../avr/bin/ld: cannot
open crts8515.o: No such file or directory
怎么回事情?我是把安装包放在/usr/local/src中解压的,别的都是一样做的
楼主说echo "/usr/local/avr/avr/lib">>/etc/ld.so.conf
/sbin/ldconfig
这个命令没弄,可是我做了还是不行.
请楼主回答,希望你能看到
还有,有朋友按照他的做发成功过吗?
我的QQ:48055756
e-mail:silverfox325@hotmail.com
请楼主快点回复我.有朋友知道的也请告诉我.非常急,谢谢各位 |
|