I.MX6 SABRE SD L3.0.35


1). copy u-boot
linux

sudo dd if=u-boot-mx6q-sabresd.bin of=/dev/sdb bs=512 seek=2 skip=2 conv=fsyncide

2). copy uImage
post

sudo dd if=uImage of=/dev/sdb bs=512 seek=2048 conv=fsync測試

3). copy rootfsui


4). run bootcmd in u-boot env:spa

#: setenv loadaddr 0x10800000
#: setenv bootargs_base 'setenv bootargs console=ttymxc0,115200'
#: setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk1p1 rootwait rw video=mxcfb1:dev=ldb,LDB-XGA,if=RGB666 video=mxcfb0:dev=hdmi,1920x1080M@60 ,if=RGB24'
#: setenv bootcmd_mmc 'run bootargs_base bootargs_mmc;mmc dev 2;mmc read ${loadaddr} 0x800 0x2000;bootm'
#: setenv bootcmd 'run bootcmd_mmc'.net

#: saveenvdebug

#: run bootcmd
日誌


增長對xenomai的支持:ip

  1. GCC 4.8.1, 同時將3.14.28的arch/arm/lib/memset.S copy到3.0.35對應的地方:若是不這麼作的話,GCC4.8.1編譯以後,會在kmem_alloc的地方crash.

  2. cd $LINUX_DIR, make uImage,生成編譯結果以後dd if=arch/arm/boot/uImage of=/dev/sdb bs=512 seek=2048 conv=fsync; 查看運行結果,可以正常boot,說明全部配置一切正都正確

  3. cp $xenomai_dir%/ksrc/arch/arm/patches/mxc/*.patch $LINUX_DIR

  4. patch -p1 < *.pre..patch  使用mx6的pre patch

  5. patch -p1 < *.patch 使用正常的patch

  6. patch -p1 < *.post..patch 使用post patch

  7. make uImage開始編譯

  8. 將原來的根文件系統下的/etc/rc.d/init.d/gtk2刪除,若是不刪除,則會啓動GPU等,致使內核crash,

編譯完成以後,內核自動帶xenomai補丁,能夠經過cd /proc/xenomai/查看到有相應的文件生成,同時在boot log中可以看到以下的日誌:

I-pipe: Domain Xenomai registered.
Xenomai: hal/arm started.
Xenomai: scheduling class idle registered.
Xenomai: scheduling class rt registered.
Xenomai: real-time nucleus v2.6.3 (Lies and Truths) loaded.
Xenomai: debug mode enabled.
Xenomai: starting native API services.
Xenomai: starting POSIX services.
Xenomai: starting RTDM services.


測試Xenomai的運行狀況:

1) export PATH=/opt/poky/1.5.1/sysroots/i686-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/

2) cd $xenomai_dir

3) ./configure CFLAGS="-march=armv7-a -mfpu=vfp3" --build=-march=armv7-a -mfpu=vfp3 --host=arm-poky-linux-gnueabi

4) make

5) make DESTDIR=$INSTALL_ABSOLUTE_PATH install

相關文章
相關標籤/搜索