Linux下編譯SylixOS
開發環境:Ubuntu 14.04 SylixOS原始碼版本:1.6.7
一、搭建環境
$ sudo apt-get udpate
$ sudo apt-get install build-essential
$ sudo apt-get install vim
$ sudo apt-get install git
二、下載原始碼
本實驗以mini2440為例,原始碼包括以下內容:
1、base:SylixOS核心程式碼;
2、bsp:板級開發包,不同開發板對應不同的bsp,包含開發板的各種驅動;
3、示例程式;
4、mini2440模擬器;
$ mkdir SylixOS
$ cd SylixOS
$ 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
$ cd sylixos-base/
$ git submodule init
$ git submodule update
三、安裝交叉編譯鏈
1、下載安裝編譯鏈
$ wget https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q1-update/+download/gcc-arm-none-eabi-4_9-2015q1-20150306-linux.tar.bz2
$ sudo tar xvjf gcc-arm-none-eabi-4_9-2015q1-20150306-linux.tar.bz2 -C /usr/lib/
$ sudo mv /usr/lib/gcc-arm-none-eabi-4_9-2015q1/ /usr/lib/gcc-arm-none-eabi
SylixOS對gcc編譯器做了一些修改
$ 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
$ sudo cp SylixOS/tools/arm-none-eabi-patch/4.9/reent.h /usr/lib/gcc-arm-none-eabi/arm-none-eabi/include/sys/
修改環境變數
$ vim ~/.bashrc
在最後一行新增
export PATH=/usr/lib/gcc-arm-none-eabi/bin:$PATH
儲存退出,重啟終端
$ arm-none-eabi-gcc -v
出現如下資訊表示交叉編譯鏈安裝成功
2、編譯sylixos-base工程
$ cd SylixOS/sylixos-base/
$ vim config.mk
更改base路徑和工具鏈
編譯
$ make V=s -j8