1.搭建 SylixOS linux 编译环境
主机操作系统是Ubuntu-12.04,使用的是普通用户user
1)安装开发工具
编译 Qemu 需要用到主机系统的 g++ 编译器,而下载 SylixOS 源代码需要 Git 工具,修改配置文件需要用到 vim 编辑器, 如果
你的系统不具备这些工具,请先执行如下命令安装它们到你的系统:
sudo apt-get install build-essential
sudo apt-get install git
sudo apt-get install vim
2)下载SylixOS 源代码
打开终端,创建一个名为 sylixos_workspace 的目录(下文约定该目录是 /home/user/sylixos_workspace 目录,即
~/sylixos_workspace),
cd ~
mkdir sylixos_workspace
进入该目录,输入如下命令即可下载 SylixOS Base工程、mini2440开发板BSP工程、示例工程等:
cd sylixos_workspace
git clone http://git.sylixos.com/repo/sylixos-base.git
git clone http://git.sylixos.com/repo/bspmini2440.git
git clone http://git.sylixos.com/repo/examples.git
git clone http://git.sylixos.com/repo/tools.git
git clone http://git.sylixos.com/repo/qemu-mini2440.git
sylixos-base 是 SylixOS Base 工程,里面包含了 lIBSylixos 和 libcextern 子工程,输入如下命令初始化和更新子工程:
cd sylixos-base
git submodule init
git submodule update
cd ..
3)安装交叉编译器
交叉编译器的下载地地址是 https://launchpad.net/gcc-arm-em ... /+download/gcc-arm-
none-eabi-4_9-2015q1-20150306-linux.tar.bz2
下载的交叉编译器压缩包是 gcc-arm-none-eabi-4_9-2015q1-20150306-linux.tar.bz2。
输入如下命令将其解压到 /usr/lib 目录:
sudo tar jxvf gcc-arm-none-eabi-4_9-2015q1-20150306-linux.tar.bz2 -C /usr/lib
输入如下命令将解压后的目录重命名为 /usr/lib/gcc-arm-none-eabi 目录(避免编译器升级,版本号日期改变带来不必要的问题
):
sudo mv /usr/lib/gcc-arm-none-eabi-4_9-2015q1/ /usr/lib/gcc-arm-none-eabi
由于SylixOS修改了编译器的reent.h文件,所以使用编译器自带的 reent.h 文件将不能编译成功,需要复制
~/sylixos_workspace/tools/arm-none-eabi-patch/4.9/reent.h 文件到 /usr/lib/gcc-arm-none-eabi/arm-none-
eabi/include/sys 目录替换原有的文件
替换前先备份编译器原有的reent.h 文件:
sudo mv /usr/lib/gcc-arm-none-eabi/arm-none-eabi/include/sys/reent.h /usr/lib/gcc-arm-none-eabi/arm-none-
eabi/include/sys/reent.h.bak
再替换编译器原有的reent.h文件:
sudo cp ~/sylixos_workspace/tools/arm-none-eabi-patch/4.9/reent.h /usr/lib/gcc-arm