嵌入式系統(tǒng)軟硬件協(xié)同設(shè)計實戰(zhàn)指南

出版時間:2013-1-26  出版社:機械工業(yè)出版社  作者:陸佳華,江舟,馬岷  
Tag標簽:無  

內(nèi)容概要

本書由淺入深,由基礎(chǔ)知識到實戰(zhàn)案例向讀者系統(tǒng)闡述了如何利用Zynq平臺進行嵌入式系統(tǒng)以及軟硬件協(xié)同設(shè)計的開發(fā)。本書分為基礎(chǔ)篇與進階篇兩部分,基礎(chǔ)篇中介紹了Zynq器件、ZedBoard,并配有簡單入門實驗,同時針對軟件開發(fā)人員增設(shè)了FPGA硬件加速等內(nèi)容。在進階篇中介紹了利用Zynq進行軟硬件協(xié)同設(shè)計,同時對處理器與可編程邏輯接口等技術(shù)進行了詳細剖析。本書提供了20個詳細的設(shè)計案例,涵蓋了硬件板卡、FPGA邏輯、Linux驅(qū)動、Linux操作系統(tǒng)、上層應(yīng)用、軟硬件協(xié)同設(shè)計等Zynq開發(fā)中可能遇到的各個方面的知識,并在最后將前述獨立案例整合為4個系統(tǒng)案例。本書重點突出實戰(zhàn),以案例為指導,配合介紹相關(guān)參考文檔,協(xié)助讀者盡快掌握在Zynq上進行各項設(shè)計的方法。
本書可作為Zynq初學者、軟硬件協(xié)同設(shè)計開發(fā)人員的參考用書,亦可作為大專院校嵌入式系統(tǒng)設(shè)計、片上系統(tǒng)設(shè)計、可編程邏輯器件等相關(guān)專業(yè)的教師和學生的參考用書。

作者簡介

陸佳華,開源硬件社區(qū)Operhw.org資深版主,Xilinx高級應(yīng)用工程師,現(xiàn)任職于Xilinx全球大學計劃部,主要負責Xilinx全球大學相關(guān)的參考設(shè)計開發(fā),技術(shù)推廣、支持。2006年畢業(yè)于西安交通大學并獲得碩士學位。同年加入Xilinx公司就任產(chǎn)品應(yīng)用工程師,主要負責FPGA上的嵌入式系統(tǒng)設(shè)計、以太網(wǎng)設(shè)計、內(nèi)存控制器設(shè)計等方向技術(shù)支持。著有《零存整取NetFPGA開發(fā)指南》一書。 江舟,開源硬件社區(qū)Openhw.org的資深版主,浙江大學碩士研究生,現(xiàn)為Xilinx全球大學計劃部實習生,主要參與Zynq上的軟件開發(fā)。江舟是美信DIY大賽的主要技術(shù)支持者之一,并擔任Xilinx開源硬件大賽的技術(shù)支持。 馬岷,開源硬件社區(qū)Openhw.org的資深版主,浙江大學碩士研究生,現(xiàn)為Xilinx全球大學計劃部實習生,主要參與Zynq上的硬件開發(fā)。馬岷是美信DIY大賽的主要技術(shù)支持者之一,并擔任Xilinx開源硬件大賽的技術(shù)支持。

書籍目錄

Foreword 前言 第一部分基礎(chǔ)篇 第1章初試ZedBoard 1.1GPIOLED動手玩 1.1.1拷貝SD卡 1.1.2跳線與外設(shè)連接 1.1.3演示操作 1.2LinaroUbuntu動手玩 1.2.1SD卡分區(qū) 1.2.2文件拷貝(FATEXT) 1.2.3外設(shè)連接 1.2.4可演示的效果 第2章Zynq平臺介紹 2.1 7系列FPGA簡介/9 2.2 Zynq—7000 AP SoC體系簡介/12 第3章ZedBoard開發(fā)環(huán)境 3.1 ZedBoard的板載外設(shè)/15 3.1.1 LED/15 3.1.2按鍵/16 3.1.3 開關(guān)/16 3.1.4 OLED/17 3.1.5 USB接口/18 3.1.6音頻接口/20 3.1.7 VGA接口/21 3.1.8 HDMI接口/22 3.1.9 10/100/1000兆網(wǎng)口/23 3.2 ZedBoard的擴展外設(shè)/25 3.2.1 外擴PMod插座/25 3.2.2外擴FMC插槽/27 3.2.3 外擴AMS插座/28 第4章開發(fā)工具鏈 4.1可編程邏輯開發(fā)工具鏈/29 4.1.1 P1anAhead/29 4.1.2 Xilinx Platform Studio/31 4.2軟件開發(fā)工具鏈/34 4.2.1 Xilinx Software Development Kit/34 4.2.2交叉編譯工具鏈/35 4.3軟硬件調(diào)試工具/36 4.3.1 ChipScope Pr0/36 4.3.2 GDB與GDBserver/38 第5章Zynq體系結(jié)構(gòu) 5.1應(yīng)用處理器單元(APU)/40 5.1.1 ARM Codex A9處理器/40 5.1.2偵聽控制單元(SCU)/43 5.1.3 L2高速緩存/44 5.1.4 APU接口/44 5.2通用外設(shè)/46 5.2.1 通用IO(GPIO)/46 5.2.2 SPl接口/49 5.2.3 UART接口/51 5.2.4 計時器/54 5.2.5 USB控制器/57 5.2.6 DDR控制器/58 5.3數(shù)字邏輯設(shè)計/59 5.3.1 可編程邏輯“外設(shè)”(PL)/59 5.3.2 XADC/61 5.3.3 PCIe/62 5.4 MIO/EMl0/63 第6章系統(tǒng)級信號 6.1 電源管理/66 6.2 Clock信號/67 6.2.1 CPU時鐘域/68 6.2.2 DDR時鐘域/69 6.2.3基本的時鐘分支結(jié)構(gòu)/69 6.2.4 I/O外設(shè)(IOP)時鐘/70 6.2.5 PL時鐘/72 6.2.6其他時鐘/72 6.3復位系統(tǒng)/73 6.4 JTAG/75 6.5中斷處理/76 第7章Zynq啟動與配置 7.1 Zynq啟動過程簡介/78 7.2外部啟動條件/79 7.2.1 電源要求/79 7.2.2 時鐘要求/79 7.2.3復位要求/79 7.2.4啟動引腳設(shè)置/8D 7.3 BootROM/80 7.3.1 BootROM的作用/80 7.3.2 BootROM的特點/81 7.3.3 BootROM后的狀態(tài)/82 7.4 FSBL/82 7.5 SSBL/84 7.6 Linux啟動過程/84 7.7 Secure Boot/86 第8章面向軟件工程師的邏輯設(shè)計 8.1 FPGA硬件加速原理/87 8.1.1 以空間換時間/87 8.1.2 以存儲器換門電路/89 8.1.3 以IP集成換生產(chǎn)力/90 8.2部分動態(tài)可重配置于Zynq/93 第9章ZedBoard入門 9.1 UART和GPl0控制/95 9.1.1 UART和GPIO接口/95 9.1.2硬件設(shè)計過程/96 9.1.3軟件設(shè)計過程/106 9.2硬件/軟件調(diào)試方法/112 9.2.1 ChipScope IP Core/112 9.2.2 SDK Gdb使用/115 9.3搭建你的單板計算機(Single Board Computer)/117 9.3.1搭建系統(tǒng)環(huán)境/118 9.3.2準備工作/118 第二部分進階篇 第10章基于虛擬平臺的Zynq開發(fā) 10.1 QEMU介紹/126 10.2編譯QEMU源碼/126 10.2.1 下載QEMU源碼/126 10.2.2 配置QEMU/127 10.2.3 QEMU所依賴的 庫文件/l27 10.2.4 編譯QEMU/127 10.3啟動QEMU/127 10.4 QEMU中的嵌入式Linux/128 10.5商業(yè)版虛擬平臺/131 第11章PL和PS的接口技術(shù) 11.1 PL和PS的接口/132 11.1.1 AXl接口簡介/133 11.1.2 AXI Interconnect/134 11.2 Zynq的內(nèi)部連接/137 11.2.1 AXI—HP/139 11.2.2 AXI—GP/140 11.2.3 AXI—ACP/140 11.3 PL和存儲器系統(tǒng)性能概述/142 11.3.1接口理論帶寬/142 11.3.2 DDR控制器的吞吐率及其效率/143 11.3.3 內(nèi)部互連吞吐量瓶頸/143 11.3.4如何選擇PL的接口/144 第12章基于Zynq的軟硬件協(xié)同設(shè)計 12.1多核處理器架構(gòu)簡介/149 12.1.1什么是多核處理器/149 12.1.2 多核處理器發(fā)展的動機和優(yōu)勢/l50 12.1.3 同構(gòu)、異構(gòu)多核架構(gòu)的優(yōu)點和挑戰(zhàn)/l52 12.2軟硬件協(xié)同設(shè)計方法論/152 12.2.1什么是軟硬件協(xié)同設(shè)計/152 12.2.2軟硬件協(xié)同設(shè)計發(fā)展的動機和優(yōu)勢/152 12.2.3軟硬件協(xié)同設(shè)計的基本流程/153 12.2.4基于Xilinx工具的軟硬件協(xié)同設(shè)計簡介/154 12.3高層次綜合/154 12.3.1 高層次綜合綜述/154 12.3.2 高層次綜合發(fā)展的動機與優(yōu)勢/155 12.3.3 Xilinx AutoESL工具簡介/156 12.4基于Xilinx Zynq的軟硬件協(xié)同設(shè)計實例/157 12.4.1 功能簡介/157 12.4.2設(shè)計流程簡介/157 12.4.3 實驗結(jié)果與驗證/165 第13章Zynq開發(fā)實戰(zhàn) 13.1用戶IP設(shè)計/166 13.1.1 用戶IPcore介紹/166 13.1.2用戶IPcore設(shè)計/167 13.2嵌人式Linux設(shè)備驅(qū)動開發(fā)/180 13.2.1設(shè)備驅(qū)動開發(fā)介紹/180 13.2.2驅(qū)動程序的加載與卸載/181 13.2.3 sys文件系統(tǒng)簡介/181 13.2.4 PWM模塊驅(qū)動程序/182 13.2.5 PWM驅(qū)動程序編譯與測試/184 13.3構(gòu)建嵌入式Linux系統(tǒng)/186 13.3.1搭建系統(tǒng)環(huán)境/186 13.3.2編譯u—boot/186 13.3.3編譯內(nèi)核與設(shè)備樹/187 13.3.4制作根文件系統(tǒng)/l88 13.3.5啟動嵌入式Linux/192 13.4 HDMI設(shè)計/193 13.4.1 HDMl傳輸原理/193 13.4.2 ADV7511芯片的相關(guān)控制信號/195 13.4.3設(shè)計過程/198 13.5 OpenCV移植/203 13.5.1開發(fā)環(huán)境準備/203 13.5.2 配置cmake/203 13.5.3 OpenCV編譯與安裝/205 13.5.4 OpenCV移植與ZedBoard測試/206 13.6基于OpenCV的樹葉識別系統(tǒng)/207 13.6.1 項目總覽/208 13.6.2圖像采集/208 13.6.3預(yù)處理/209 13.6.4特征提?。?11 13.6.5分類決策/216 13.6.6 總結(jié)/219 13.7基于0penCV的人臉識別系統(tǒng)/220 13.7.1 系統(tǒng)綜述/220 13.7.2基于Haar特征和Adaboost算法的人臉檢測/220 13.7.3 系統(tǒng)設(shè)計與實現(xiàn)/222 13.7.4總結(jié)/226 13.8嵌入式Web服務(wù)器的移植與搭建/226 13.8.1嵌入式Web服務(wù)器介紹/226 13.8.2 Boa服務(wù)器移植與配置/228 13.8.3 Boa服務(wù)器部署與測試/230 13.9嵌入式網(wǎng)絡(luò)攝像機的移植與搭建/233 13.9.1嵌入式網(wǎng)絡(luò)攝像機/233 13.9.2 mjPg—streamer的移植與架設(shè)/234 13.10 FreeRTOS實時操作系統(tǒng)的應(yīng)用/238 13.10.1 FreeRTOS介紹/238 13.10.2 FreeRTOS與ucOS.U的比較/239 13.10.3 FreeRTOS在Zynq上的應(yīng)用實例與分析/239 13.10.4 基于FreeRTOS的Lwip/250 13.11 XADC的使用/250 13.11.1建立硬件工程/252 13.11.2軟件工程設(shè)計/253 13.11.3程序分析/255 13.12基于Zynq的部分可重配置/256 13.12.1 可重配置系統(tǒng)介紹/256 13.12.2可重配置的開發(fā)流程/257 13.12.3 小結(jié)/265 13.13在Zynq上搭建Android簡介/265 第14章系統(tǒng)級設(shè)計案例 14.1電機控制系統(tǒng)/266 …… 第15章如何獲取資料和幫助 附錄 參考資料

章節(jié)摘錄

版權(quán)頁:   插圖:   第11章PL和PS的接口技術(shù)詳解 Zynq作為首款將高性能ARM Cortex A系列處理器與高性能FPGA在單芯片內(nèi)緊密結(jié)合的產(chǎn)品,與其他獨立ARM Cortex A9與Xilinx FPGA在單板上相比,其可以具有如下優(yōu)點:設(shè)計成本降低;設(shè)計整體功耗降低;設(shè)計體積減小;設(shè)計風險降低;設(shè)計更靈活。為了實現(xiàn)這些優(yōu)點,xilinx在設(shè)計Zynq時不僅要將不同工藝特征的處理器和FPGA融合在一個芯片上并保證其良品率,更要設(shè)計高效的片內(nèi)高性能處理器與FPGA之間互聯(lián)通路。如果ARM Cortex A9與FPGA之間數(shù)據(jù)交互成了瓶頸,那么處理器與FPGA的性能優(yōu)勢都不能發(fā)揮出來,其他的優(yōu)勢也就無從談起了。 因此,如何設(shè)計高效的PL與PS數(shù)據(jù)交互通路是zynq芯片設(shè)計的重中之重,也是產(chǎn)品成敗的關(guān)鍵之一。本章我們將主要介紹PL和PS的連接,揭示PL和PS之間的接口技術(shù)細節(jié)。 11.1 PL和PS的接口 在第5章中,我們已經(jīng)初步介紹了Zynq器件上的系統(tǒng)級信號,其中也包括了PL和PS的接口信號,PL與PS的接口主要有兩種類型: 口功能接口。包括AXl、EMl0、中斷、DMA流控制、時鐘和調(diào)試接口。在FPGA開發(fā)人員設(shè)計PL模塊的時候,就可以使用這些接口的信號,從而和PS進行數(shù)據(jù)交互。不同的信號接口用途不一樣,應(yīng)按需求使用。 口配置接口。包括PCAP、SEU、配置狀態(tài)信號和Program/Done/Init信號接口。這些信號的接口連接到PL內(nèi)配置模塊的固定邏輯上,給PS提供對PL的控制能力。 對于硬件設(shè)計而言接觸到的主要是AXl、EMl0、DMA、PCAP等接口,這些接口在第5章中我們已經(jīng)都提過了。EMl0是Zynq提供的一種對Ml0進行擴展的機制。其實就是將Ml0放不下的PS外設(shè)接口,在PL上連接到外部引腳。當然,PL里的邏輯也能訪問到這些“連接”,這些“連接”也可以訪問PL的邏輯。如果將PL內(nèi)的邏輯模塊看作是系統(tǒng)外部的設(shè)備,也就是不需要通過總線和PS通信的設(shè)備,那么我們可以考慮使用EMIO接口和這種邏輯模塊通信。PCAP是配置模塊接口,在后續(xù)實驗中我們也會用到。

編輯推薦

《嵌入式系統(tǒng)軟硬件協(xié)同設(shè)計實戰(zhàn)指南:基于Xilinx Zynq》可作為Zynq初學者、軟硬件協(xié)同設(shè)計開發(fā)人員的參考用書,亦可作為大專院校嵌入式系統(tǒng)設(shè)計、片上系統(tǒng)設(shè)計、可編程邏輯器件等相關(guān)專業(yè)的教師和學生參考用書。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    嵌入式系統(tǒng)軟硬件協(xié)同設(shè)計實戰(zhàn)指南 PDF格式下載


用戶評論 (總計6條)

 
 

  •   Xilinx 首款帶有ARM處理器硬核的片子,國內(nèi)的普及做的還是很快的。據(jù)說這是全球第一本介紹Zynq的圖書。作為新手入門還是非常合適的,這本書里介紹了很多具體的實例,可以快速的上手Zynq系列的芯片。Xilinx 資深工程師編寫,不可多得的權(quán)威之作。
  •   不知道能不能把里面的實驗講清楚!
  •   書剛開始看,里面都粗粗略過,不詳細
  •   幫同事買的,沒說不好。
  •   內(nèi)容還可以,就是每一項都說個皮毛,看了還是沒法學會啊
  •   書上全是錯誤?。?!不如不看
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7