嵌入式linux系統(tǒng)的啟動過程_第1頁
嵌入式linux系統(tǒng)的啟動過程_第2頁
嵌入式linux系統(tǒng)的啟動過程_第3頁
嵌入式linux系統(tǒng)的啟動過程_第4頁
嵌入式linux系統(tǒng)的啟動過程_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

_一、分析嵌入式系統(tǒng)的啟動過程嵌入式系統(tǒng)的啟動過程:上電------->u-boot------->加載Linux內(nèi)核------->掛載rootfs---->精品文檔放心下載執(zhí)行應(yīng)用程序二、分析u-boot1.什么是u-boot(是一個通用的bootloader)謝謝閱讀U-Boot,全稱UniversalBootLoader,是遵循GPL條款的開放源碼項目。感謝閱讀Universal----------->通用的Boot----------------->啟動,引導(dǎo)感謝閱讀Loader----------------->加載感謝閱讀通用------->支持多種架構(gòu)的CPU,除了支持ARM系列的處理器外,還能支持MIPS、謝謝閱讀x86、PowerPC、NIOS等諸多常用系列的處理器感謝閱讀------->支持多種廠家的開發(fā)板,如cortex-A8,cortex-A9,cortex-A53等不精品文檔放心下載同廠 家的開發(fā)板------->支持多種嵌入式操作系統(tǒng),U-Boot不僅僅支持嵌入式Linux系統(tǒng)的引感謝閱讀導(dǎo), 它還支持NetBSD,VxWorks,QNX,RTEMS,ARTOS,LynxOS,精品文檔放心下載android 嵌入式操作系統(tǒng)。Boot-------->完成硬件的初始化,啟動硬件平臺。感謝閱讀_Loader------->當(dāng)初始化硬件結(jié)束后,加載操作系統(tǒng)。精品文檔放心下載2.u-boot的作用大多數(shù)BootLoader都分為stage1和stage2兩大部分,U-boot也不例外。依賴于cpu感謝閱讀體系結(jié)構(gòu)的代碼(如設(shè)備初始化代碼等)通常都放在stage1且可以用匯編語言來實現(xiàn),而精品文檔放心下載stage2則通常用C語言來實現(xiàn),這樣可以實現(xiàn)復(fù)雜的功能,而且有更好的可讀性和移植性。謝謝閱讀(1)Stage1:CPU(S5P6818-->Cortex-A53)的初始化,使用匯編語言編寫。精品文檔放心下載如:初始化Cache、MMU、clock、中斷、看門狗、DDR3、eMMC、...感謝閱讀(2)Stage2:板級初始化,使用C語言編寫。精品文檔放心下載如:uart、網(wǎng)卡、usb、LCD、....(3)提供了一些工具,如進入uboot的命令行模式,使用u-boot命令感謝閱讀(4)加載操作系統(tǒng)3.U-boot的工作模式U-Boot的工作模式有啟動加載模式和下載模式。(1)啟動加載模式是Bootloader的正常工作模式,嵌入式產(chǎn)品發(fā)布時,Bootloader必須精品文檔放心下載工作在這種模式下,Bootloader將嵌入式操作系統(tǒng)從FLASH中加載到SDRAM中運行,謝謝閱讀_整個過程是自動的。(2)下載模式就是Bootloader通過某些通信手段將內(nèi)核映像或根文件系統(tǒng)映像等從PC精品文檔放心下載機中下載到目標(biāo)板的FLASH中。用戶可以利用Bootloader提供的一些命令接口來完成自謝謝閱讀己想要的操作。4.U-boot的輸出U-Boot2014.07(Apr272017-15:45:25)-------->u-boot的版本號精品文檔放心下載PLL:[0]=800000000,[1]=800000000,[2]=780000000,[3]=800000000謝謝閱讀(0)PLL1:CPU FCLK= 800000000,HCLK=200000000(G0)謝謝閱讀(7)PLL1:CPU FCLK= 800000000,HCLK=200000000(G1)謝謝閱讀PLL3:MEMFCLK=800000000,DCLK=800000000,BCLK=400000000,PCLK=200000000精品文檔放心下載(1)PLL0:BUS BCLK= 400000000,PCLK=200000000感謝閱讀PLL0:CCI4BCLK=400000000,PCLK=200000000精品文檔放心下載PLL0:G3DBCLK=400000000感謝閱讀PLL0:CODABCLK=400000000,PCLK=200000000謝謝閱讀PLL0:DISPBCLK=400000000,PCLK=200000000感謝閱讀(6)PLL0:HDMIPCLK= 133333333感謝閱讀_I2C: readyDRAM: 1GiB --------->內(nèi)存1GB謝謝閱讀Heap=0x44000000~0x46000000感謝閱讀Code=0x43c00000~0x43c83e48精品文檔放心下載GLD=0x43bffeb8GLBD=0x43bffe68SP=0x43bffe68,0x43bffe48(CURR)PC=0x43c06640MMC: NXPDWMMC:0,NXPDWMMC:1,NXPDWMMC:2謝謝閱讀In: serialOut: serialErr: serial## DCDC_MODE(0x80): DCDC1[PFM], DCDC2[PFM], DCDC3[PFM],謝謝閱讀DCDC4[PWM],DCDC5[PWM]##STATUS(0x00) :0xe40x10謝謝閱讀##IRQ(0x48) :0x000x000x000x000x00精品文檔放心下載##CHG_TYPE :ADP_##BAT_VOL :0mV##BAT_CAP :100%DSIM_STATUS:0x10010f##SkipBATAnimation.##IRQ(0x48) :0x000x000x000x000x00感謝閱讀##chg_type :ADP##battery_vol:0mV##battery_cap:100%##BootingCarddidnotrespondtovoltageselect!精品文檔放心下載Net: x6818ethinit...x6818macinit..._dwmac.c0060000Hitanykeytostopautoboot: 0謝謝閱讀X6818#5.u-boot的信息X6818#bdinfo----------->查看硬件平臺的信息arch_number=0x000010EA--------->u-boot針對具體硬件平臺的IDboot_params=0x40000100---------->u-boot傳遞給內(nèi)存的啟動參數(shù)DRAMbank=0x00000000->start=0x40000000--------->內(nèi)存的開始地址->size=0x40000000-------->內(nèi)存的大小eth0name=dwmac.c0060000ethaddr=00:e2:1c:ba:e8:60currenteth=dwmac.c0060000ip_addr=1baudrate=115200bpsTLBaddr=0x7FFF0000_relocaddr=0x46000000relocoff=0x00000000irq_sp=0x7DF6BF00spstart=0x43BFFE68DDR3的內(nèi)存地址范圍:0x40000000~0x7FFFFFFF謝謝閱讀X6818#printenv ----------->查看u-boot的環(huán)境變量精品文檔放心下載androidcrc=-411152780baudrate=115200bootargs=lcd=at070tn92tp=gslx680-linuxroot=/dev/mmcblk0p2rwrootfstype=ext4謝謝閱讀bootcmd=ext4loadmmc2:10x48000000uImage;bootm0x48000000精品文檔放心下載bootdelay=5bootfile=uImageethact=dwmac.c0060000ethaddr=00:e2:1c:ba:e8:60 -------->網(wǎng)卡的mac地址感謝閱讀ethprime=RTL8211 -------->網(wǎng)卡芯片的型號謝謝閱讀fastboot=flash=mmc,2:ubootpak:2nd:0x200,0x78000;flash=mmc,2:2ndb精品文檔放心下載oot:2nd:0x200,0x4000;flash=mmc,2:bootloader:boot:0x8000,0x70000;fla感謝閱讀sh=mmc,2:boot:ext4:0x00100000,0x04000000;flash=mmc,2:system:ext4:感謝閱讀_0x04100000,0x2F200000;flash=mmc,2:cache:ext4:0x33300000,0x1AC000謝謝閱讀00;flash=mmc,2:misc:emmc:0x4E000000,0x00800000;flash=mmc,2:recov謝謝閱讀ery:emmc:0x4E900000,0x01600000;flash=mmc,2:userdata:ext4:0x50000謝謝閱讀000,0x0;filesize=41ee8gatewayip= ---------->網(wǎng)關(guān)感謝閱讀ipaddr=1 --------->板子的IP謝謝閱讀netmask= --------->子網(wǎng)掩碼精品文檔放心下載serverip=0 --------->tftp服務(wù)器的IP感謝閱讀stderr=serialstdin=serialstdout=serialEnvironmentsize:846/32764bytes精品文檔放心下載關(guān)鍵的內(nèi)容:(1)bootargs ------->啟動參數(shù)bootargs=lcd=at070tn92tp=gslx680-linuxroot=/dev/mmcblk0p2rwrootfstype=ext4謝謝閱讀lcd=at070tn92 ------->液晶屏的型號,800*480感謝閱讀_tp=gslx680-linux -------->觸摸屏的型號精品文檔放心下載root=/dev/mmcblk0p2----->rootfs在哪里,告訴kernel去哪里掛載rootfs感謝閱讀/dev/mmcblk0p2 ----> mmcblk0(emmc電子硬盤)謝謝閱讀p2(partion2,emmc電子硬盤的第二個分感謝閱讀區(qū))rwrootfstype=ext4ext4

------>rootfs是可讀可寫的,根文件系統(tǒng)的類型是精品文檔放心下載練習(xí):如何查看emmc電子硬盤有幾個分區(qū),以及設(shè)備的詳細(xì)信息答:到根目錄去查看cd/dev+ls-l或者ls-l/devbrw-rw----1rootroot179,0Jan11970mmcblk0brw-rw----1rootroot179,8Jan11970mmcblk0boot0brw-rw----1rootroot179,16Jan11970mmcblk0boot1brw-rw----1rootroot179,1Jan11970mmcblk0p1brw-rw----1rootroot179,2Jan11970mmcblk0p2brw-rw----1rootroot179,3Jan11970mmcblk0p3brw-rw----1rootroot179,4Jan11970mmcblk0p4brw-rw----1rootroot179,5Jan11970mmcblk0p5_brw-rw----1rootroot179,6Jan11970mmcblk0p6brw-rw----1rootroot179,7Jan11970mmcblk0p7179-------->主設(shè)備號 2------->次設(shè)備號,設(shè)備號=主設(shè)備號<<20 +感謝閱讀次設(shè)備號(2)bootcmd ------->啟動命令bootcmd=ext4loadmmc2:10x48000000uImage;bootm0x48000000精品文檔放心下載以ext4文件系統(tǒng)格式去emmc的第一個分區(qū)加載Linux內(nèi)核,加載到0x48000000地址上,然后在0x48000000地址上啟動Linux內(nèi)核。謝謝閱讀通俗的理解:bootcmd告訴u-boot去哪里加載Linux內(nèi)核,bootargs告訴linux內(nèi)核,去哪里掛載rootfs。感謝閱讀(3)修改啟動延時時間#setenvbootdelay 3#saveenv三、分析linux內(nèi)核1.linux的作用_(1)進程管理和進程通信:進程的創(chuàng)建和刪除,進程的優(yōu)先級搶占,進程精品文檔放心下載的時間片輪轉(zhuǎn),進程間的通信機制(2)內(nèi)存管理:內(nèi)存分配算法,每個進程的內(nèi)存空間(3)內(nèi)核支持的文件系統(tǒng):#cat /proc/filesystems精品文檔放心下載(4)設(shè)備管理: ------>linux驅(qū)動---->字符設(shè)備,塊設(shè)備,網(wǎng)絡(luò)設(shè)備,中斷,內(nèi)核精品文檔放心下載時鐘(5)網(wǎng)絡(luò)協(xié)議:如tcp/ip協(xié)議2.GEC6818開發(fā)板

------>輸出信息GEC

-------

Guangdong

Embedded

Center(1)u-boot加載內(nèi)核##BootingkernelfromLegacyImageat48000000...感謝閱讀_Image Name: Linux-3.4.39-gec感謝閱讀--------------------->linux內(nèi)核版本精品文檔放心下載ImageType: ARMLinuxKernelImage(uncompressed)精品文檔放心下載DataSize: 5533496Bytes=5.3MiB感謝閱讀LoadAddress:40008000 ------------------->DDR3內(nèi)存的感謝閱讀地址EntryPoint: 40008000VerifyingChecksum...OKLoadingKernelImage...OK感謝閱讀Startingkernel...(2)Linux內(nèi)核啟動[ 0.000000]BootingLinuxonphysicalCPU0謝謝閱讀(3)Linux內(nèi)存管理[0.000000]Memory:1024MB=1024MBtotal[0.000000]Memory:810800k/810800kavailable,237776kreserved,272384Khighmem[0.000000]Virtualkernelmemorylayout:[0.000000]vector:0xffff0000-0xffff1000(4kB)[0.000000]fixmap:0xfff00000-0xfffe0000(896kB)_[0.000000]vmalloc:0xef800000-0xfee00000(246MB)[0.000000]lowmem:0xc0000000-0xef600000(758MB)[0.000000]pkmap:0xbfe00000-0xc0000000(2MB)[0.000000]modules:0xbf000000-0xbfe00000(14MB)[0.000000].text:0xc0008000-0xc0a54188(10545kB)[0.000000].init:0xc0a55000-0xc0a92100(245kB)[0.000000].data:0xc0a94000-0xc0b2e488(618kB)[0.000000].bss:0xc0b2e4ac-0xc0d0e1c8(1920kB)[ 0.000000]SLUB:Genslabs=11,HWalign=64,Order=0-3,謝謝閱讀MinObjects=0,CPUs=8,Nodes=1精品文檔放心下載(4)設(shè)備管理[ 0.207000]usbcore:registerednewinterfacedriverusbfs感謝閱讀[ 0.208000]i2c-gpioi2c-gpio.0:usingpins99(SDA)and98感謝閱讀_(SCL)[0.209000]s3c-i2cs3c2440-i2c.1:i2c-1:S3CI2Cadapter[0.210000]s3c-i2cs3c2440-i2c.1:slaveaddress0x10[0.210000]s3c-i2cs3c2440-i2c.1:busfrequencysetto195KHz[0.211000]s3c-i2cs3c2440-i2c.2:i2c-2:S3CI2Cadapter[0.211000]s3c-i2cs3c2440-i2c.2:slaveaddress0x10[0.211000]s3c-i2cs3c2440-i2c.2:busfrequencysetto195KHz[ 0.212000]Linuxvideocaptureinterface:v2.00謝謝閱讀[ 0.223000]axp22_ldo1:3000mV精品文檔放心下載[0.353000]DisplayLCDregisteroperation[0.354000]DisplayLVDSregisteroperation[0.354000]DisplayMiPiregisteroperation(5)網(wǎng)絡(luò)協(xié)議[0.331000]NET:Registeredprotocolfamily2[0.331000]IProutecachehashtableentries:32768(order:5,_131072bytes)[ 0.332000]TCPestablishedhashtableentries:131072(order:謝謝閱讀8,1048576bytes)[ 0.334000]TCPbindhashtableentries:65536(order:8,精品文檔放心下載1572864bytes)[ 0.336000]TCP:Hashtablesconfigured(established131072精品文檔放心下載bind65536)[ 0.336000]TCP:renoregistered謝謝閱讀[ 0.336000]UDPhashtableentries:512(order:3,32768謝謝閱讀bytes)[ 0.337000]UDP-Litehashtableentries:512(order:3,32768感謝閱讀bytes)[ 0.337000]NET:Registeredprotocolfamily1感謝閱讀(6)掛載rootfs

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論