資料介紹
Bootloader是什么Bootloader的概念和引入及啟動方式等詳細資料概述。
一、Bootloader 的引入
從前面的硬件實驗可以知道,系統上電之后,需要一段程序來進行初始化:關閉WATCHDOG、改變系統時鐘、初始化存儲控制器、將更多的代碼復制到內存中等等。如果它能將操作系統內核(無論從本地,比如Flash;還是從遠端,比如通過網絡)復制到內存中運行,就稱這段程序為Bootloader。
簡單地說,Bootloader 就是這么一小段程序,它在系統上電時開始執行,初始化硬件設備、準備好軟件環境,最后調用操作系統內核。
可以增強 Bootloader 的功能,比如增加網絡功能、從PC 上通過串口或網絡下載文件、燒寫文件、將Flash 上壓縮的文件解壓后再運行等──這就是一個功能更為強大的Bootloader,也稱為Monitor。實際上,在最終產品中用戶并不需要這些功能,它們只是為了方便開發。
Bootloader 的實現嚴重依賴于具體硬件,在嵌入式系統中硬件配置千差萬別,即使是相同的CPU,它的外設(比如Flash)也可能不同,所以不可能有一個Bootloader 支持所有的CPU、所有的電路板。即使是支持CPU 架構比較多的U-Boot,也不是一拿來就可以使用的(除非里面的配置剛好與你的板子相同),需要進行一些移植。

二、 Bootloader 的啟動方式
CPU 上電后,會從某個地址開始執行。比如MIPS 結構的CPU 會從0xBFC00000 取第一條指令,而ARM 結構的CPU 則從地址0x0000000 開始。嵌入式單板中,需要把存儲器件ROM或Flash 等映射到這個地址,Bootloader 就存放在這個地址開始處,這樣一上電就可以執行。
在開發時,通常需要使用各種命令操作 Bootloader,一般通過串口來連接PC 和開發板,可以在串口上輸入各種命令、觀察運行結果等。這也只是對開發人員才有意義,用戶使用產品時是不用接串口來控制Bootloader 的。從這個觀點來看,Bootloader 可以分為兩種操作模式(Operation Mode):
(1)啟動加載(Boot loading)模式。
上電后,Bootloader 從板子上的某個固態存儲設備上將操作系統加載到RAM 中運行,整個過程并沒有用戶的介入。產品發布時,Bootloader 工作在這種模式下。
?。?)下載(Downloading)模式。
在這種模式下,開發人員可以使用各種命令,通過串口連接或網絡連接等通信手段從主機(Host)下載文件(比如內核映像、文件系統映像),將它們直接放在內存運行或是燒入Flash 類固態存儲設備中。
板子與主機間傳輸文件時,可以使用串口的xmodem/ymodem/zmodem 協議,它們使用簡單,只是速度比較慢;還可以使用網絡通過tftp、nfs 協議來傳輸,這時,主機上要開啟tftp、nfs服務;還有其他方法,比如USB 等。
像 Blob 或U-Boot 等這樣功能強大的Bootloader 通常同時支持這兩種工作模式,而且允許用戶在這兩種工作模式之間進行切換。比如,U-Boot 在啟動時處于正常的啟動加載模式,但是它會延時若干秒(這可以設置)等待終端用戶按下任意鍵而將U-Boot 切換到下載模式。如果在指定時間內沒有用戶按鍵,則U-Boot 繼續啟動Linux 內核。
- MCU Bootloader總結
- 嵌入式 Linux 啟動流程和 bootloader 介紹
- 幾種MCU bootLoader的實現方案
- BootLoader與Linux內核的參數傳遞詳細資料說明 13次下載
- 嵌入式操作系統中BootLoader的詳細資料說明
- ESP8266二級Bootloader跳轉測試的詳細資料合集免費下載 13次下載
- Bootloader的詳細資料分析免費下載 45次下載
- Bootloader是什么Bootloader的介紹和過程詳細解 49次下載
- 啟動代碼與bootloader有什么區別 10次下載
- 移植Bootloader的過程總結資料說明 11次下載
- 嵌入式教程之Bootloader的詳細資料說明 5次下載
- Laplace變換的PID整定與引入的詳細資料概述 6次下載
- 基于ARM的Bootloader啟動流程研究 10次下載
- ARM的Bootloader啟動流程研究 70次下載
- 基于ARM核的Bootloader代碼的分析與設計
- 如何才能將Bootloader和Application關聯起來 1.9k次閱讀
- 圖解基于UDS的Flash BootLoader 2.1k次閱讀
- ARM處理器如何編寫Bootloader 1.4k次閱讀
- 單片機BootLoader與APP如何合并 2.2k次閱讀
- 如何實現簡單的bootloader功能 3.3k次閱讀
- STM32系統bootloader的應用有哪些 6.5k次閱讀
- 嵌入式Linux啟動時間優化的秘密之五-Bootloader 3.4k次閱讀
- 詳談嵌入式之Bootloader 6.7k次閱讀
- 開關電源的正激變換器基本工作原理及元器件如何選擇等詳細資料概述 1.6w次閱讀
- PLC常用基本環節梯形圖和詳細文字說明詳細資料概述 1.1w次閱讀
- AVR的bootloader的設置步驟教程及注意事項 7.5k次閱讀
- 詳解bootloader的執行流程與ARM Linux啟動過程分析 1.1w次閱讀
- 微控制器的bootloader程序的運行和使用 9.1k次閱讀
- pic18單片機在BootLoader中的應用 1.2k次閱讀
- 解鎖BootLoader 3.9k次閱讀
下載排行
本周
- 1冷柜-電氣控制系統講解
- 13.68 MB | 4次下載 | 10 積分
- 2安川A1000變頻器中文版說明書
- 20.16 MB | 3次下載 | 3 積分
- 3直流電路的組成和基本定律
- 1.67 MB | 2次下載 | 免費
- 4丹佛斯2800系列變頻器說明書
- 8.00 MB | 1次下載 | 5 積分
- 5PC8011同步開關型降壓3.5A單節鋰電池充電管理電路技術手冊
- 0.74 MB | 1次下載 | 免費
- 6ES7243E+ES8311音頻錄制與播放電路資料
- 0.06 MB | 1次下載 | 5 積分
- 7SDM02 激光測距模塊產品手冊
- 0.43 MB | 1次下載 | 免費
- 8SDFM 激光測距模塊模組手冊
- 0.54 MB | 1次下載 | 免費
本月
- 1CH341編程器軟件NeoProgrammer_2.2.0.10
- 20.47 MB | 170次下載 | 1 積分
- 22025智能家居傳感器市場分析及創新應用
- 3.11 MB | 43次下載 | 免費
- 3RV1126B系列開發板產品資料
- 4.19 MB | 18次下載 | 免費
- 4CH341編程軟件下載
- 2.50 MB | 16次下載 | 5 積分
- 5全志系列-米爾基于T153核心板開發板 四核異構、3路千兆網,賦能多元化工業場景
- 3.05 MB | 12次下載 | 免費
- 6【開源】60余套STM32單片機、嵌入式Linux、物聯網、人工智能項目案例及入門學習資源包
- 10.55 MB | 8次下載 | 免費
- 7冷柜-電氣控制系統講解
- 13.68 MB | 4次下載 | 10 積分
- 8特斯拉MODEL S車載充電機主電路回路原理圖
- 0.81 MB | 4次下載 | 3 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233094次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191448次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183356次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81604次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73824次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發燒友App





創作
發文章
發帖
提問
發資料
發視頻
上傳資料賺積分
評論