全部博文(86)
分类: LINUX
2014-09-27 17:31:27
平台和工具说明:
硬件平台:AM3359开发板
操作系统:Linux – Ubuntu 12.04
交叉编译版本::arm-none-linux-gnueabi-gcc 4.7.3
一、准备源码包
1. 从xenomai官网下载xenomai源码包xenomai-2.6.2.1tar.bz2。将xenomai-2.6.2.1.tar.bz2和内核源码linux-3.2.21.tar.bz2放到同一目录下。我把它们放在home/ljl/am3359目录下。
2. 打开终端进入该目录并解压源码包
home/ljl/am3359# tar xvf linux-3.2.21.tar.bz2
home/ljl/am3359# tar xvf xenomai-2.6.2.1.tar.bz2
二、给Linux内核打上xenomai补丁
方法一:
在终端执行如下命令
home/ljl/am3359#
xenomai-2.6.2.1/scripts/prepare-kernel.sh --arch=arm --linux=linux-3.2.21
如果prepare-kernel.sh成功运行,会自动选择合适的I-pipe patch 。默认选择了如
下I-pipe patch,然后按直接回车。
如果出现patch:未找到命令,请尝试使用命令sudo apt-get install patch来安装
patch命令。看到如下信息说明补丁已经打上去了。
方法二:
在当前目录下新建脚本文件patch_kernel.sh脚本文件,把一下代码复制到脚本中。
点击(此处)折叠或打开
运行该脚本,成功运行脚本后,同样会自动选择合适的I-pipe patch,然后按直接回车。
三、配置、编译Linux内核
1. 进入到linux-3.2.21目录下,执行make menuconfig。在顶层内核配置菜单中会多出一个“Real-time sub system-à”菜单选项。
如果菜单上方提示xenomai的配置和当前内核的配置参数有冲突,可按照提示关闭那些冲突的选项,直到不在出现冲突。
2. 对xenomai配置做如下修改:
Real-time sub system-à
Interfaces ---à
<*> Native API-à
[*] Interrupts
3. 编译内核,将内核镜像下载到板子上运行系统。
4. 测试Xenomai是否成功安装Linux系统中。
内核启动log出现如下信息说明安装成功。
图中
四、配置、编译和安装xenomai源码
1. 在home/ljl/am3359目录下新建build_xenomai.sh脚本,并进入到该目录。脚本内容如下:
点击(此处)折叠或打开
2. 运行脚本后会生产一个xenomai_install目录,里面有dev和usr目录。把xenomai_install/dev/目录下的所有文件拷贝到文件系统的/dev/目录下。把xenomai_install/usr/目录下的整个目录拷贝到文件系统的/usr/目录下。
3. 运行Xenomai的应用程序来测试是否安装成功,可运行二进制文件在/usr/xenomai/bin/下。
五、说明
1. 有关于更多的Xenomai信息,可查看一下这些文件。
2. Xenomai2.2.21支持哪些版本的Linux内核,哪些平台?从Xenomai-2.2.21/ksrc/arch/目录可知,它支持arm、x86、powerpc等平台。
我们在进入Xenomai-2.2.21/ksrc/arch/patches目录,发现有下面几个补丁。
由此可看出对应arm平台,它支持3.2.21,3.4.6,3.5.3版本的Linux内核。
以上仅供参考,谢谢!