《嵌入式系統(tǒng)應用基礎:基于S3C2410A的SKYEYE仿真與實踐》以三星(samsung)公司的應用型微處理器s3c2410a為基礎,結(jié)合虛擬仿真軟件skyeye,全面系統(tǒng)地講述基于arm公司的arm920t微處理器內(nèi)核的嵌入式linux系統(tǒng)的開發(fā)方法。
《嵌入式系統(tǒng)應用基礎:基于S3C2410A的SKYEYE仿真與實踐》按照實際的學習與實踐流程編排內(nèi)容結(jié)構(gòu):首先介紹嵌入式系統(tǒng)的概念;然后介紹arm微處理器的體系結(jié)構(gòu)與編程方法;接著在vmware虛擬機上建立linux系統(tǒng);隨后介紹linux系統(tǒng)基礎與交叉編譯環(huán)境;接下來介紹虛擬仿真軟件skyeye,并介紹了bootloader、linux內(nèi)核、根文件系統(tǒng)三個基礎內(nèi)容的應用與仿真;詳細介紹了嵌入式linux設備驅(qū)動程序的開發(fā);最后,以一個具體的開源游戲模擬器項目為例,講述開源軟件的應用方法。
《嵌入式系統(tǒng)應用基礎:基于S3C2410A的SKYEYE仿真與實踐》可作為電子信息、自動化、通信工程、機電一體化、計算機等專業(yè)高年級本科生及研究生的教材,也可供從事arm嵌入式系統(tǒng)開發(fā)的工程技術(shù)人員參考。
第1章 概述
1.1 嵌入式系統(tǒng)的概念
1.1.1 嵌入式系統(tǒng)的定義
1.1.2 嵌入式系統(tǒng)的結(jié)構(gòu)
1.1.3 嵌入式系統(tǒng)的特點
1.1.4 嵌入式系統(tǒng)的開發(fā)流程
1.1.5 嵌入式系統(tǒng)的應用
1.2 嵌入式微處理器
1.2.1 嵌入式微處理器
1.2.2 基于arm架構(gòu)的嵌入式微處理器
1.2.3 基于mips架構(gòu)的嵌入式微處理器
1.2.4 基于powerpc架構(gòu)的嵌入式微處理器
1.2.5 系統(tǒng)級芯片soc
1.2.6 嵌入式微處理器的發(fā)展趨勢
1.3 嵌入式系統(tǒng)的軟件
1.3.1 bootloade廣
1.3.2 嵌入式操作系統(tǒng)
1.3.3 應用程序
1.4 嵌入式系統(tǒng)的課程特點
本章小結(jié)
習題
第2章 arm體系結(jié)構(gòu)與編程方法
2.1 arm微處理器概述
2.1.1 arm微處理器的特點
2.1.2 arm微處理器的發(fā)展
2.1.3 arm微處理器s3c2410a的應用資源
2.2 arm體系結(jié)構(gòu)
2.2.1 作模式和指令狀態(tài)
2.2.2 arm寄存器
2.2.3 arm體系的異常中斷
2.2.4 arm微處理器的尋址方式
2.3 arm編程方法
2.3.1 arm指令概述
2.3.2 arm匯編程序設計
2.3.3 arm混合編程
2.4 arm系統(tǒng)程序設計基礎
2.4.1 ads1.2 集成開發(fā)環(huán)境簡介
2.4.2 ads1.2 集成開發(fā)環(huán)境下工程的創(chuàng)建
本章小結(jié)
習題
第3章 vmware虛擬機與linux環(huán)境的建立
3.1 安裝vmware workstation7
3.2 安裝red hat entervrise linux4
3.3 配置samba服務
3.4 vmware虛擬機共享設置
本章小結(jié)
習題
第4章 linux開發(fā)基礎
4.1 linux系統(tǒng)簡介
4.1.1 linux系統(tǒng)的組成
4.1.2 linux文件系統(tǒng)的目錄結(jié)構(gòu)
4.1.3 linux系統(tǒng)的特點
4.2 linux基本命令
4.2.1 文件命令
4.2.2 目錄命令
4.2.3 多用戶命令與安全性命令
4.2.4 其他常用命令
4.3 文本編輯器vi
4.3.1 vi的模式
4.3.2 進入與退出vi
4.3.3 編輯模式
4.3.4 命令模式
4.3.5 末行模式
4.4 linux函數(shù)庫
4.4.1 靜態(tài)函數(shù)庫
4.4.2 共享函數(shù)庫
4.4.3 函數(shù)庫和頭文件的保存位置
4.5 gcc及其使用
4.5.1 gcc32具簡介
4.5.2 可執(zhí)行文件的格式
4.5.3 gcc的使用
4.6 gdb調(diào)試器
4.6.1 gdb的安裝與使用
4.6.2 基本gdb命令
4.6.3 gdb程序遠程調(diào)試
4.7 gnumake和makefile
4.7.1 make概述
4.7.2 make命令格式
4.7.3 makefile的基本結(jié)構(gòu)
4.7.4 makefile的變量與函數(shù)
4.7.5 makefile的隱含規(guī)則
4.8 linuxshell編程
4.8.1 shell的變量
4.8.2 條件語句與循環(huán)語句
4.8.3 shell函數(shù)的定義與使用
4.9 嵌入式交叉編譯環(huán)境的搭建
本章小結(jié)
習題
第5章 嵌入式系統(tǒng)的仿真軟件skyeye
5.1 skyeye硬件模擬平臺
5.1.1 skyeye介紹
5.1.2 skyeye系統(tǒng)的原理
5.1.3 skyeye的設計實現(xiàn)
5.2 skyeye的使用
5.2.1 skyeye的安裝
5.2.2 skyeye的配置文件
5.2.3 skyeye程序的執(zhí)行
5.3 skyeye的結(jié)構(gòu)與執(zhí)行流程
5.3.1 skyeye的目錄結(jié)構(gòu)
5.3.2 skyeye的關(guān)鍵數(shù)據(jù)結(jié)構(gòu)
5.3.3 skyeye的執(zhí)行流程
本章小結(jié)
習題
第6章 bootloader程序
6.1 bootloader程序的原理
6.1.1 bootloader的概念
6.1.2 bootloader程序的原理
6.2 u-boot
6.2.1 u-boot簡介
6.2.2 u-boot的設計結(jié)構(gòu)
6.2.3 u-boot的編譯
6.2.4 u-boot的skyeye仿真
6.2.5 u-boot的常用命令
6.2.6 u-boot添加命令的方法
6.2.7 u-boot添加板級支持包的方法
6.2.8 u-boot添加驅(qū)動的方法
6.2.9 u-boot的固化
6.3 bootloader開發(fā)工具概覽表
本章小結(jié)
習題
第7章 linux內(nèi)核的配置、編譯與調(diào)試
7.1 linux2.6 內(nèi)核特性
7.1.1 linux2.6 內(nèi)核簡介
7.1.2 linux2.6 內(nèi)核的特性
7.2 linux內(nèi)核配置
7.2.1 下載linux內(nèi)核
7.2.2 修改makefile文件
7.2.3 配置內(nèi)核
7.2.4 更改程序運行的物理地址
7.3 linux內(nèi)核的編譯
7.4 基于skyeye的linux系統(tǒng)仿真
7.4.1 復制vmlinux到skyeye
7.4.2 建立skyeye.conf配置文件
7.4.3 復制文件系統(tǒng)initrd.img到skyeye
7.4.4 使用skyeye仿真linux系統(tǒng)
本章小結(jié)
習題
第8章 根文件系統(tǒng)的制作
8.1 根文件系統(tǒng)
8.1.1 根文件系統(tǒng)概述
8.1.2 常見的文件系統(tǒng)
8.2 busybox
8.2.1 busybox簡介
8.2.2 配置busybox
8.2.3 編譯與安裝busybox
8.3 根文件系統(tǒng)的制作過程
8.3.1 根文件系統(tǒng)的結(jié)構(gòu)
8.3.2 創(chuàng)建根文件系統(tǒng)的dev目錄
8.3.3 創(chuàng)建根文件系統(tǒng)的etc等目錄及配置文件
8.3.4 創(chuàng)建ext2格式的文件系統(tǒng)映像
8.3.5 添加initrd.img文件系統(tǒng)映像的內(nèi)容
8.4 基于skyeye的根文件系統(tǒng)仿真調(diào)試
本章小結(jié)
習題
第9章 嵌入式linux設備驅(qū)動程序開發(fā)
9.1 linux設備驅(qū)動程序簡介
9.1.1 linux設備驅(qū)動程序的引入
9.1.2 linux設備驅(qū)動程序的作用
9.1.3 linux設備驅(qū)動程序的基礎與特點
9.1.4 linux的設備驅(qū)動開發(fā)調(diào)試方法
9.1.5 設備驅(qū)動程序與應用程序的區(qū)別
9.1.6 查看linux系統(tǒng)中的設備
9.1.7 主設備號和次設備號
9.1.8 設備文件系統(tǒng)
9.1.9 file operations結(jié)構(gòu)體
9.1.1 0file結(jié)構(gòu)體
9.2 設備驅(qū)動程序的分類
9.2.1 設備驅(qū)動程序的分類
9.2.2 字符設備驅(qū)動的主要內(nèi)容
9.2.3 塊設備驅(qū)動的主要內(nèi)容
9.2.4 網(wǎng)絡設備驅(qū)動的主要內(nèi)容
9.3 字符設備驅(qū)動程序的實現(xiàn)過程
9.3.1 字符設備驅(qū)動程序的代碼框架
9.3.2 字符設備驅(qū)動程序中的方法
9.4 linux字符設備驅(qū)動程序源碼分析
9.4.1 字符型設備驅(qū)動程序源代碼
9.4.2 設備驅(qū)動程序的編譯與加載
9.4.3 用戶測試程序
9.4.4 驅(qū)動程序的測試,
9.5 添加lcd顯示驅(qū)動程序
9.5.1 s3c2410a的lcd控制器
9.5.2 添加lcd控制器的程序代碼
9.5.3 添加linux的logo顯示
9.6 編譯設備驅(qū)動到內(nèi)核
9.6.1 建立設備驅(qū)動程序
9.6.2 加載驅(qū)動模塊到內(nèi)核
9.6.3 內(nèi)核自動裝載驅(qū)動模塊
9.7 s3c2410a芯片gpio接口的驅(qū)動開發(fā)
9.7.1 gpio接口的描述
9.7.2 gpio接口的驅(qū)動程序設計
9.7.3 gpio接口的應用程序設計
本章小結(jié)
習題
第10章 開源游戲模擬器的應用
10.1 visual boy advance
10.1.1 游戲模擬器簡介
10.1.2 visual boy advance模擬器
10.1.3 visual boy advance的主要功能
10.2 visual boy advance的配置軟件
10.2.1 安裝交叉編譯工具
10.2.2 zlib數(shù)據(jù)壓縮庫
10.2.3 libpng圖像庫
10.2.4 sdl多媒體函數(shù)庫
10.2.5 編譯與安裝vba模擬器
10.3 visual boy advance的調(diào)試與運行
10.4 visual boy advance的程序設計
10.4.1 vba程序設計簡介
10.4.2 vba程序的開發(fā)工具
10.4.3 一個簡單gba應用程序的設計示例
本章小結(jié)
習題