Linux:linux
上電->uboot->加載Linux內核->掛在根文件系統->執行應用程序ios
Windows:安全
上電->bios->加載winnt內核->掛在文件系統->執行應用程序網絡
介紹:函數
uboot主要用於嵌入式系統的引導加載程序,全程Universal Boot Loader,是遵循GPL條款的開放源碼項目。spa
Boot :完成硬件的初始化,啓動硬件平臺操作系統
Loader :初始化硬件後,加載操做系統blog
uboot是一個很是複雜的裸機程序,而不是一個操做系統。接口
輸出信息:進程
進入uboot查看開發板信息:
arch_number ://uboot針對具體硬件平臺的ID,若跟linux內核的ID不一致,不能啓動內核
boot_params ://uboot傳遞給內存啓動參數的地址
DRAM bank ://內存通道0
-> start ://起始地址
-> size ://內存的大小
eth0name ://網卡的名字
ethaddr ://網卡的MAC地址信息
current eth ://當前使用的網卡
ip_addr ://網卡的IP地址
baudrate ://串口波特率
relocaddr ://linux內核執行的地址
查看環境變量:
bootargs=mem=512M console=ttyAMA0,115200 root=/dev/mtdblock2 rw rootfstype=yaffs2 mtdparts=hinand:1M(boot),4M(kernel),123M(rootfs) 傳遞給內核的啓動參數
mem=512M:內存大小512M
console=ttyAMA0,115200:串口輸出佔用ttyAMA0 波特率115200
root=/dev/mtdblock2:告訴內核去哪裏掛在掛載根文件系統
rw rootfstype=yaffs2:該文件系統可讀寫 文件系統類型爲yaffs2
mtdparts=hinand:1M(boot),4M(kernel),123M(rootfs):nand使用狀況
bootcmd=nand read 0x81000000 0x100000 0x400000;bootm 0x81000000
將地址0x100000讀取到地址0x81000000,大小爲0x400000,去0x81000000啓動內核
bootdelay=2
uboot啓動延時,就開始執行boot命令(即bootcmd)
下載文件:
tftp 內存地址 文件名 //將文件放到板子上
go 內存地址 //執行文件
弄不懂以上內存到底指什麼?我還會回來的!
負責管理系統的進程、內存、設備驅動程序、文件和網絡系統
什麼是驅動?驅動就是計算機程序訪問硬件的一個接口,這個接口是由操做系統提供。由於在操做系統涉及到安全管理機制,應用層程序不可以直接訪問到硬件,須要經過驅動函數接口來訪問硬件。