Xilinx Zynq-7000嵌入式系統設計與實現:基于ARM Cortex-A9雙核處理器和Vivado的設計方法 ( 簡體 字) |
作者:何賓,張艷輝 | 類別:1. -> 電腦組織與體系結構 -> 嵌入式系統 -> Cortex |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 44332 詢問書籍請說出此書號!【缺書】 NT售價: 640 元 |
出版日:6/1/2016 |
頁數:744 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787121289958 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:序言 本書是在作者已經出版的《Xilinx All Programmable Zynq-7000 SoC設計指南》一書的基礎上進行大幅度修訂而成的。在本書修訂的過程中,汲取了廣大讀者的參考意見。修訂后本書的特色主要包含: (1)本書大幅度增加了ARM Cortex-A9基本知識的講解,包括指令集、處理器架構等方面的內容,降低讀者閱讀本書的入門門檻; (2)本書大幅度增加了ARM Cortex-A9應用和設計實例,包括MIO和EMIO、定時器、中斷、DMA、NEON等,幫助讀者進一步全面掌握ARM Cortex-A9處理器的使用方法; (3)本書開發環境使用了Xilinx最新的Vivado2015.4集成開發環境,使得本書能反映出Vivado集成開發環境的最新特性; (4)本書大幅度增加了Ubuntu操作系統在嵌入式系統中的應用實例,使得讀者系統掌握Ubuntu構建、驅動程序開發,以及Qt應用程序開發的全部流程。 在修訂本書的過程中,有更多新的體會,在此愿意與廣大讀者分享。 (1)Xilinx推出的Zynq-7000 SoC器件是異構架構的典型代表,即把專用的嵌入式ARM Cortex-A9雙核處理器和通用的大規模現場可編程門陣列FPGA結合在單個芯片中,將專用處理器的串行執行和FPGA的并行執行完美結合,為解決未來大數據處理、人工智能等復雜高性能算法處理鋪平了道路。 (2)新的設計工具的推出,比如Vivado HLS,SDSOC等,更加注重嵌入式系統的系統級建模,對未來設計方法將產生深遠的影響。通過HLS工具,用戶只需要編寫C語言代碼,就可以讓工具自動轉換和生成HDL代碼,顯著地提高了設計效率,縮短了開發周期。 (3)隨著異構架構和片上系統技術的不斷發展,協同設計、協同仿真和協同調試將成為未來嵌入式系統開發者必須具備的品質。所謂的協同,要求設計者必須同時掌握軟件和硬件知識,這與傳統上軟件和硬件分離的設計方法有著本質的區別。 (4)特別值得一提的是,在2016年初Xilinx最新量產的Zynq UltraScale+ MPSoC采用了臺積電的16nm工藝,將ARM的Cortex-A53四核處理器、ARM的Cortex-R5雙核處理器、ARM的Mali-400 MP2 GPU及超大規模FPGA資源集成在單芯片中,為未來高性能數據中心提供強大的支持,進一步改善了數據中心的處理能力,可以預見越來越多的搜索引擎公司、電商平臺及互聯網企業等都會使用這種平臺加速海量數據的處理。 (5)由于半導體技術的不斷發展,使得電子系統從傳統的PCB板級進化到了芯片級,這對嵌入式系統的小型化、低功耗和可靠性的改善都提供了強大的保障,這也是未來嵌入式系統發展的潮流。 本書在修訂的過程中,突出體現ARM的嵌入式和Xilinx最新的Vivado設計工具,所涵蓋的內容是作者所出版圖書中最多的,全書內容達到29章之多。在編排本書內容時,分成下面幾大部分。 (1)設計導論是本書中最基礎的內容,目的要介紹Zynq-7000 SoC的架構、優勢、設計方法,以及Vivado2015.4集成開發環境流程。 (2)ARM AMBA規范是讀者理解和掌握ARM Cortex-A9架構必須要知道的基本知識,掌握這些知識對于讀者能順利學習本書后續章節非常關鍵。 (3)系統介紹Zynq-7000 SoC內PS所有功能部件的原理及使用方法,內容包括:Cortex-A9處理器架構、Cortex-A9指令集、片上存儲器系統、設計流程、MIO/EMIO操作、中斷和異常、定時器、DMA、安全性擴展、NEON、外設模塊。 (4)系統介紹Zynq-7000 SoC內PL的資源及Zynq-7000 SoC內的互聯結構,使得讀者可以清楚地了解并掌握在異構架構下,Cortex-A9專用處理器與PL內定制外設實現滿足不同要求的連接方法。 (5)系統介紹在Zynq-7000 SoC內PL通過GP、HP和ACP,構建不同定制外設,滿足不同數據處理和傳輸性能要求的方法。 (6)系統介紹基于Ubuntu操作系統構建嵌入式系統的方法,包括:Linux開發環境的構建、Zynq-7000 SoC內Ubuntu硬件運行環境的構建、Zynq-7000 SoC內Ubuntu軟件運行環境的構建、驅動程序的開發以及基于Ubuntu構建圖形處理系統。 在編寫本書的過程中,特別感謝Xilinx公司大中華區大學計劃經理陸家華、ARM公司亞太區大學計劃經理陳煒、Xilinx公司亞太區傳媒經理張俊偉給予的大力支持和幫助,也感謝Xilinx公司各位熱心的技術支持給予的無私幫助。集寧師范學院物理系聶陽老師參與編寫本書的第1-3章,作者的研究生張艷輝幫助作者設計和驗證本書所有章節的設計案例,研究生李寶隆編寫了本書第4-5章的內容,本科生湯宗美參與整理并編寫了本書所有配套的教學資源。在本書出版的過程中,得到電子工業出版社領導和編輯的大力支持和幫助,在此也一并向他們表示感謝。
何賓2016年5 月于北京
學 習 說 明 Study Shows
|
內容簡介:本書以Xilinx公司的XC7Z020 Zynq-7000 SoC器件和Xilinx最新的Vivado 2015.4集成開發環境為平臺,全面系統的介紹了嵌入式系統設計的完整設計流程。作者以本書為核心,構建了由公開視頻教學資源、設計案例代碼、教學課件、QQ交流群等學習資源,以方便廣大讀者與作者交流互動。 |
目錄:第1章Zynq-7000 SoC設計導論 1.1全可編程片上系統基礎知識 1.1.1全可編程片上系統的演進 1.1.2SoC與MCU和CPU的比較 1.1.3全可編程SoC誕生的背景 1.1.4可編程SoC系統技術特點 1.1.5全可編程片上系統中的處理器類型 1.2Zynq-7000 SoC功能和結構 1.2.1Zynq-7000 SoC產品分類及資源 1.2.2Xilinx Zynq-7000 SoC功能 1.2.3Zynq-7000 SoC處理系統PS的構成 1.2.4Zynq-7000 SoC可編程邏輯PL的構成 1.2.5Zynq-7000 SoC內的互聯結構 1.2.6Zynq-7000 SoC的供電引腳 1.2.7Zynq-7000 SoC內MIO到EMIO的連接 1.2.8Zynq-7000 SoC內為PL分配的信號 1.3Zynq-7000 SoC在嵌入式系統中的優勢 1.3.1使用PL實現軟件算法 1.3.2降低功耗 1.3.3實時減負 1.3.4可重配置計算 1.4Zynq-7000 SoC的Vivado設計流程 1.4.1Vivado的IP設計和系統級設計集成 1.4.2使用RTL或網表的設計流程 1.4.3IP子系統設計 1.4.4嵌入式處理器硬件設計 1.4.5使用模型和高級綜合的DSP設計 1.4.6脫離上下文的設計流程 1.4.7I/O引腳規劃和布局 1.4.8設計分析和驗證 1.4.9器件編程和硬件驗證 1.4.10部分可重配置 第2章AMBA協議規范 2.1AMBA規范概述 2.2AMBA APB規范 2.2.1AMBA APB寫傳輸 2.2.2AMBA APB讀傳輸 2.2.3AMBA APB錯誤響應 2.2.4操作狀態 2.2.5AMBA3 APB信號 2.3AMBA AHB規范 2.3.1AMBA AHB結構 2.3.2AMBA AHB操作 2.3.3AMBA AHB傳輸類型 2.3.4AMBA AHB猝發操作 2.3.5AMBA AHB傳輸控制信號 2.3.6AMBA AHB地址譯碼 2.3.7AMBA AHB從設備傳輸響應 2.3.8AMBA AHB數據總線 2.3.9AMBA AHB傳輸仲裁 2.3.10AMBA AHB分割傳輸 2.3.11AMBA AHB復位 2.3.12關于AHB數據總線的位寬 2.3.13AMBA AHB接口設備 2.4AMBA AXI4規范 2.4.1AMBA AXI4概述 2.4.2AMBA AXI4功能 2.4.3AMBA AXI4互聯結構 2.4.4AXI4-Lite功能 2.4.5AXI4-Stream功能 第3章Zynq-7000系統公共資源及特性 3.1時鐘子系統 3.1.1時鐘系統架構 3.1.2CPU時鐘域 3.1.3時鐘編程實例 3.1.4時鐘系統內生成電路結構 3.2復位子系統 3.2.1復位系統結構和層次 3.2.2復位流程 3.2.3復位的結果 第4章Zynq調試和測試子系統 4.1JTAG和DAP子系統 4.1.1JTAG和DAP系統功能 4.1.2JTAG和DAP系統I/O信號 4.1.3編程模型 4.1.4ARM DAP控制器 4.1.5跟蹤端口接口單元TPIU 4.1.6Xilinx TAP控制器 4.2CoreSight系統結構及功能 4.2.1CoreSight結構概述 4.2.2CoreSight系統功能 第5章Cortex-A9處理器及指令集 5.1應用處理單元概述 5.1.1基本功能 5.1.2系統級視圖 5.2ARM處理器架構發展 5.3Cortex-A9中央處理器結構 5.3.1處理器模式 5.3.2寄存器 5.3.3流水線 5.3.4分支預測 5.3.5指令和數據對齊 5.3.6跟蹤和調試 5.4Cortex-A9處理器指令集 5.4.1指令集基礎 5.4.2數據處理操作 5.4.3存儲器指令 5.4.4分支 5.4.5飽和算術 5.4.6雜項指令 第6章Cortex-A9片上存儲器系統結構和功能 6.1L1高速緩存 6.1.1高速緩存背景 6.1.2高速緩存的優勢和問題 6.1.3存儲器層次 6.1.4高速緩存結構 6.1.5緩存策略 6.1.6寫和取緩沖區 6.1.7緩存性能和命中速度 6.1.8無效和清除緩存 6.1.9一致性和統一性點 6.1.10Zynq-7000中Cortex-A9 L1高速緩存的特性 6.2存儲器順序 6.2.1普通、設備和強順序存儲器模型 6.2.2存儲器屬性 6.2.3存儲器屏障 6.3存儲器管理單元 6.3.1MMU功能描述 6.3.2虛擬存儲器 6.3.3轉換表 6.3.4頁表入口域的描述 6.3.5TLB構成 6.3.6存儲器訪問順序 6.4偵聽控制單元 6.4.1地址過濾 6.4.2SCU主設備端口 6.5L2高速緩存 6.5.1互斥 L2-L1高速緩存配置 6.5.2高速緩存替換策略 6.5.3高速緩存鎖定 6.5.4使能/禁止 L2高速緩存控制器 6.5.5RAM訪問延遲控制 6.5.6保存緩沖區操作 6.5.7在Cortex-A9和L2控制器之間的優化 6.5.8預取操作 6.5.9編程模型 6.6片上存儲器 6.6.1片上存儲器概述 6.6.2片上存儲器功能 6.7系統地址分配 6.7.1地址映射 6.7.2系統總線主設備 6.7.3I/O外設 6.7.4SMC存儲器 6.7.5SLCR寄存器 6.7.6雜項PS寄存器 6.7.7CPU私有總線寄存器 第7章Zynq-7000 SoC的Vivado基本設計流程 7.1創建新的工程 7.2使用IP集成器創建處理器系統 7.3生成頂層HDL并導出設計到SDK 7.4創建應用測試程序 7.5設計驗證 7.5.1驗證前的硬件平臺準備 7.5.2設計驗證的具體實現 7.6SDK調試工具的使用 7.6.1打開前面的設計工程 7.6.2導入工程到SDK 7.6.3建立新的存儲器測試工程 7.6.4運行存儲器測試工程 7.6.5調試存儲器測試工程 7.7SDK性能分析工具 第8章ARM GPIO的原理和控制實現 8.1GPIO模塊原理 8.1.1GPIO接口及功能 8.1.2GPIO編程流程 8.1.3I/O接口 8.1.4部分寄存器說明 8.1.5底層讀/寫函數說明 8.1.6GPIO的API函數說明 8.2Vivado環境下MIO讀/寫控制的實現 8.2.1調用底層讀/寫函數編寫GPIO應用程序 8.2.2調用API函數編寫控制GPIO應用程序 8.3Vivado環境下EMIO讀/寫控制的實現 8.3.1調用底層讀/寫函數編寫GPIO應用程序 8.3.2調用API函數編寫控制GPIO應用程序 第9章Cortex-A9異常與中斷原理及實現 9.1異常原理 9.1.1異常類型 9.1.2異常處理 9.1.3其他異常句柄 9.1.4Linux異常程序流 9.2中斷原理 9.2.1外部中斷請求 9.2.2Zynq-7000 SoC內的中斷環境 9.2.3中斷控制器的功能 9.3Vivado環境下中斷系統的實現 9.3.1Cortex-A9處理器中斷及異常初始化流程 9.3.2Cortex-A9 GPIO控制器初始化流程 9.3.3導出硬件設計到SDK 9.3.4創建新的應用工程 9.3.5運行應用工程 第10章Cortex-A9定時器原理及實現 10.1定時器系統架構 10.1.1CPU私有定時器和看門狗定時器 10.1.2全局定時器/計數器 10.1.3系統看門狗定時器 10.1.4三重定時器/計數器 10.1.5I/O信號 10.2Vivado環境下定時器的控制實現 10.2.1打開前面的設計工程 10.2.2創建SDK軟件工程 10.2.3運行軟件應用工程 第11章Cortex-A9 DMA控制器原理及實現 11.1DMA控制器架構 11.2DMA控制器功能 11.2.1考慮AXI交易的因素 11.2.2DMA管理器 11.2.3多通道數據FIFO(MFIFO) 11.2.4存儲器—存儲器交易 11.2.5PL外設AXI交易 11.2.6PL外設請求接口 11.2.7PL外設長度管理 11.2.8DMAC長度管理 11.2.9事件和中斷 11.2.10異常終止 11.2.11安全性 11.2.12IP配置選項 11.3DMA控制器編程指南 11.3.1啟動控制器 11.3.2執行DMA傳輸 11.3.3中斷服務例程 11.3.4寄存器描述 11.4DMA引擎編程指南 11.4.1寫微碼編程用于AXI交易的CCRx 11.4.2存儲器到存儲器傳輸 11.4.3PL外設DMA傳輸長度管理 11.4.4使用一個事件重新啟動DMA通道 11.4.5中斷一個處理器 11.4.6指令集參考 11.5編程限制 11.6系統功能之控制器復位配置 11.7I/O接口 11.7.1AXI主接口 11.7.2外設請求接口 11.8Vivado環境下DMA傳輸的實現 11.8.1DMA控制器初始化流程 11.8.2中斷控制器初始化流程 11.8.3中斷服務句柄處理流程 11.8.4導出硬件設計到SDK 11.8.5創建新的應用工程 11.8.6運行軟件應用工程 第12章Cortex-A9安全性擴展 12.1TrustZone硬件架構 12.1.1多核系統的安全性擴展 12.1.2普通世界和安全世界的交互 12.2Zynq-7000 APU內的TrustZone 12.2.1CPU安全過渡 12.2.2CP15寄存器訪問控制 12.2.3MMU安全性 12.2.4L1緩存安全性 12.2.5安全異常控制 12.2.6CPU調試 TrustZone訪問控制 12.2.7SCU寄存器訪問控制 12.2.8L2緩存中的TrustZone支持 第13章Cortex-A9 NEON原理及實現 13.1SIMD 13.2NEON架構 13.2.1與VFP的共性 13.2.2數據類型 13.2.3NEON寄存器 13.2.4NEON指令集 13.3NEON C編譯器和匯編器 13.3.1向量化 13.3.2檢測NEON 13.4NEON優化庫 13.5SDK工具提供的優化選項 13.6使用NEON內聯函數 13.6.1NEON數據類型 13.6.2NEON內聯函數 13.7優化NEON匯編器代碼 13.8提高存儲器訪問效率 13.9自動向量化實現 13.9.1導出硬件設計到SDK 13.9.2創建新的應用工程 13.9.3運行軟件應用工程 13.10NEON匯編代碼實現 13.10.1導出硬件設計到SDK 13.10.2創建新的應用工程 13.10.3運行軟件應用工程 第14章Cortex-A9外設模塊結構及功能 14.1DDR存儲器控制器 14.1.1DDR存儲器控制器接口及功能 14.1.2AXI存儲器端口接口 14.1.3DDR核和交易調度器 14.1.4DDRC仲裁 14.1.5DDR控制器PHY 14.1.6DDR初始化和標定 14.1.7糾錯碼 14.2靜態存儲器控制器 14.2.1靜態存儲器控制器接口及功能 14.2.2靜態存儲器控制器和存儲器的信號連接 14.3四-SPI Flash控制器 14.3.1四-SPI Flash控制器功能 14.3.2四-SPI Flash控制器反饋時鐘 14.3.3四-SPI Flash控制器接口 14.4SD/SDIO外設控制器 14.4.1SD/SDIO控制器功能 14.4.2SD/SDIO控制器傳輸協議 14.4.3SD/SDIO控制器接口信號連接 14.5USB主機、設備和OTG控制器 14.5.1USB控制器接口及功能 14.5.2USB主機操作模式 14.5.3USB設備操作模式 14.5.4USB OTG操作模式 14.6吉比特以太網控制器 14.6.1吉比特以太網控制器接口及功能 14.6.2吉比特以太網控制器接口編程向導 14.6.3吉比特以太網控制器接口信號連接 14.7SPI控制器 14.7.1SPI控制器的接口及功能 14.7.2SPI控制器時鐘設置規則 14.8CAN控制器 14.8.1CAN控制器接口及功能 14.8.2CAN控制器操作模式 14.8.3CAN控制器消息保存 14.8.4CAN控制器接收過濾器 14.8.5CAN控制器編程模型 14.9UART控制器 14.9.1UART控制器接口及功能 14.10I2C控制器 14.10.1I2C速度控制邏輯 14.10.2I2C控制器的功能和工作模式 14.11ADC轉換器接口 14.11.1ADC轉換器接口及功能 14.11.2ADC命令格式 14.11.3供電傳感器報警 14.12PCI-E接口 第15章Zynq-7000內的可編程邏輯資源 15.1可編程邏輯資源概述 15.2可編程邏輯資源功能 15.2.1CLB、Slice和LUT 15.2.2時鐘管理 15.2.3塊RAM 15.2.4數字信號處理-DSP Slice 15.2.5輸入/輸出 15.2.6低功耗串行收發器 15.2.7PCI-E模塊 15.2.8XADC(模擬-數字轉換器) 15.2.9配置 第16章Zynq-7000內的互聯結構 16.1系統互聯架構 16.1.1互聯模塊及功能 16.1.2數據路徑 16.1.3時鐘域 16.1.4連接性 16.1.5AXI ID 16.1.6寄存器概述 16.2服務質量 16.2.1基本仲裁 16.2.2高級QoS 16.2.3DDR端口仲裁 16.3AXI_HP接口 16.3.1AXI_HP接口結構及特點 16.3.2接口數據寬度 16.3.3交易類型 16.3.4命令交替和重新排序 16.3.5性能優化總結 16.4AXI_ACP接口 16.5AXI_GP接口 16.6AXI信號總結 16.7PL接口選擇 16.7.1使用通用主設備端口的Cortex-A9 16.7.2通過通用主設備的PS DMA控制器(DMAC) 16.7.3通過高性能接口的PL DMA 16.7.4通過AXI ACP的PL DMA 16.7.5通過通用AXI從(GP)的PL DMA 第17章Zynq-7000 SoC內定制簡單AXI-Lite IP 17.1設計原理 17.2定制AXI-Lite IP 17.2.1創建定制IP模板 17.2.2修改定制IP設計模板 17.2.3使用IP封裝器封裝外設 17.3打開并添加IP到設計中 17.3.1打開工程和修改設置 17.3.2添加定制IP到設計 17.3.3添加xdc約束文件 17.4導出硬件到SDK 17.5建立和驗證軟件應用工程 17.5.1建立應用工程 17.5.2下載硬件比特流文件到FPGA 17.5.3運行應用工程 第18章Zynq-7000 SoC內定制復雜AXI LITE IP 18.1設計原理 18.1.1VGA IP核的設計原理 18.1.2移位寄存器IP核的設計原理 18.2定制VGA IP核 18.2.1創建定制VGA IP模板 18.2.2修改定制VGA IP模板 18.2.3使用IP封裝器封裝VGA IP 18.3定制移位寄存器IP核 18.3.1創建SHIFTER IP模板 18.3.2修改定制SHIFTER IP模板 18.3.3使用IP封裝器封裝SHIFTER IP 18.4打開并添加IP到設計中 18.4.1打開工程和修改設置 18.4.2添加定制IP到設計 18.4.3添加xdc約束文件 18.5導出硬件到SDK 18.6建立和驗證軟件工程 18.6.1建立應用工程 18.6.2下載硬件比特流文件到FPGA 18.6.3運行應用工程 第19章Zynq-7000 AXI HP數據傳輸原理及實現 19.1設計原理 19.2構建硬件系統 19.2.1打開工程和修改設置 19.2.2添加并連接AXI DMA IP核 19.2.3添加并連接FIFO IP核 19.2.4連接DMA中斷到PS 19.2.5驗證和建立設計 19.3建立和驗證軟件工程 19.3.1導出硬件到SDK 19.3.2創建軟件應用工程 19.3.3下載硬件比特流文件到FPGA 19.3.4運行應用工程 第20章Zynq-7000 ACP數據傳輸原理及實現 20.1設計原理 20.2打開前面的設計工程 20.3配置PS端口 20.4添加并連接IP到設計 20.4.1添加IP到設計 20.4.2系統連接 20.4.3分配地址空間 20.5使用SDK設計和實現應用工程 20.5.1創建新的軟件應用工程 20.5.2導入應用程序 20.5.3下載硬件比特流文件到FPGA 20.5.4運行應用工程 第21章Zynq-7000軟件和硬件協同調試原理及實現 21.1設計目標 21.2ILA核原理 21.2.1ILA觸發器輸入邏輯 21.2.2多觸發器端口的使用 21.2.3使用觸發器和存儲限定條件 21.2.4ILA觸發器輸出邏輯 21.2.5ILA數據捕獲邏輯 21.2.6ILA控制與狀態邏輯 21.3VIO核原理 21.4構建協同調試硬件系統 21.4.1打開前面的設計工程 21.4.2添加定制IP 21.4.3添加ILA和VIO核 21.4.4標記和分配調試網絡 21.5生成軟件工程 21.6S/H協同調試 第22章Zynq-7000 SoC啟動和配置原理及實現 22.1Zynq-7000 SoC啟動過程 22.2Zynq-7000 SoC啟動要求 22.2.1供電要求 22.2.2時鐘要求 22.2.3復位要求 22.2.4模式引腳 22.3Zynq-7000 SoC內的BootROM 22.3.1BootROM特性 22.3.2BootROM頭部 22.3.3啟動設備 22.3.4BootROM多啟動和啟動分區查找 22.3.5調試狀態 22.3.6BootROM后狀態 22.4Zynq-7000 SoC器件配置接口 22.4.1描述功能 22.4.2器件配置流程 22.4.3配置PL 22.4.4寄存器概述 22.5生成SD卡鏡像文件并啟動 22.5.1SD卡與XC7Z020接口設計 22.5.2打開前面的設計工程 22.5.3創建第一級啟動引導 22.5.4創建SD卡啟動鏡像 22.5.5從SD卡啟動引導系統 22.6生成QSPI Flash鏡像并啟動 22.6.1QSPI Flash接口 22.6.2創建QSPI Flash鏡像 22.6.3從QSPI Flash啟動引導系統 22.7Cortex-A9雙核系統的配置和運行 22.7.1構建雙核硬件系統工程 22.7.2添加并互聯IP核 22.7.3導出硬件設計到SDK中 22.7.4設置板級包支持路徑 22.7.5建立FSBL應用工程 22.7.6建立CPU0應用工程 22.7.7建立CPU1板級支持包 22.7.8建立CPU1應用工程 22.7.9創建SD卡鏡像文件 22.7.10雙核系統運行和測試 22.7.11雙核系統的調試 第23章Zynq-7000 SoC內XADC原理及實現 23.1ADC轉換器接口結構 23.2ADC轉換器功能 23.2.1ADC命令格式 23.2.3供電傳感器報警 23.3XADC IP核結構及信號 23.4開發平臺上XADC接口 23.5在Zynq-7000 SoC內構建數模混合系統 23.5.1打開前面的設計工程 23.5.2配置PS端口 23.5.3添加并連接XADC IP到設計 23.5.4查看地址空間 23.5.5添加設計約束文件 23.5.6設計處理 23.6使用SDK設計和實現應用工程 23.6.1生成新的應用工程 23.6.2導入應用程序 23.6.3下載硬件比特流文件到FPGA 23.6.4運行應用工程 第24章Linux開發環境的構建 24.1構建虛擬機環境 24.2安裝和啟動Ubuntu14.04客戶機操作系統 24.2.1新添加兩個磁盤 24.2.2設置CD/DVD(SATA) 24.2.3安裝Ubuntu14.04 24.2.4更改Ubuntu14.04操作系統啟動設備 24.2.5啟動Ubuntu14.04操作系統 24.2.6添加搜索鏈接資源 24.3安裝FTP工具 24.3.1Windows操作系統下LeapFTP安裝 24.3.2Ubuntu操作系統環境下FTP安裝 24.4安裝和啟動SSH和git組件 24.4.1安裝和啟動SSH組件 24.4.2安裝和git組件 24.5安裝交叉編譯器環境 24.5.1安裝32位支持工具包 24.5.2安裝和設置SDK 2015.4工具 24.6安裝和配置Qt集成開發工具 24.6.1Qt集成開發工具功能 24.6.2構建PC平臺Qt環境 24.6.3構建ARM平臺Qt環境 第25章構建Zynq-7000 SoC內Ubuntu硬件運行環境 25.1建立新的設計工程 25.2添加IP核路徑 25.3構建硬件系統 25.3.1添加和配置ZYNQ7 IP 25.3.2添加和配置VDMA IP 25.3.3添加和配置AXI Display Controller IP 25.3.4添加和配置HDMI Transmitter IP核 25.3.5添加和配置VGA IP核 25.3.6連接用戶自定義IP核 25.3.7添加和配置Processor System Reset IP核 25.3.8連接系統剩余部分 25.4添加設計約束文件 25.5導出硬件文件 第26章構建Zynq-7000 SoC內Ubuntu軟件運行環境 26.1u-boot原理及實現 26.1.1下載u-boot源碼 26.1.2u-boot版文件結構 26.1.3u-boot工作模式 26.1.4u-boot啟動流程 26.1.5編譯u-boot 26.1.6鏈接腳本文件結構 26.2內核結構及編譯 26.2.1內核結構 26.2.2下載Linux內核源碼 26.2.3內核版本 26.2.4內核系統配置 26.2.5Bootloader啟動過程 26.2.6Linux內核啟動過程 26.2.7編譯內核 26.3設備樹原理及實現 26.3.1設備樹概述 26.3.2設備樹數據格式 26.3.3設備樹的編譯 26.4文件系統原理及下載 26.5生成Ubuntu啟動鏡像 26.5.1生成FSBL文件 26.5.2生成BOOT.BIN啟動文件 26.5.3制作SD卡 26.5.4復制BOOT.BIN文件 26.5.5復制編譯后的內核文件 26.5.6復制編譯后的設備樹文件 26.5.7復制文件系統 26.6啟動Ubuntu操作系統 第27章Linux環境下簡單字符設備驅動程序的開發 27.1驅動程序的必要性 27.2Linux操作系統下的設備文件類型 27.3Linux驅動的開發流程 27.4驅動程序的結構框架 27.4.1加載和卸載驅動函數模塊 27.4.2字符設備中重要的數據結構和函數 27.5編寫Makefile文件 27.6編譯驅動程序 27.7編寫測試程序 27.8運行測試程序 第28章Linux環境下包含中斷機制驅動程序的開發 28.1設計原理 28.2編寫包含中斷處理的驅動代碼 28.2.1驅動程序頭文件 28.2.2驅動的加載和卸載函數 27.2.3file_operations初始化 28.3編寫Makefile文件 28.4編譯驅動程序 28.5測試驅動程序 第29章Linux環境下圖像處理系統的構建 29.1系統整體架構和功能 29.2OV5640攝像頭性能 29.2.1攝像頭捕獲模塊的硬件 29.2.2SCCB接口規范 29.2.3寫攝像頭模組寄存器操作 29.2.4讀攝像頭模組寄存器操作 29.2.5攝像頭初始化流程 29.3Vivado HLS實現拉普拉斯算子濾波算法的設計 29.3.1Vivado HLS工具的性能和優勢 29.3.2拉普拉斯算法與HDL之間的映射 29.4圖像處理系統的整體構建 29.5圖像處理系統軟件的設計 29.5.1Ubuntu桌面系統的構建 29.5.2Qt圖像處理程序的開發 29.6嵌入式圖像處理系統測試 |
序: |