Xilinx Zynq SoC與嵌入式Linux設(shè)計(jì)實(shí)戰(zhàn)指南
定 價(jià):59 元
叢書名:EDA工程技術(shù)叢書
- 作者:陸啟帥,陸彥婷,王地 著
- 出版時(shí)間:2014/11/1
- ISBN:9787302373445
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP332.1
- 頁(yè)碼:328
- 紙張:膠版紙
- 版次:1
- 開本:16K
《Xilinx Zynq SoC與嵌入式Linux設(shè)計(jì)實(shí)戰(zhàn)指南:兼容ARM Cortex-A9的設(shè)計(jì)方法》系統(tǒng)介紹了Xilinx Zynq7000 SoC與嵌入式Linux設(shè)計(jì)方法與實(shí)踐。全書以Zynq PS(ARM CortexA9)為核心,以Zynq PL(FPGA)為可編程外設(shè),詳細(xì)介紹了從底層硬件系統(tǒng)到上層操作系統(tǒng)及GUI設(shè)計(jì)原理和方法,詳細(xì)講解了底層外設(shè)接口控制程序、嵌入式Linux操作系統(tǒng)移植以及應(yīng)用程序。全書共分14章,內(nèi)容包括Zynq初體驗(yàn)、Zynq集成開發(fā)環(huán)境、Zynq啟動(dòng)流程及鏡像制作、GPIO原理及實(shí)現(xiàn)、中斷原理及實(shí)現(xiàn)、定時(shí)器原理及實(shí)現(xiàn)、通用異步收發(fā)器原理及實(shí)現(xiàn)、OLED原理及實(shí)現(xiàn)、Zynq雙核運(yùn)行原理及實(shí)現(xiàn)、嵌入式Linux系統(tǒng)構(gòu)建、嵌入式Linux系統(tǒng)實(shí)現(xiàn)、uboot原理及移植、Linux內(nèi)核原理及移植和嵌入式網(wǎng)絡(luò)視頻設(shè)計(jì)及實(shí)現(xiàn)。
《Xilinx Zynq SoC與嵌入式Linux設(shè)計(jì)實(shí)戰(zhàn)指南:兼容ARM Cortex-A9的設(shè)計(jì)方法》由淺入深,從最簡(jiǎn)單的流水燈、Hello World開始,使讀者可以完成裸機(jī)控制程序設(shè)計(jì)、嵌入式Linux環(huán)境搭建、嵌入式操作系統(tǒng)移植以及應(yīng)用程序設(shè)計(jì)等。
《Xilinx Zynq SoC與嵌入式Linux設(shè)計(jì)實(shí)戰(zhàn)指南:兼容ARM Cortex-A9的設(shè)計(jì)方法》理論與實(shí)踐相結(jié)合,可以作為信息類專業(yè)大學(xué)本科高年級(jí)和研究生的教學(xué)參考用書,也可作為從事嵌入式系統(tǒng)設(shè)計(jì)的工程技術(shù)人員參考用書。
我們生活在一個(gè)快速連接的世界中——全球有超過(guò)60億臺(tái)移動(dòng)計(jì)算設(shè)備相互連接,并且每天都持續(xù)增加約100萬(wàn)臺(tái)移動(dòng)計(jì)算設(shè)備。預(yù)計(jì)到2020年,全球移動(dòng)計(jì)算設(shè)備總數(shù)將達(dá)到300億臺(tái)。隨著物聯(lián)網(wǎng)(IoT)以及萬(wàn)聯(lián)網(wǎng)(IoE)的發(fā)展,海量大數(shù)據(jù)的存儲(chǔ)、傳輸、處理、挖掘技術(shù)出現(xiàn)了極大的挑戰(zhàn)。從處理響應(yīng)速度來(lái)看,計(jì)算的處理響應(yīng)速度從文字時(shí)代的秒級(jí),到多媒體時(shí)代的百毫秒級(jí)、視頻時(shí)代的十毫秒級(jí),會(huì)迅速推進(jìn)到5G時(shí)代的1毫秒級(jí)。對(duì)海量數(shù)據(jù)在1毫秒內(nèi)完成處理,將是未來(lái)數(shù)十年擺在電子信息系統(tǒng)設(shè)計(jì)工程師面前的巨大難題。
隨著摩爾定律走向深納米時(shí)代,在20nm以下的工藝節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)的性價(jià)比提高幅度會(huì)比上一代逐漸減少,而前期的一次性工程費(fèi)用(NRE)投入巨大,服務(wù)客戶數(shù)量稀少,使得專用集成電路(ASIC)及專用標(biāo)準(zhǔn)集成電路(ASSP)在商業(yè)模式上步入絕境,贏利的公司數(shù)量銳減直至最后消亡,尚能存活的將是可編程器件。
面對(duì)海量的計(jì)算任務(wù),多核并行曾是解決方案之一,但受制于算法可并行部分的局限,更多的核并不能帶來(lái)更高的效率,加速效能也逐漸走到了盡頭。此外,受單顆芯片發(fā)熱量密度限制,即使芯片上集成的晶體管越來(lái)越多,但可同時(shí)運(yùn)行的晶體管數(shù)目卻趨于恒定,多余的晶體管將淪為暗硅 (Dark Silicon)。 因此,設(shè)計(jì)者不得不將目光轉(zhuǎn)向馮·諾依曼架構(gòu)之外的計(jì)算構(gòu)架,例如領(lǐng)域定制化計(jì)算(Domain Specific Computing),它可在保持靈活性的同時(shí),發(fā)揮每一個(gè)晶體管的計(jì)算能力,當(dāng)然這也離不開可編程器件技術(shù)的長(zhǎng)足發(fā)展。
在系統(tǒng)級(jí)別,大數(shù)據(jù)與軟件定義一切,虛擬化一切的趨勢(shì),使得系統(tǒng)構(gòu)架工程師不得不尋求更靈活、更智慧、更快速、更綠色的解決方案。而這些解決方案的核心往往與軟件、硬件及I/O均可編程的芯片——賽靈思公司的All Programmable芯片相關(guān)。
在教育領(lǐng)域,除了需要培養(yǎng)能夠應(yīng)對(duì)未來(lái)數(shù)十年技術(shù)挑戰(zhàn)的電子信息系統(tǒng)工程師之外,教學(xué)本身也充滿了變革和機(jī)遇。隨著大型開放式網(wǎng)絡(luò)課程(MOOC)的興起,在統(tǒng)一平臺(tái)下通過(guò)互聯(lián)網(wǎng),以翻轉(zhuǎn)課堂的方式,打破業(yè)界與教育界的壁壘,完成軟件與硬件、理論與實(shí)驗(yàn)、年級(jí)與院系的全面貫通,將是很多電子信息類學(xué)科教育工作者的更高追求。
賽靈思大學(xué)計(jì)劃將不遺余力地幫助教育工作者應(yīng)對(duì)這些變革,與清華出版社合作將All Programmable全面可編程技術(shù)系統(tǒng)地引入到新型知識(shí)傳播體系中去,培養(yǎng)能夠應(yīng)對(duì)下一代電子系統(tǒng)設(shè)計(jì)挑戰(zhàn)的卓越工程師,為實(shí)現(xiàn)將“中國(guó)制造”變成“中國(guó)智造”的夢(mèng)想,提供充足的智力和人才保障。
謝凱年
Xilinx大學(xué)計(jì)劃大中華區(qū)經(jīng)理
第一篇Zynq開發(fā)基礎(chǔ)
第1章Zynq初體驗(yàn)
1.1PL部分設(shè)計(jì)實(shí)現(xiàn)
1.1.1創(chuàng)建工程
1.1.2設(shè)計(jì)輸入
1.1.3設(shè)計(jì)綜合
1.1.4設(shè)計(jì)實(shí)現(xiàn)
1.1.5下載執(zhí)行
1.2PS部分設(shè)計(jì)實(shí)現(xiàn)
1.2.1建立Zynq硬件系統(tǒng)
1.2.2在PS中設(shè)計(jì)Hello World程序
1.2.3下載執(zhí)行程序
第2章Zynq集成開發(fā)環(huán)境
2.1Zynq硬件平臺(tái)
2.1.1Zynq XC7Z020芯片硬件資源
2.1.2ZedBoard硬件資源
2.2Zynq軟件平臺(tái)
2.2.1嵌入式硬件開發(fā)工具XPS
2.2.2嵌入式軟件開發(fā)工具SDK
第3章Zynq啟動(dòng)流程及鏡像制作
3.1BootROM
3.2Zynq器件的啟動(dòng)配置
3.3使用BootGen
3.3.1BootGen介紹
3.3.2BIF文件語(yǔ)法
3.3.3BootGen實(shí)例
第二篇Zynq底層硬件設(shè)計(jì)
第4章GPIO原理及設(shè)計(jì)實(shí)現(xiàn)
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設(shè)計(jì)實(shí)現(xiàn)
4.3.1匯編語(yǔ)言實(shí)現(xiàn)
4.3.2C語(yǔ)言實(shí)現(xiàn)
第5章中斷原理及實(shí)現(xiàn)
5.1中斷原理
5.1.1中斷類型
5.1.2中斷向量表
5.1.3中斷處理過(guò)程
5.2Zynq中斷體系結(jié)構(gòu)
5.2.1私有中斷
5.2.2軟件中斷
5.2.3共享外設(shè)中斷
5.2.4中斷寄存器
5.3中斷程序設(shè)計(jì)實(shí)現(xiàn)
5.3.1中斷向量表和解析程序
5.3.2中斷源配置
5.3.3ICD寄存器初始化
5.3.4ICC寄存器組初始化
5.3.5ICD寄存器組配置
5.3.6ARM程序狀態(tài)寄存器(CPSR)配置
5.3.7中斷服務(wù)程序設(shè)計(jì)
5.4設(shè)計(jì)驗(yàn)證
第6章定時(shí)器原理及實(shí)現(xiàn)
6.1Zynq定時(shí)器概述
6.2私有定時(shí)器
6.2.1私有定時(shí)器寄存器
6.2.2私有定時(shí)器設(shè)計(jì)實(shí)現(xiàn)
6.3私有看門狗定時(shí)器
6.3.1私有看門狗定時(shí)器寄存器
6.3.2私有看門狗定時(shí)器設(shè)計(jì)實(shí)現(xiàn)
6.4全局定時(shí)器
6.4.1全局定時(shí)器寄存器
6.4.2全局定時(shí)器設(shè)計(jì)實(shí)現(xiàn)
第7章通用異步收發(fā)器原理及實(shí)現(xiàn)
7.1UART概述
7.2UART寄存器
7.3UART設(shè)計(jì)實(shí)現(xiàn)
7.3.1UART引腳設(shè)置
7.3.2UART初始化
7.3.3UART字符接收和發(fā)送函數(shù)實(shí)現(xiàn)
7.3.4UART主函數(shù)實(shí)現(xiàn)
7.3.5UART具體實(shí)現(xiàn)步驟
第8章OLED原理及實(shí)現(xiàn)
8.1OLED概述
8.2建立OLED硬件系統(tǒng)
8.3生成自定義OLED IP模板
8.4修改MY_OLED IP設(shè)計(jì)模板
8.5OLED驅(qū)動(dòng)程序設(shè)計(jì)實(shí)現(xiàn)
8.5.1OLED初始化
8.5.2寫數(shù)據(jù)相關(guān)函數(shù)
8.5.3寫顯存相關(guān)函數(shù)實(shí)現(xiàn)
8.6設(shè)計(jì)驗(yàn)證
第9章Zynq雙核運(yùn)行原理及實(shí)現(xiàn)
9.1雙核運(yùn)行原理
9.2硬件系統(tǒng)設(shè)計(jì)
9.3軟件設(shè)計(jì)
9.3.1FSBL
9.3.2CPU0應(yīng)用程序設(shè)計(jì)
9.3.3CPU1應(yīng)用程序設(shè)計(jì)
9.4設(shè)計(jì)驗(yàn)證
第三篇嵌入式Linux設(shè)計(jì)
第10章嵌入式Linux系統(tǒng)構(gòu)建
10.1Ubuntu 13.10設(shè)置
10.1.1root登錄
10.1.2安裝FTP服務(wù)器和SSH服務(wù)器
10.2PuTTY和FileZilla工具使用
10.2.1PuTTY工具使用
10.2.2FileZilla工具使用
10.3交叉編譯器安裝
10.3.1Xilinx ARM交叉編譯器下載
10.3.2Xilinx ARM交叉編譯器安裝
10.4嵌入式Qt環(huán)境構(gòu)建
10.4.1主機(jī)環(huán)境Qt構(gòu)建
10.4.2目標(biāo)機(jī)Qt環(huán)境構(gòu)建
第11章嵌入式Linux系統(tǒng)實(shí)現(xiàn)
11.1硬件平臺(tái)構(gòu)建
11.1.1自定義GPIO IP核設(shè)計(jì)
11.1.2添加my_led IP核端口
11.2my_led IP核邏輯設(shè)計(jì)
11.2.1設(shè)置引腳方向信息
11.2.2my_led IP核端口和連接設(shè)計(jì)
11.2.3my_led IP核用戶邏輯設(shè)計(jì)
11.2.4my_led IP核引腳約束設(shè)計(jì)
11.2.5my_led IP核硬件比特流生成
11.3啟動(dòng)文件BOOT.BIN設(shè)計(jì)
11.3.1第一階段啟動(dòng)代碼設(shè)計(jì)
11.3.2uboot編譯
11.3.3生成BOOT.BIN文件
11.4Linux內(nèi)核編譯
11.4.1內(nèi)核簡(jiǎn)介
11.4.2Xilinx Linux內(nèi)核的獲取
11.4.3Xilinx Linux內(nèi)核編譯
11.5系統(tǒng)測(cè)試
11.6添加my_led設(shè)備
11.6.1my_led驅(qū)動(dòng)程序設(shè)計(jì)
11.6.2應(yīng)用程序調(diào)用驅(qū)動(dòng)程序測(cè)試
第12章uboot原理及移植
12.1uboot版本及源碼結(jié)構(gòu)
12.1.1uboot版本
12.1.2uboot源碼結(jié)構(gòu)
12.2uboot配置和編譯分析
12.2.1uboot配置分析
12.2.2頂層Makefile分析
12.3uboot運(yùn)行過(guò)程分析
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刪除無(wú)關(guān)文件
12.4.2修改因刪除無(wú)關(guān)源碼造成的錯(cuò)誤
12.4.3添加修改ZedBoard移植代碼
12.4.4uboot測(cè)試
第13章Linux內(nèi)核原理及移植
13.1Linux內(nèi)核版本及源碼結(jié)構(gòu)
13.1.1Linux內(nèi)核版本
13.1.2Linux內(nèi)核源碼結(jié)構(gòu)
13.2Linux內(nèi)核系統(tǒng)配置
13.2.1Makefile分析
13.2.2Makefile中的變量
13.2.3子目錄Makefile
13.2.4內(nèi)核配置文件
13.3Linux內(nèi)核啟動(dòng)分析
13.3.1內(nèi)核啟動(dòng)入口
13.3.2zImage自解壓
13.3.3第一階段啟動(dòng)代碼分析
13.3.4第二階段啟動(dòng)代碼分析
13.4Linux內(nèi)核移植
13.4.1添加配置文件
13.4.2添加和修改ZedBoard相關(guān)文件
13.4.3添加驅(qū)動(dòng)文件和頭文件
13.4.4Linux內(nèi)核測(cè)試
第14章網(wǎng)絡(luò)視頻設(shè)計(jì)及實(shí)現(xiàn)
14.1總體設(shè)計(jì)
14.2V4L2關(guān)鍵技術(shù)
14.2.1V4L2基本原理
14.2.2相關(guān)數(shù)據(jù)結(jié)構(gòu)和函數(shù)
14.2.3V4L2工作流程
14.3TCP及Qt下的網(wǎng)絡(luò)編程
14.3.1服務(wù)器端程序設(shè)計(jì)
14.3.2客戶端程序設(shè)計(jì)
14.4設(shè)計(jì)驗(yàn)證
14.4.1主機(jī)設(shè)計(jì)驗(yàn)證
14.4.2目標(biāo)機(jī)設(shè)計(jì)驗(yàn)證