深入理解 BootLoader 深入理解BootLoader

胡爾佳

  • 出版商: 機械工業
  • 出版日期: 2016-07-18
  • 定價: $354
  • 售價: 8.5$301
  • 語言: 簡體中文
  • 頁數: 267
  • 裝訂: 平裝
  • ISBN: 711148570X
  • ISBN-13: 9787111485704

已絕版

買這商品的人也買了...

相關主題

商品描述

不同的CPU體系結構有不同的BootLoader。

有些BootLoader支持多種體系結構的CPU,比如U-Boot就同時支持ARM體系結構和MIPS體系結構。除了依賴於CPU的體系結構外,BootLoader實際上也依賴於具體的嵌入式板級設備的配置。
也就是說,對於兩塊不同的嵌入式板而言,即使它們是基於同一種CPU而構建的,要想讓運行在一塊板子上的BootLoader程序也能運行在另一塊板子上,通常需要修改BootLoader的源程序。
因此每款嵌入式產品的BootLoader都是獨一無二的,但我們可以總結出開發或者維護特定BootLoader需要哪些背景知識,掌握了這些背景知識,我們就可以做到以不變應萬變。

目錄大綱

前言

第1章BootLoader的概念 

1.1 BootLoader的角色 
1.2 BootLoader的來歷 
1.3 BootLoader的概念 
1.3.1 MCU下的BootLoader 
1.3.2嵌入式ARM和Linux下的BootLoader 
1.3.3 PC下的引導流程 
1.4本章小結 

第2章L.nux開發環境 

2.1編輯器Vim 
2.1.1 Vim介紹 
2.1.2 Vim的兩個基本模式 
2.1.3 Vim的兩個常用模式 
2.1.4 Vim的啟動與退出 
2.1.5 Vim下光標的移動 
2.1.6 Vim下的複制、粘貼和刪除 
2.1.7 Vim下的撤銷和重複 
2.1.8 Vim下的查找和替換 
2.1.9 Vim下的文件恢復 
2.1.10 Vim下的插件 
2.2編譯器GCC和交叉編譯器
2.2. 1 GCC的編譯流程 
2.2.2 GCC的常用編譯選項
2.2.3交叉編譯器 
2.3常用shell命令和腳本 
2.3.1 find命令 
2.3.2 grep命令 
2.3.3管道與重定向 
2.4工程管理Make和Makefile 
2.4.1 Make和Makefile 
2.4.2 Makefile中的變量 
2.4.3自動推導規則 
2.4.4嵌套的Makefile 
2.4.5 Make偽目標 
2.4.6自動化變量 
2.4.7 Make的內嵌函數 
2.5本章小結 

第3章ARM體系結構

3.1處理器模式 
3.2異常 
3.3 ARM寄存器 
3.4通用寄存器 
3.4.1未分組的寄存器:R0~R7 
3.4.2分組的寄存器:R8~R14 
3.4.3寄存器R15:程序計數器 
3.5程序狀態寄存器 
3.5.1 PSR位的類型 
3.5.2條件標誌位 
3.5.3中斷禁止位 
3.5.4模式位 
3.6本章小結 

第4章ARM指令集 

4.1數據處理指令 
4.2分支指令 
4.3軟中斷指令 
4.4程序狀態寄存器指令 
4.5協處理器指令 
4.6加載常量的偽指令 
4.7本章小結 

第5章ARM尋址模式 

5.1尋址模式1-數據處理指令的尋址模式 
5.1.1編碼格式 
5.1.2移位器操作數 
5.1.3數據處理操作——立即數 
5.1.4數據處理操作——寄存器 
5.1.5數據處理操作——立即數的邏輯左移 
5.1.6數據處理操作——寄存器的邏輯左移 
5.1.7數據處理操作——立即數的邏輯右移 
5.1.8數據處理操作——寄存器的邏輯右移 
5.1.9數據處理操作——立即數的算術右移 
5.1.10數據處理操作——寄存器的算術右移一
5 .1.11數據處理操作— —立即數的循環右移一
5.1.12數據處理操作——寄存器的循環右移一
5.1.13數據處理操作——擴展的循環右移 

5.2尋址模式2-字或無符號字節的load/ store指令 
5.2.1編碼格式 
5.2.2立即數偏移 
5.2.3寄存器偏移 
5.2.4比例寄存器偏移 
5.2.5立即數的前變址尋址 
5.2.6寄存器的前變址尋址 
5.2.7比例寄存器的前變址尋址 
5.2.8立即數的後變址尋址 
5.2.9寄存器的後變址尋址 
5.2.10比例寄存器的後變址尋址 
5.3尋址模式3-雜類load/store 指令的尋址方式 
5.3.1編碼格式 
5.3.2雜類load/store-立即數偏移 

第6章編譯和鏈接
第7章鏈接腳本
第8章Linux下開發流水燈
第9章U-Boot代碼的分析
第10章實現簡單的BootLoader