看到了一本arm嵌入式开发的入门的书,《一步步写嵌入式操作系统》,这个书是用windows下环境来学习的,对于我这种上班时候只能用windows的人是个大好事。
因此还特地买了一本纸质的书来看,只是在第一章的开发环境和第二章的最基本的helloworld都卡了很久,今天终于解决了,在此记录一下。
开发环境折腾很久的原因有2个方面:
1. 书里面说了,在www.leeos.com下面可以下载相关的软件,如cygwin,arm-elf-gcc,skyeye等工具。但是,这个网站已经停了。。。
后来机缘巧合之前,无意间搜到了一个网站,里面放了相关的软件,虽然不能用,但是也算是一点小进步。。
软件下载网站: https://osdn.jp/projects/sfnet_leeosbasic/releases/
下载了按照书上的配置无法成功,估计是cygwin一直在更新的原因,因此放弃
2. 在环境搭建中,交叉编译器的安装都是小问题,主要是skyeye这个arm模拟器的安装。
这个软件是开源的,但是也就意味没有专业的人员来维护,已经很久没有更新了。
skyeye主要依赖于LLVM,而LLVM却一直在更新。这就导致了最新的skyeye和最新的llvm无法匹配。
在编译的时候开始还只是头文件找不到,修改了部分代码后,直接就函数找不到了。。。这个就是skyeye使用了老的函数。
因此,这个也放弃了。
最终的解决方式就是,先把skyeye安装能够正常运行,再考虑其他的方式。
skyeye官网
https://sourceforge.net/projects/skyeye/
下面的操作方法在win7 64位下成功运行。
1. 下载MSYS-SKYEYE-3.0.msi
MSYS-SKYEYE-3.0.msi里面包含了MSYS的基础系统,里面默认已经安装了和skyeye匹配的LLVM
安装就可以了,默认路径 c:\msys
2. 下载MINGW-SKYEYE-3.0.msi
MINGW-SKYEYE-3.0.msi是mingw的编译器,包含gcc等
安装后,记下安装路径,比如c:\mingw
3. 下载arm的交叉编译器 gcc-arm-none-eabi-5_3-2016q1-20160330-win32
https://launchpad.net/gcc-arm-embedded/5.0/5-2016-q1-update/+download/gcc-arm-none-eabi-5_3-2016q1-20160330-win32.zip
下载后,解压缩到某个路径,比如 c:\toolchain
4. 下载skyeye-1.2.6_rc1.tar.bz2,skyeye的源代码文件
这样,所有的软件都下载完毕了。做下简单的环境配置
用记事本打开
c:\msys\1.0\etc\profile (其实就是linux的环境变量配置文件)
在最下面,已经有了
export PATH=".:/usr/local/bin:/bin:/mingw/bin:$PATH:/C/MinGW/bin"
确认这个路径和mingw的安装路径保持一致
这样,就把mingw和msys关联起来了
export PATH=".$PATH:/C/toolchain/bin"
这样就把交叉编译工具arm-none-eabi和msys关联起来了
这样,所有的配置都完毕了
5. 解压缩skyeye的源码,进去
./configure
make
make install
安装就可以了
安装完毕,我们的环境就搭建好了
然后按照书里面19页编写helloworld程序,测试成功.
终于完成了~~~