Arduino on CentOS 5.4(2010-04-04)
经过多个晚上的搜索与实践,终于在今天上午把Arduino IDE装到CentOS 5.4上了。其实Arduino IDE是用Java写的,这个可以直接运行。但是是该IDE需要用到avr-gcc进行交叉编译,而且CentOS 5.4上没有rpm包直接安装,所以要自己动手编译。为了研究相关的设置和依赖包,费了很多时间。以下是安装过程的总结。
首先,安装binutils、avr-gcc和arv-libc
参考:
Building your own avr-gcc environment with atmega328p capabilities, Linux
=> http://tuxgraphics.org/electronics/200901/avr-gcc-linux.shtml#0lfindex0
gcc编译安装中的链接错误
=> http://qingyan1971.spaces.live.com/blog/cns!90DC91975FC440F6!502.entry
1)binutils-2.20.1
--Download: http://ftp.gnu.org/gnu/binutils/
执行以下命令:
tar jxvf binutils-2.20.1.tar.bz2
cd binutils-2.20.1
mkdir obj-avr
cd obj-avr
CC=gcc
export CC
../configure --target=avr --prefix=/usr/local/avr --disable-nls --enable-install-libbfd
make
make install
cd ../..
2)gcc-core-4.4.3、gcc-g++-4.4.3
---------------------- 注 意 ----------------------
安装avr-gcc前,先检查是否已经安装了GMP 4.1以上和MPFR 2.3.0以上。
GMP 4.1+
=>CentOS 5.4的安装光盘可以找到GMP 4.1的rpm包,直接安装就可以了。
=>源码地址:http://ftp.gnu.org/gnu/gmp/
MPFR 2.3.0+
=>源码地址:http://www.mpfr.org/=>由于没有rpm包,只能通过源码编译安装。
=>安装完毕,要添加路径到/etc/ld.so.conf文件中。安装完毕后会有提示的。
------------------------------------------------------
--Download: http://ftp.gnu.org/gnu/gcc/gcc-4.4.3/要下载gcc-core-4.4.3和gcc-g++-4.4.3,或者只下载gcc-4.4.3就可以了
执行以下命令:
tar jxvf gcc-core-4.4.3.tar.bz2
tar jxvf gcc-g++-4.4.3.tar.bz2
cd gcc-4.4.3
mkdir obj-avr
cd obj-avr
../configure --target=avr --prefix=/usr/local/avr --disable-nls --enable-languages=c,c++ --disable-libssp --with-mpfr=/usr/local/lib/mpfr
make
make install
cd ../..
3)avr-libc-1.6.4
--Download: http://savannah.nongnu.org/projects/avr-libc/
tar jxvf avr-libc-1.6.4.tar.bz2
cd avr-libc-1.6.4
PREFIX=/usr/local/avr
export PREFIX
CC=avr-gcc
export CC
PATH=/usr/local/avr/bin:${PATH}
export PATH
./configure --build=`./config.guess` --host=avr --prefix=/usr/local/avr
make
make install
cd ..
--------------------------------------------------------------------
然后,安装FTDI USB驱动
--参考:http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1267186646/3#3
After you install the Arduino environment and plug in the board, make sure you can see the /dev/ttyUSBx device.
Code:
安装完Arduino开发环境和把板子插到电脑USB口上,看是否有/dev/ttyUSBx设备。可以执行以下命令查看:
ls -la /dev/ttyU*
如果没有该设备,则用root用户执行以下命令:
modprobe ftdi_sio
别忘了设置该/dev/ttyUSBx的访问权限。