摘要:Linux具有源代碼開放、效率高、可裁剪等優(yōu)點,在嵌入式系統(tǒng)的開發(fā)中具有廣泛的應用。文章介紹了嵌入式Linux操作系統(tǒng)、移植目標平臺SBC2410及Linux內(nèi)核源代碼的目錄結(jié)構(gòu),分析了Linux移植到SBC2410平臺的實現(xiàn)過程,闡述了Linux內(nèi)核、u-boot的裁剪和編譯以及根文件系統(tǒng)的制作過程,最后在SBC2410平臺上成功移植了嵌入式Linux系統(tǒng)。
1.1.第1階段arch/arm/kernel/vmlinux.lds--------------------Makefile2.1 arch/arm/boot/compressed/start.S 解壓代碼2.2 arch/arm/kernel/head.S2.2.1 __lookup_machine_type 機器IDàMACH_STARTàmachine_desc //
1 由于工作需要原來的STM32F103R8T6需要升級到RCT6由此也需要把軟件系統(tǒng)移植到RCT6但是移植過來的時候由于r8的定時只有T1--T4 ,RC有6個定時器所以遇到自己認為很奇怪的問題。問題1 代碼移植過來后發(fā)現(xiàn)有些定時器根本
1.啟動內(nèi)核啟動應用程序/linuxrcbusyboxini.cinit_main設置信號處理函數(shù)初始化控制臺parse_inittab解析inittab1.1.解析inittabfile=open(INITTAB,“r”); //打開配置文件/etc/inittabnew_init_action//1創(chuàng)建一個init
1.Bootloader概念系統(tǒng)上電后,需要一段程序來初始化重要的硬件,有些程序是固化在固件firmwware上的,如PC的BIOS。然后是Bootloader,如PC上的GRUB。對于嵌入式系統(tǒng)來說,一般只有Bootloader,它負責初始化內(nèi)核運行的
制作根文件系統(tǒng)1、創(chuàng)建目錄2、創(chuàng)建必要的設備文件3、安裝所需的共享庫4、安裝init文件、shell及各種linux命令,由busybox提供5、創(chuàng)建編輯配置1.1.創(chuàng)建目錄mkdirrootfscdrootfsmkdirbinsbindevlibetcrootusrprocmnttm