為什麼要有uboot
《朱老師物聯網大講堂》學習筆記
學習地址:www.zhulaoshi.org
uboot做什麼的呢?
簡單說就是啟動作業系統核心,
但是作業系統的啟動涉及很多東西,
所以啟動過程會有很多步驟。
計算機系統中,cpu(運算器+控制器)為核心,
同時組成部件也非常多,
有很多不同型別的計算機系統,因此組成部件也不同,
如果不涉及過多的細節,可以理解為計算機系統執行的核心部件就是:
cpu + 外部儲存器(flash/硬碟) + 內部儲存器( DDR...)
在開始講啟動過程前,要先明說下,
載pc機種,bios程式在主機板上,作業系統部署在硬碟上,
典型pc啟動過程:
執行bios(pc中是norflash),負責初始化記憶體和硬碟,從硬碟將os映象讀取到ddr中,然後跳轉到ddr中去執行os直到啟動(os啟動後bios就無用了)
在典型的嵌入式系統中,沒有bios,但是有bootloader,uboot部署在flash(能作為啟動裝置的),os也部署在flash上(以前說過,嵌入式系統沒有硬碟),這兩個flash可以是一個,也可以不是同一個。
啟動過程:先執行uboot(一種bootloader),uboot負責初始化ddr,初始化flash,將os從flash讀取到ddr中,然後啟動os(os啟動後uboot就無用了)。
bios變成uboot,硬碟變成flash,
android系統啟動和linux幾乎一樣,在核心啟動後,載入根檔案系統開始不一樣。
uboot:
1.啟動系統核心,
2.部署計算機,
3.驅動硬碟等硬體,
4.提供一個命令列。
相關文章
- 遊戲為什麼要有故事?遊戲
- GC是什麼?為什麼要有GC?GC
- 為什麼 Redis 要有哨兵機制?Redis
- 什麼是垃圾蒐集(GC)?為什麼要有GC呢?GC
- 為什麼要有 Servlet ,什麼是 Servlet 容器,什麼是 Web 容器?ServletWeb
- 既然有MySQL了,為什麼還要有MongoDB?MySqlMongoDB
- Redis避坑指南:為什麼要有分散式鎖?Redis分散式
- 為什麼要有事件迴圈機制(Event Loop)事件OOP
- 為什麼微服務一定要有閘道器?微服務
- 什麼是NLP,NLP主要有什麼用,為什麼要學自然語言處理?自然語言處理
- 為什麼分散式一定要有訊息佇列?分散式佇列
- 遊戲裡為什麼要有“惹人厭”的負重系統遊戲
- 為什麼個人和企業都需要有個網站?網站
- 條碼軟體為什麼要有等級要求(A級條碼)
- 為什麼招聘測試人員需要有開發經驗
- 條形碼是什麼,主要有什麼區別
- 面試官:說說你對NoSQL的瞭解,為什麼要有NoSQL面試SQL
- 計算機程式的思維邏輯 (20) – 為什麼要有抽象類?計算機抽象
- 計算機程式的思維邏輯 (20) - 為什麼要有抽象類?計算機抽象
- 已經有 Atom 了,為什麼還要有 Atom-IDE ?IDE
- APP到底有哪些優勢呢?企業為什麼要有自己的APP?APP
- 為什麼要有Shell指令碼註釋?linux系統開發基礎指令碼Linux
- Java記憶體模型是什麼,為什麼要有Java記憶體模型,Java記憶體模型解決了什麼問題?Java記憶體模型
- 電子遊戲需要有什麼樣的操作玩法?遊戲
- 為什麼配置智慧DNS解析的時候一定要有預設線路?DNS
- 為什麼為什麼為什麼為什麼為什麼你要做一名程式設計師?程式設計師
- 遊戲行業入行指南001:為什麼我們強調應屆生要有作品?遊戲行業
- 「分散式技術專題」時鐘系列二:資料庫世界中為什麼要有時鐘?分散式資料庫
- 程式設計師如何實現“網際網路+”03-為什麼需要有個網站程式設計師網站
- 為什麼要虛擬化,為什麼要容器,為什麼要Docker,為什麼要K8S?DockerK8S
- 學Linux運維要有什麼基礎?Linux學習Linux運維
- 我們常說的“資料治理”主要有什麼用?
- 為什麼 [] == ![] 為 true?
- Uboot功能boot
- 什麼是Docker?為什麼使用docker?Docker
- 為什麼要用Redis?Redis為什麼這麼快?(來自知乎)Redis
- 網路安全中後門來源主要有哪些?有什麼目的?
- uboot-uboot介紹-學習筆記boot筆記