總結入門到現在過程:
1.基於mstar801平臺Linux2.6.35.11從源碼靜態學習;
2.基於mstar901平臺Linux3.1.10開始做系統調用,從用戶態切入內核態;
3.基於Android2.3的模擬器內核版本Linux2.6.29對內核啓動過程做動態調試;
4.基於Skyeye模擬器在內核版本Linux2.6.17上做動態調試;
5.基於AM6C平臺Linux3.0.8做紅外等功能調試;
6.基於mt5507平臺Linux3.10做proc文件系統部分適配。
從整個過程中看:模擬器完全可以完成內核高級編程;看一些平臺相關的內核有兩個好處——1.學習借鑑其他用法,包括真正設備驅動部分;2.學習內核的發展變化。
鑑於以上原因:後續將以Android2.3模擬器配置Linux2.6.29內核做分析;uboot部分使用Skyeye模擬器加Linux2.6.17內核學習。這樣不至於感覺太亂,同時易於操作。
Android2.3及Linux2.6.29內核模擬器版本編譯與調試
啓動方式:
export PATH=$PATH:/home/android2.3/android2.3/out/host/linux-x86/bin
export ANDROID_PRODUCT_OUT=/home/android2.3/android2.3/out/target/product/generic
emulator -kernel /home/android2.3/android2.3_kernel/arch/arm/boot/zImage -show-kernel -ramdisk /home/android2.3/android2.3/out/target/product/generic/ramdisk.img -sdcard /home/android2.3/android2.3/out/target/product/generic/sdcard.img &