linux + xenomai构建实时linux操作系统

最近折腾了一段时间,把xenomai移植到了mini2440上,在此做点记录以便日后查阅。 
Xenomai通过与传统Linux组成双内核以弥补Linux实时性差的缺陷,这里不作详细介绍了,具体内容可以参考xenomai官网。 

准备工作

下载内核

地址:https://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.9.tar.bz2 
必须是2.6.35.9, 因为貌似只有这个版本有能正常启动的对应的ipipe补丁。

下载Xenomai 2.5.6

地址:http://xenomai.org/downloads/xenomai/stable/xenomai-2.5.6.tar.bz2 
这个版本有点老,因为新的版本对2440的支持好像都有问题,(虽然这个版本在2440上也有问题,所有还要单独下载补丁,不能用官方的IPIPE补丁)

下载IPIPE补丁

地址:https://miniemc2.googlecode.com/files/linux-2.6.35.9-s3c24xx-i-pipe-adeos-2.5.6-fiq-isr-aufs2.mod2.patch 
需要梯子,所有移植中最关键的就是这个补丁

移植内核

给内核打补丁

$ tar xjf linux-2.6.35.9.tar.bz2
$ cd linux-2.6.35.9
$ patch -p1 < linux-2.6.35.9-s3c24xx-i-pipe-adeos-2.5.6-fiq-isr-aufs2.mod2.patch

打完这个补丁后不需要再打xenomai包里的那个补丁了,也不用再执行prepare-kernel.sh了,因为所有东西都已经包含在补丁里了,移植、配置内核就不再阐述。

安装xenomai

进入xenomai目录

./configure --build=i686-pc-linux-gnu --host=arm-linux --enable-arm-mach=s3c2410 --disable-smp --enable-debug --prefix=/home/jetli/xenomai/xenomai-2.5.6/install

make

make install

/home/jetli/xenomai/xenomai-2.5.6/install中生成了一些文件:

bin文件夹中是xenomai的测试程序

lib文件夹中是程序运行的动态库

将这个两个目录中的文件分别复制到文件系统中的 bin、lib目录下。

运行测试xenomai

经过一个多小时运行测试,没有出现hang的情况,说明移植成功

ps:前段时间移植了好多个版本的xenomai ,虽然正常的启动,但是启动不久后xenomai就hang了(运行测试程序一会儿就会hang),linux系统还能正常的运行的。

   这个问题请求大神指教。

 

参照博客:

http://blog.csdn.net/QJYWYGQJYWYG/article/details/50286141

posted @ 2016-04-18 00:19  jetli  阅读(6869)  评论(0编辑  收藏  举报