弄了几天,终于把编译链弄好了。
前几次一直就是照着当初BF531的编译链的方法,一步一步的弄。但是最后make的时候还是没有规则。检查了经常出错的原因,路径是否正确,编译是否在编译的文件下。几遍之后仍然找不出问题在哪里。就开始从网上查找资料。
1 安装标准的C开发环境 。
$ sudo apt-get install build-essential
只是看到在建立编译链之前有的需要安装C环境。但仍然不知道为什么。
2 下载工具链并安装在某一目录下 /selinux/uclinux,进入该文件夹
$ sudo tar xjvf arm-2010.09-50-arm-none-linux-gnu-eabi-i686-pc-linux-gnu.tar.bz2 –C / usr/loca/arm/arm-50
$ sudo tar xjvf arm-2010.09-50-arm-none-linux-gnu-eabi-i686-pc-linux-gnu.tar.bz2 –C / usr/loca/arm/arm-50
$ sudo tar xjvf arm-2010.09-51-arm-none-eabi-i686-pc-linux-gnu.tar.bz2 –C / usr/loca/arm/arm-51
注意:C 后面有个空格,并且 C 是大写的,它是英文单词“Change”的第一个字母,在此是改变目录的意思。
执行该命令,将把 arm-none-eabi-gcc安装到/usr/loca/arm/arm-50中, arm-none-linux-gnu-eabi-gcc安装到/usr/loca/arm/arm-51目录中。
3. 修改环境变量,把交叉编译器的路径加入到PATH
$ cd /usr/local/arm/
$ find -name bin
$ gedit /etc/bash.bashrc
(加入bash.bashrc中,而不是profile,路径一定要正确)
上图中的路径应改为:/usr/local/arm……
4. 立即使新的环境变量生效,不用重启电脑:
$ source /etc/bash.bashrc
5. 检查是否将路径加入到PATH
$ echo $PATH
6. 测试是否安装成功
$ arm-none-eabi-gcc -v
$ arm-none-linux-gnu-eabi-gcc -v
Bootstrap的编译
将源码下载到 /opt/uclinux使用unzip at91bootstrap1.16.zip解压到当前目录下
以sam9g10的nand配置为例,测试一下编译环境
$ cd bootstrap-v1.16/board/at91samg10ek/nanoflash/
$ make clean
$ make CROSS_COMPILE=arm-none-eabi-