《Xilinx Zynq SoC與嵌入式Linux設計實戰指南——兼容ARM Cortex-A9的設計方法》是清華大學出版社於2014年11月1日出版的圖書,作者是陸啟帥、陸彥婷、王地。
基本介紹
- 書名:Xilinx Zynq SoC與嵌入式Linux設計實戰指南——兼容ARM Cortex-A9的設計方法
- 作者:陸啟帥、陸彥婷、王地
- 出版社:清華大學出版社
- 出版時間:2014年11月1日
- 定價:59 元
- 開本:16 開
- 裝幀:平裝
- ISBN:9787302373445
- 印次:1-8
- 印刷日期:2020年10月30日
- 紙張:膠版紙
內容簡介,主要內容,圖書目錄,編輯推薦,
內容簡介
本書系統介紹了XilinxZynq7000SoC與嵌入式Linux設計方法與實踐。全書以ZynqPS(ARMCortexA9)為核心,以ZynqPL(FPGA)為可程式外設,詳細介紹了從底層硬體系統到上層作業系統及GUI設計原理和方法,詳細講解了底層外設接口控制程式、嵌入式Linux作業系統移植以及應用程式。全書共分14章,內容包括Zynq初體驗、Zynq集成開發環境、Zynq啟動流程及鏡像製作、GPIO原理及實現、中斷原理及實現、定時器原理及實現、通用異步收發器原理及實現、OLED原理及實現、Zynq雙核運行原理及實現、嵌入式Linux系統構建、嵌入式Linux系統實現、uboot原理及移植、Linux核心原理及移植和嵌入式網路視頻設計及實現。
本書由淺入深,從最簡單的流水燈、HelloWorld開始,使讀者可以完成裸機控制程式設計、嵌入式Linux環境搭建、嵌入式作業系統移植以及應用程式設計等。
本書理論與實踐相結合,可以作為信息類專業大學本科高年級和研究生的教學參考用書,也可作為從事嵌入式系統設計的工程技術人員參考用書。
主要內容
nZynq開發流程
nGPIO原理及設計實現
n中斷原理及設計實現
n定時器原理及設計實現
nUART原理及設計實現
nOLED原理及設計實現
n雙核運行原理及設計實現
n嵌入式Linux環境搭建
nu-boot移植方法與實現
nLinux核心移植方法與實現
n網路視頻設計及實現
圖書目錄
第一篇Zynq開發基礎
第1章Zynq初體驗
1.1PL部分設計實現
1.1.1創建工程
1.1.2設計輸入
1.1.3設計綜合
1.1.4設計實現
1.1.5下載執行
1.2PS部分設計實現
1.2.1建立Zynq硬體系統
1.2.2在PS中設計Hello World程式
1.2.3下載執行程式
第2章Zynq集成開發環境
2.1Zynq硬體平台
2.1.1Zynq XC7Z020晶片硬體資源
2.1.2ZedBoard硬體資源
2.2Zynq軟體平台
2.2.1嵌入式硬體開發工具XPS
2.2.2嵌入式軟體開發工具SDK
第3章Zynq啟動流程及鏡像製作
3.1BootROM
3.2Zynq器件的啟動配置
3.3使用BootGen
3.3.1BootGen介紹
3.3.2BIF檔案語法
3.3.3BootGen實例
第二篇Zynq底層硬體設計
第4章GPIO原理及設計實現
4.1GPIO原理
4.2Zynq XC7Z020 GPIO暫存器
4.2.1DATA_RO暫存器
4.2.2DATA暫存器
4.2.3MASK_DATA_LSW/ MSW暫存器
4.2.4DIRM暫存器
4.2.5OEN暫存器
4.2.6GPIO slcr暫存器
4.3GPIO設計實現
4.3.1彙編語言實現
4.3.2C語言實現
第5章中斷原理及實現
5.1中斷原理
5.1.1中斷類型
5.1.2中斷向量表
5.1.3中斷處理過程
5.2Zynq中斷體系結構
5.2.1私有中斷
5.2.2軟體中斷
5.2.3共享外設中斷
5.2.4中斷暫存器
5.3中斷程式設計實現
5.3.1中斷向量表和解析程式
5.3.2中斷源配置
5.3.3ICD暫存器初始化
5.3.4ICC暫存器組初始化
5.3.5ICD暫存器組配置
5.3.6ARM程式狀態暫存器(CPSR)配置
5.3.7中斷服務程式設計
5.4設計驗證
第6章定時器原理及實現
6.1Zynq定時器概述
6.2私有定時器
6.2.1私有定時器暫存器
6.2.2私有定時器設計實現
6.3私有看門狗定時器
6.3.1私有看門狗定時器暫存器
6.3.2私有看門狗定時器設計實現
6.4全局定時器
6.4.1全局定時器暫存器
6.4.2全局定時器設計實現
第7章通用異步收發器原理及實現
7.1UART概述
7.2UART暫存器
7.3UART設計實現
7.3.1UART引腳設定
7.3.2UART初始化
7.3.3UART字元接收和傳送函式實現
7.3.4UART主函式實現
7.3.5UART具體實現步驟
第8章OLED原理及實現
8.1OLED概述
8.2建立OLED硬體系統
8.3生成自定義OLED IP模板
8.4修改MY_OLED IP設計模板
8.5OLED驅動程式設計實現
8.5.1OLED初始化
8.5.2寫數據相關函式
8.5.3寫顯存相關函式實現
8.6設計驗證
第9章Zynq雙核運行原理及實現
9.1雙核運行原理
9.2硬體系統設計
9.3軟體設計
9.3.1FSBL
9.3.2CPU0應用程式設計
9.3.3CPU1應用程式設計
9.4設計驗證
第三篇嵌入式Linux設計
第10章嵌入式Linux系統構建
10.1Ubuntu 13.10設定
10.1.1root登錄
10.1.2安裝FTP伺服器和SSH伺服器
10.2PuTTY和FileZilla工具使用
10.2.1PuTTY工具使用
10.2.2FileZilla工具使用
10.3交叉編譯器安裝
10.3.1Xilinx ARM交叉編譯器下載
10.3.2Xilinx ARM交叉編譯器安裝
10.4嵌入式Qt環境構建
10.4.1主機環境Qt構建
10.4.2目標機Qt環境構建
第11章嵌入式Linux系統實現
11.1硬體平台構建
11.1.1自定義GPIO IP核設計
11.1.2添加my_led IP核連線埠
11.2my_led IP核邏輯設計
11.2.1設定引腳方向信息
11.2.2my_led IP核連線埠和連線設計
11.2.3my_led IP核用戶邏輯設計
11.2.4my_led IP核引腳約束設計
11.2.5my_led IP核硬體比特流生成
11.3啟動檔案BOOT.BIN設計
11.3.1第一階段啟動代碼設計
11.3.2uboot編譯
11.3.3生成BOOT.BIN檔案
11.4Linux核心編譯
11.4.1核心簡介
11.4.2Xilinx Linux核心的獲取
11.4.3Xilinx Linux核心編譯
11.5系統測試
11.6添加my_led設備
11.6.1my_led驅動程式設計
11.6.2應用程式調用驅動程式測試
第12章uboot原理及移植
12.1uboot版本及源碼結構
12.1.1uboot版本
12.1.2uboot源碼結構
12.2uboot配置和編譯分析
12.2.1uboot配置分析
12.2.2頂層Makefile分析
12.3uboot運行過程分析
12.3.1start.S檔案分析
12.3.2lowlevel_init.S分析
12.3.3board_init_f分析
12.3.4board_init_r分析
12.3.5main_loop分析
12.4uboot移植
12.4.1刪除無關檔案
12.4.2修改因刪除無關源碼造成的錯誤
12.4.3添加修改ZedBoard移植代碼
12.4.4uboot測試
第13章Linux核心原理及移植
13.1Linux核心版本及源碼結構
13.1.1Linux核心版本
13.1.2Linux核心源碼結構
13.2Linux核心系統配置
13.2.1Makefile分析
13.2.2Makefile中的變數
13.2.3子目錄Makefile
13.2.4核心配置檔案
13.3Linux核心啟動分析
13.3.1核心啟動入口
13.3.2zImage自解壓
13.3.3第一階段啟動代碼分析
13.3.4第二階段啟動代碼分析
13.4Linux核心移植
13.4.1添加配置檔案
13.4.2添加和修改ZedBoard相關檔案
13.4.3添加驅動檔案和頭檔案
13.4.4Linux核心測試
第14章網路視頻設計及實現
14.1總體設計
14.2V4L2關鍵技術
14.2.1V4L2基本原理
14.2.2相關數據結構和函式
14.2.3V4L2工作流程
14.3TCP及Qt下的網路編程
14.3.1伺服器端程式設計
14.3.2客戶端程式設計
14.4設計驗證
14.4.1主機設計驗證
14.4.2目標機設計驗證
編輯推薦
本書以Zynq-7000的ARM Cortex-A9部分為核心,以Zynq-7000的FPGA部分為可程式外設,由淺入深,從簡單的流水燈、Hello World開始,詳細介紹了底層硬體接口原理、嵌入式Linux環境搭建、嵌入式Linux作業系統移植以及應用程式設計方法。為了方便教學和自學,本書配套提供所有案例的完整設計檔案。這些資源可以在清華大學出版社網站本書頁面下載。