嵌入式linux系統開發入門寶典——基於arm cortex-a8處理器

嵌入式linux系統開發入門寶典——基於arm cortex-a8處理器

《嵌入式linux系統開發入門寶典——基於arm cortex-a8處理器》是2016年4月清華大學出版社出版的圖書,作者是李建祥。本書詳細介紹Bootloader和Linux核心移植,基於Cortex-A8架構、S5PV210處理器,從相關基礎知識開始,再結合硬體原理圖,逐個分析硬體部件的工作原理以及編程方法。

基本介紹

  • 中文名:嵌入式linux系統開發入門寶典——基於arm cortex-a8處理器
  • 作者:李建祥
  • 出版社:清華大學出版社
  • ISBN:9787302424710
內容簡介,圖書目錄,

內容簡介

本書從嵌入式系統開發的基礎知識開始講起,全面介紹嵌入式開發過程中的方方面面。內容涵蓋宿主機Linux作業系統的安裝設定以及常用工具的使用、配置,嵌入式編程基礎知識(包括基於CortexA8架構開發環境的製作、配置和使用,ARM處理器的常用彙編編程及其ATPCS規則,Makefile規則,嵌入式C編程等),常用IC部件工作原理及其編程(俗稱裸機編程),UBoot、Linux核心的分析、配置和移植,根檔案系統的製作,基於Linux系統的驅動架構分析、驅動程式開發和移植。 全書共分3篇: 第1篇(第1~4章)著重介紹嵌入式Linux系統開發前的一些準備知識; 第2篇(第5~12章)著重講解硬體部件的使用與編程; 第3篇(第13~16章)著重講解基於CortexA8處理器的嵌入式Linux系統開發中的系統分析、移植以及驅動開發、移植。全書提供了大量的套用實例,並且均在天嵌TQ210開發板上調試通過,讀者可在清華大學出版社網站本書頁面下載。 本書由淺入深、循序漸進,適合剛接觸嵌入式Linux的初學者學習,同時可作為高等院校嵌入式相關專業本科、研究生教材,亦可作為廣大嵌入式系統開發工作者的參考書。

圖書目錄

目錄
第一篇工欲善其事,必先利其器
第1章嵌入式系統概述
1.1嵌入式系統基礎知識
1.1.1嵌入式系統簡介
1.1.2嵌入式系統的特點
1.1.3嵌入式系統的發展歷史
1.1.4嵌入式系統的組成
1.1.5嵌入式作業系統簡介
1.1.6嵌入式系統開發概述
1.2基於ARM架構的S5PV210處理器
1.2.1ARM微處理器概述
1.2.2ARM流水線技術的發展
1.2.3ARM CortexA8處理器介紹
1.2.4ARM CortexA8暫存器組介紹
1.2.5SAMSUNG S5PV210處理器介紹
1.3本章小結
第2章嵌入式Linux開發環境搭建
2.1交叉開發模式
2.1.1嵌入式交叉開發模式介紹
2.1.2硬體需求
2.2軟體環境搭建與配置
2.2.1宿主機Linux作業系統的安裝
2.2.2配置宿主Linux作業系統
2.2.3在宿主機上安裝、配置開發環境
2.2.4製作交叉編譯工具鏈
嵌入式Linux系統開發入門寶典——基於ARM CortexA8處理器
2.3本章小結
第3章常用開發工具和命令的使用
3.1Windows環境下的工具介紹
3.1.1代碼閱讀、編輯工具Source Insight
3.1.2檔案傳輸工具CuteFTP
3.1.3終端仿真工具SecureCRT
3.2Linux環境下的工具介紹
3.2.1代碼閱讀、編輯工具
3.2.2終端訪問工具
3.3嵌入式Linux系統常用命令介紹
3.3.1編輯命令vi(vim)
3.3.2常用13個命令介紹
3.3.3SD卡燒寫命令df、dd
3.4本章小結
第4章嵌入式編程基礎知識
4.1GNU ARM常用彙編指令介紹
4.1.1相對跳轉指令b和bl
4.1.2數據傳送指令mov和地址讀取偽指令ldr
4.1.3記憶體訪問指令ldr、str、ldm、stm
4.1.4加減指令add、sub
4.1.5程式狀態暫存器訪問指令msr、mrs
4.1.6其他偽指令
4.2ARMThumb子程式調用(ATPCS)規則介紹
4.2.1暫存器使用規則
4.2.2數據棧使用規則
4.2.3參數傳遞規則
4.3ARM交叉工具鏈介紹
4.3.1編譯工具armlinuxgcc
4.3.2連結工具armlinuxld
4.3.3對象生成工具armlinuxobjcopy
4.3.4反彙編工具armlinuxobjdump
4.4Makefile簡介
4.4.1基本規則
4.4.2make是如何工作的
4.4.3變數的用法
4.4.4常用函式介紹
4.5本章小結
第二篇千里之行,始於足下
第5章基於CortexA8的S5PV210啟動流程介紹
5.1S5PV210啟動流程概述
5.1.1外部啟動介質介紹
5.1.2iROM啟動的優勢
5.2S5PV210上電初始化及記憶體空間分布
5.2.1啟動流程
5.2.2空間分布
5.2.3SD卡引導塊分配情況介紹
5.2.4iROM中的時鐘配置
5.3S5PV210上的程式燒寫介紹
5.3.1程式燒寫概述
5.3.2製作BL1頭信息
5.3.3燒寫SD卡
5.3.4製作Shell腳本
5.4本章小結
第6章通用輸入/輸出接口GPIO
6.1GPIO控制技術概述
6.1.1GPIO的介紹
6.1.2S5PV210的GPIO暫存器
6.1.3實驗用到的暫存器詳解
6.2S5PV210的GPIO套用實例
6.2.1實驗介紹
6.2.2程式設計與代碼詳解
6.3本章小結
第7章通用異步收發器UART
7.1UART的原理及S5PV210的UART介紹
7.1.1UART通信的基本原理
7.1.2S5PV210的UART介紹
7.2S5PV210的UART套用實例
7.2.1實驗介紹
7.2.2程式設計與代碼詳解
7.2.3實例測試
7.3本章小結
第8章中斷體系結構
8.1S5PV210中斷體系結構
8.1.1中斷體系結構概述
8.1.2中斷控制暫存器介紹
8.2S5PV210的中斷套用實例
8.2.1實驗介紹
8.2.2程式設計與代碼詳解
8.2.3實例測試
8.3本章小結
第9章系統時鐘和定時器
9.1S5PV210的時鐘體系結構
9.1.1S5PV210的時鐘域和時鐘源
9.1.2S5PV210的時鐘套用和配置流程
9.1.3S5PV210時鐘控制暫存器介紹
9.2S5PV210 PWM定時器
9.2.1S5PV210 PWM定時器概述
9.2.2S5PV210定時器
9.2.3PWM定時器的暫存器介紹
9.3S5PV210時鐘和定時器套用實例
9.3.1實驗介紹
9.3.2程式設計與代碼詳解
9.3.3實驗測試
9.4本章小結
第10章S5PV210存儲控制器
10.1S5PV210存儲控制器介紹
10.1.1存儲控制器概述
10.1.2DRAM存儲控制器
10.1.3與外設的接線方式
10.1.4DDR2 SDRAM概述
10.1.5S5PV210 DDR2初始化順序
10.1.6存儲控制器的暫存器介紹
10.2存儲控制器套用實例
10.2.1實驗介紹
10.2.2程式設計與代碼詳解
10.2.3實驗測試
10.3本章小結
第11章S5PV210 Nand Flash控制器
11.1Nor Flash與Nand Flash介紹
11.1.1Flash快閃記憶體
11.1.2Nor Flash與Nand Flash比較
11.1.3Nand Flash的物理結構
11.1.4Nand Flash的訪問方法
11.2S5PV210 Nand Flash控制器介紹
11.2.1Nand Flash控制器的特性
11.2.2Nand Flash的模組圖
11.2.3Nand Flash的引腳配置
11.2.4Nand Flash存儲控制器配置
11.2.5Nand Flash暫存器介紹
11.2.6Nand Flash控制器的ECC校驗方法
11.3Nand Flash控制器套用實例
11.3.1實驗介紹
11.3.2程式設計與代碼詳解
11.3.3實例測試
11.4本章小結
第12章LCD控制器
12.1LCD介紹
12.1.1LCD的分類
12.1.2LCD的接口
12.2S5PV210 LCD控制器
12.2.1S5PV210 LCD控制器概述
12.2.2S5PV210 LCD控制器主要特性介紹
12.2.3S5PV210 LCD控制器功能介紹
12.2.4S5PV210 TFT LCD的操作
12.2.5S5PV210 LCD控制器編程方法介紹
12.2.6S5PV210 LCD控制器主要暫存器介紹
12.3LCD控制器套用實例
12.3.1實驗介紹
12.3.2程式設計與代碼詳解
12.3.3實例測試
12.4本章小結
第三篇欲窮千里目,更上一層樓
第13章移植UBoot
13.1Bootloader介紹
13.1.1Bootloader概述
13.1.2Bootloader的結構和啟動方式
13.1.3Bootloader操作模式和安裝位置
13.1.4如何編寫Bootloader
13.1.5UBoot與核心之間的互動
13.2移植UBoot到S5PV210開發板
13.2.1UBoot簡介
13.2.2UBoot源碼結構
13.2.3UBoot配置、編譯與SPL介紹
13.2.4UBoot啟動過程源碼分析
13.2.5UBoot下的驅動移植
13.2.6添加啟動選單
13.3本章小結
第14章Linux核心移植和根檔案系統製作
14.1Linux核心概述
14.1.1Linux核心發展及其版本特點
14.1.2Linux核心源碼獲取
14.1.3核心源碼結構及Makefile分析
14.1.4Linux核心的Kconfig介紹
14.1.5Linux核心配置選項
14.2Linux核心移植
14.2.1Linux核心啟動過程分析
14.2.2修改核心支持S5PV210平台
14.3本章小結
第15章構建Linux根檔案系統
15.1Linux檔案系統概述
15.1.1檔案系統概述
15.1.2Linux根檔案系統目錄結構
15.1.3檔案系統工作原理
15.2移植Busybox
15.2.1Busybox介紹
15.2.2Busybox的目錄結構
15.2.3核心init進程及用戶程式啟動過程
15.2.4配置/編譯/安裝Busybox
15.2.5構建根檔案系統
15.3本章小結
第16章驅動相關移植
16.1Linux驅動程式概述
16.1.1驅動程式、核心和應用程式之間的關係
16.1.2驅動程式分類
16.1.3驅動程式開發步驟
16.1.4驅動程式的載入和卸載
16.2網卡驅動移植
16.2.1DM9000網卡特性
16.2.2DM9000驅動移植
16.3Nand驅動移植
16.3.1S5PV210平台Nand驅動移植
16.3.28位硬體ECC和Nand啟動
16.4LCD驅動移植
16.4.1LCD驅動概述
16.4.2LCD驅動移植
16.5其他驅動移植
16.5.1支持SD卡驅動
16.5.2LED子系統驅動移植
16.5.3支持RTC驅動
16.5.4支持1wire單匯流排驅動
16.6本章小結
參考文獻

相關詞條

熱門詞條

聯絡我們