當前位置:吉日网官网 - 紀念幣收藏 - Linux系統移植目錄

Linux系統移植目錄

第65438章+0系統移植基礎

第1章linux內核2簡介

1.1系統調用接口2

1.1.1 linux系統調用2

1.1.2用戶編程接口2

1.1.3系統調用和服務例程3之間的對應關系

1.1.4系統調用過程3

1.1.5系統調用傳遞的參數4

1.2流程管理4

1.2.1進程4

1.2.2流程描述符5

1.2.3流程狀態6

1.2.4進程調度6

1.2.5進程地址空間8

1.3內存管理10

1.3.1內存管理技術

1.3.2存儲區管理12

1.3.3內核13中獲取內存的幾種方法

1.4虛擬文件系統14

1.4.1虛擬文件系統函數14

1.4.2文件系統註冊15

1.4.3安裝和卸載文件系統15

1.5設備驅動程序17

1.5.1字符設備驅動程序17

1.5.2設備驅動18

1.5.3網絡設備驅動程序21

1.5.4內存和i/o操作22

1.6匯總23

第2章構建嵌入式linux開發環境24

2.1虛擬機和linux安裝24

2.1.1安裝虛擬機24

2.1.2獨立隔墻安裝系統30

2.1.3虛擬機與主機之間的通信設置31

2.1.4 vmware tools工具安裝33

2.1.5虛擬機和主機之間的文件共享* * * 35

2.1.6虛擬機和主機之間的文件傳輸36

2.2交叉編譯器工具38

交叉編譯器工具安裝38

2.2.2交叉編譯器測試43

2.3超級終端和minicom 44

超級終端軟件安裝44

2.3.2 minicom使用45

2.3.3安全使用48

2.4內核、文件系統加載工具48

2.4.1寫引導裝載程序48

內核和文件系統下載52

2.4.3應用程序和文件傳輸54

2.5在開發中使用網絡文件系統(NFS)56

2.5.1虛擬機設置56

2.5.2虛擬機的ip地址設置56

2.5.3驗證網絡連接59

2.5.4設置* * *享受目錄59

2.5.5啟動nfs服務60

2.5.6修改* * *配置後的61

2.5.7安裝nfs 61。

2.5.8雙網卡掛載nfs 61。

2.6摘要62

第二篇系統移植技術

第3章引導程序移植64

3.1引導加載程序64簡介

3.1.1 boot loader與嵌入式linux系統的關系64

3.1.2引導加載程序基本概念64

3.1.3引導加載程序啟動過程66

3.2引導加載程序的u-boot 67

3.2.1 u型靴的優勢67

3 . 2 . 2 U-boot 68的主要功能

u-boot目錄結構68

3.3 u-boot移植過程69

環境配置69

3.3.2修改CPU/arm920t/start.s70

3.3.4特定於平臺的修改79

3.3.5其他部分修改為81。

3 . 3 . 6 u-boot 84的編譯

3.4引導裝載程序的vivi 85

3.4.1薇薇簡介85

3.4.2 vivi配置和編譯85

代碼分析88

3.5薇薇的行動88

3.5.1引導程序啟動階段1 89

3.5.2引導加載程序啟動階段II 95

3.6摘要95

第四章linux內核的裁剪和移植96

4.1 linux內核結構96

4.1.1內核96的主要組件

4.1.2內核源碼目錄介紹97

4.2內核配置選項99

4.2.1壹般選項99

4.2.2內核模塊加載模式支持選項100。

4.2.3與系統調用、類型、特征和啟動相關的選項101

4.2.4網絡協議支持相關選項102。

4.2.5設備驅動程序支持相關選項102

4.2.6文件系統類型支持相關選項103。

4.2.7安全相關選項104

4.2.8其他選項104

4.3內核切割和編譯105

4.3.1安裝內核源代碼105

4.3.2檢查編譯環境設置105。

4.3.3配置內核106

4.3.4編譯內核115

4.4內核鏡像文件移植到arm板116。

4.4.1移植制劑116

4.4.2燒寫系統118

4.5內核升級121

4.5.1準備升級內核文件121。

4.5.2移植流程122

4.6摘要125

第五章制作嵌入式文件系統126

5.1文件系統選擇126

5.1.1閃存硬件方案比較126

5.1.2嵌入式文件系統的層次結構127

5.2基於flash 127的文件系統

5.2.1 jffs文件系統(日誌閃存文件系統)128。

5.2.2 yaffs文件系統(又壹個flash文件系統)130。

5.2.3 cramfs文件系統(壓縮ROM文件系統)133。

5.2.4 romfs文件系統(rom文件系統)134。

5.3基於ram 135的文件系統

5.4制作文件系統135

5.4.1制作內存磁盤文件系統136

5.4.2制作yaffs2文件系統144

5.4.3制作jffs2文件系統150

5.4.4制作其他文件系統152

5.5摘要153

第三篇系統移植和驅動

第六章液晶驅動程序的移植156

6.1了解lcd 156的相關硬件原理

6.1.1 lcd概述156

6.1.2液晶控制器157

6.1.3液晶控制器框圖157

6.1.4液晶控制器操作158

6.1.5 lcd控制寄存器163

6.2 lcd參數設置166

6.3核心lcd驅動機制167

6.3.1幀緩沖區167概述

6.3.2幀緩沖區設備驅動結構167

6.4 Linux 2 . 6 . 25 LCD驅動程序源代碼分析171

6 . 4 . 1 LCD驅動開發的主要工作171

6.4.2 s3c2410fb_init()函數分析172

6.4.3 s3c2410fb_probe()函數分析173

6.4.4 s3c2410fb_remove()函數分析178

6.5在內核中移植lcd驅動程序179

6.5.1 lcd硬件電路圖179

6.5.2修改lcd源代碼179。

6.5.3配置內核184

6.6摘要187

第七章觸摸屏驅動程序的移植188

7.1觸摸屏概述188

7.1.1觸摸屏188工作原理

7.1.2觸摸屏的主要類型188

7.2 s3c2440 adc接口采用191。

7.2.1 s3c2440觸摸屏界面概述191

7.2.2 s3c2440觸摸屏操作界面192

7.3 2.6內核觸摸屏驅動源代碼分析(s3c2410_ts.c源代碼分析)196

7.4 Linux內核輸入子系統201介紹

輸入子系統202概述

輸入設備結構202

7.4.3輸入鏈接205的創建過程

7.4.4使用輸入子系統206

7.4.5編寫輸入設備驅動程序時要做的工作208

7.5觸摸屏驅動移植和內核編譯209

7.5.1修改初始化源代碼209

7.5.2修改硬件驅動源代碼s3c2440_ts.c 211。

7.5.3修改kconfig和makefile 213。

7.5.4配置編譯內核214

7.5.5觸摸屏測試程序設計215

7.6匯總216

第八章usb設備驅動移植217

8.1 usb協議217

8.1.1 usb協議217的主要系統組件。

8.1.2總線物理拓撲結構219

8.1.3 usb設備,配置,接口,端點219

8.1.4 usb設備狀態222

8.1.5 usb枚舉過程223

8.1.6 usb請求塊(urb) 226

8.2 usb主機驅動程序230

8.2.1 usb主機驅動程序結構和功能230

8.2.2主機控制器驅動程序(usb_hcd) 231

8.2.3 ohci主機控制器驅動程序233

8.2.4 s3c24xx ohci主機控制器驅動程序示例234

8.3 usb設備驅動程序237

8.3.1 usb框架程序分析237

8 . 3 . 2 USB驅動程序移植的時鐘設置241

8.4 usb鼠標和鍵盤驅動程序242

8.4.1 usb鼠標驅動代碼分析242

8.4.2 usb鍵盤驅動程序代碼分析245

8.4.3將usb鼠標和鍵盤驅動程序248添加到內核中。

8.5 USB閃存驅動器249

8.5.1內核配置249

8.5.2移植和測試250

8.6摘要252

第九章網卡驅動移植253

9.1以太網概述253

9.1.1以太網連接253

9.1.2以太網技術概述254

9.1.3以太網256的幀結構

9.2網絡設備驅動程序架構258

9.2.1嵌入式linux網絡驅動簡介258

9.2.2 linux網絡設備驅動程序架構259

9.2.3網絡設備驅動程序編程方法259

9.2.4網絡設備驅動261應用示例

9.3網絡設備數據結構262

9.3.1全球信息262

硬件信息263

接口信息263

設備方法266

9.3.5公眾成員

9.4 dm9000網卡概述268

9.4.1 dm9000網卡概述269

9 . 4 . 2dm 9000網卡的特性269

9.4.3內部寄存器270

功能描述274

9.5 dm9000網卡驅動移植275

9.5.1 dm9000網卡連接275

9.5.2驅動程序分析-硬件的數據結構276

9.5.3驅動程序分析-數據讀寫功能277

9.5.4驅動程序分析-重置網卡277

9.5.5驅動程序分析-初始化網卡277

9.5.6驅動程序分析-打開和關閉網卡282

9.5.7驅動程序分析-數據包的發送和接收283

9.5.8 dm9000網卡驅動程序移植285

9.6摘要288

第10章音頻設備驅動移植289

10.1音頻設備接口289

10.1.1 pcm接口289

10.1.2 IIS(IC間聲音)接口289

10.1.3ac97(音頻編解碼器1997)接口289

10.1.4 linux音頻設備驅動框架290

10.2 linux音頻設備驅動程序-OSS驅動程序框架291

10.2.1 oss驅動架構硬件291

10.2.2 oss驅動程序架構代碼291

10.2.3 oss初始化函數oss_init() 293

10.2.4 oss發布函數oss_cleanup() 294

10.2.5打開設備文件函數sound_open() 295

10.2.6錄音功能sound_read() 296

10.2.7播放函數sound_write() 297

10.2.8控制功能聲音_ioctl() 297

10.3 linux音頻設備驅動程序-ALSA驅動程序框架298

10.3.1卡和組件299

10.3.2 pcm設備303

10.3.3控制接口

10.3.4 ac97 api音頻接口308

10.4音頻設備應用程序編程312

10.4.1 dsp接口編程312

10.4.2混音器接口編程315

10.4.3 alsa應用程序編程316

10.5音頻設備驅動程序移植318

10.5.1添加uda1341結構318。

10.5.2修改錄音頻道319

Uda1341驅動程序支持320被添加到10.5.3內核中。

10.5.4移植新內核並測試321

10.6音頻播放器madplay 322的移植

10.6.1準備遷移所需的源文件322

10.6.2交叉編譯322

10.6.3移植和測試323

編譯時可能出現的問題10.6.4 324

10.7匯總324

第11章sd卡驅動移植325

11.1 sd卡簡介325

11.1.1sd卡系統概念325

11.1.2 sd卡寄存器325

11.1.3標清功能描述326

11.2 sd卡驅動程序分析329

11.2.1主機驅動程序330

11.2.2核心驅動333

11.2.3卡驅動程序337

11.3 sd卡移植步驟339

11.3.1添加延遲和中斷339

11.3.2配置內核340

11.3.3寫壹個新的內核341

11.4匯總342

第12章nandflash驅動程序移植343

12.1 NAND閃存343簡介

12.1.1 NAND閃存命令介紹343

12.1.2 nandflash控制器344

12.2 nandflash驅動程序介紹345

1 nand芯片結構345

12.2.2 nandflash驅動程序分析346

12.3 nandflash驅動程序移植351

修改12.3.1內核351

12.3.2內核353的配置和編譯

12.4摘要353

第四篇高級系統移植

第13章minigui和移植356

在PC 356中安裝13.1 minigui

13.1.1安裝所需的安裝文件356

13.1.2 minigui 357的操作模式

13.1.3編譯安裝minigui 357。

編譯和安裝minigui 360所需的13.1.4圖片支持庫

13.1.5編譯minigui應用程序示例360

13.2 eclipse開發minigui程序361

13 . 2 . 1 Linux 361下安裝eclipse介紹

13.2.2用eclipse 363編譯minigui程序

13.2.3設置外部工具367

運行程序368

13.3 vc++6.0開發minigui程序368

13.3.1安裝windows開發庫

13.3.2新建項目369

13.3.3添加文件和設置項目370

13.3.4編譯並運行程序

13.3.5 minigui編程風格示例372

13.4 minigui 374的交叉編譯和移植

13.4.1交叉編譯minigui 375

13.4.2移植minigui程序376

13.5摘要378

第14章qt發育和qtopia移植379

14.1季度安裝和編程379

14.1.1下載安裝qt 379。

1.2 qt編程380

14.1.3使用qmake生成makefile 382

14.2 x86平臺上qtopia核心安裝和應用383

14.2.1 qtopia核心安裝準備383

14.2.2編譯qtopia core 384

14 . 2 . 3 x86平臺上的qtopia應用開發385

14.3 qtopia內核在嵌入式linux 388上的移植

14.3.1 qtopia核心移植制劑389

14.3.2交叉編譯qtopia核心389

14.3.3編譯內核392

應用程序開發392

14.3.5應用移植395

14.4摘要395

第15章伯克利嵌入式數據庫的db移植396

15.1數據庫基本概念396

15.1.1使用文檔和源代碼396

15.1.2創建環境句柄396

創建壹個數據庫句柄397

打開數據庫398

1.5 dbt結構398

15.1.6訪問數據399

關閉數據庫400

15.2伯克利數據庫安裝400

15.2.1安裝為C庫400。

15.2.2安裝為c++庫401。

15.2.3交叉編譯和安裝berkeley db 401

15.3使用伯克利db數據庫403。

15.3.1代碼分析403

編譯並運行程序406

15.4移植berkeley db數據庫407

1數據庫設計407

編寫應用程序407

15.4.3調試和交叉編譯應用409

15.4.4數據庫移植和測試410

15.5匯總410

第16章嵌入式數據庫的移植sqlite 411

16.1 Sqlite 411支持的SQL語句

16.1.1數據定義語句411

16.1.2數據操作語句412

16.2 SQLite數據庫的編譯、安裝和使用

16.2.1安裝sqlite 413

16.2.2使用sql語句操作sqlite數據庫413

16.2.3用C接口414訪問sqlite數據庫

16.3移植sqlite 417

16.3.1交叉編譯sqlite 417

16.3.2交叉編譯應用程序418

16.4移植sqlite數據庫

16.4.1文件描繪419

16.4.2運行應用程序419

16.4.3測試sqlite3 419

16.5匯總421

第17章boa移植嵌入式web服務器422

1寶兒簡介422

17.1.1 boa 422的功能

17.1.2 boa流程分析423

17.1.3 boa配置信息426

17.2 boa編譯和html頁面測試428

17.2.1編譯boa源代碼428

17.2.2設置boa配置信息429

17.2.3測試boa 429

17.3 cgi腳本測試431

17.3.1書寫測試代碼431

17.3.2編譯測試程序431

測試cgi腳本431

17.4 boa交叉編譯移植431

17.4.1交叉編譯boa 432

準備測試程序432

17.4.3配置boa 432

測試433

17.5 boa結合sqlite 433

17.5.1通過cgi程序訪問sqlite 434。

17.5.2編譯和測試436

17.6匯總437

第18章嵌入式web服務器ting)事務)狀態機499

20.3.4 NIST(非邀請服務器(輸入)事務)狀態機500

20.4 osip解析器500

20.4.1初始化解析類型函數osip_body_init() 500。

20.4.2釋放函數osip_body_free() 501。

20.4.3字符串到正文類型轉換函數osip_body_parse() 501

20.4.4體類型到字符串類型的轉換函數osip_body_to_str() 502

克隆函數osip_body_clone() 504

osip解析器分類505

20.5 osip事務層506

20.6 sip會話建立過程508

20.7 rtp協議510

20.7.1 rtp基本概念510

20.7.2發送rtp 511。

20.7.3接收rtp 513

20.8 linphone編譯和測試515

20 . 8 . 1編譯linphone需要的軟件包是516。

20.8.2在x86平臺上編譯安裝516。

linphone測試519

20.8.4進壹步測試和開發523

20.9 linphone交叉編譯523

20.9.1 linphone 523的交叉編譯

20 . 9 . 2 Lin phone 526的測試

20.10匯總527

  • 上一篇:學習C語言應該看什麽書?
  • 下一篇:小學六年級日記
  • copyright 2024吉日网官网