最近折騰了一段時間,把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系統還能正常的運行的。
這個問題請求大神指教。
參照博客: