-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
8/16 新書到! 8/9 新書到! 8/3 新書到! 7/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

SoC FPGA 嵌入式設計和開發教程

( 簡體 字)
作者:梅雪松 宋士權 陳云類別:1. -> 電子工程 -> FPGA
譯者:
出版社:北京航空航天大學出版社SoC FPGA 嵌入式設計和開發教程 3dWoo書號: 51035
詢問書籍請說出此書號!

有庫存
NT售價: 345

出版日:3/1/2019
頁數:313
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787512422391
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

本書以Intel Cyclone v SoC FPGA系列器件為例,介紹了SoC FPGA 器件的架構特點、常用電路設計以及軟硬體開發流程和開發技巧。內容編排按照開發一個基於SoC FPGA 的應用系統所需掌握的*基本的知識路線展開,從基本的Linux系統操作到分析一個*基礎的應用系統框架,然後基於該應用系統框架,詳細講解應用系統的構建、BSP檔的生成、啟動引導檔的更新、Ubuntu虛擬機器安裝配置、Linux內核配置與編譯。接著介紹如何在嵌入式Linux系統環境下,使用虛擬位址映射的方式編寫相應的應用程式來實現該應用系統中各個功能IP的程式設計控制和調試。*後以兩個實際的例子展示如何通過HPS和FPGA的片上通信橋實現軟硬體聯合開發的過程,包括FPGA側邏輯開發, IP匯流排封裝,Linux驅動程式的編寫編譯,Linux應用程式的編寫與運行等。
本書既可作為工程類應用、電子資訊類專業本科生以及相關專業專科生的嵌入式系統基礎類課程的教材,也可作為SoC FPGA自學人員以及從事SoC FPGA開發的工程技術人員的培訓教材和參考用書。
內容簡介:

隨著半導體工藝的提升,晶片廠商將更多的功能集成到單一的半導體晶片之中,晶片集成度的提高,隨之帶來的是應用設計複雜度的提高。Intel在其FPGA 晶片上集成了ARM Cortex處理器,從而形成一顆基於FPGA 的SoC晶片,這是一個典型的可配置的單晶片系統。
目前一顆主流的FPGA 晶片,除了邏輯單元外,還集成了嵌入式記憶體塊、鎖相環、DSP塊,甚至高速收發器電路,並將ARM Core集成到FPGA 晶片上,在帶來功能高度集成的同時,再一次增加了應用設計的複雜度。

目前,基於SoC FPGA 嵌入式系統設計的參考書和教材還很少,而小梅哥的這本書從*基本的概念講起,由淺入深,再配合大量的截圖,一步一步地介紹了整個設計的流程。該書內容涵蓋了基於SoC FPGA 的硬體系統搭建、Linux作業系統的配置,以及軟體的設計與調試方法等,手把手地將一個初學者帶進SoC FPGA 嵌入式系統的設計入門,非常值得推薦。

希望作者在本書的基礎上,再接再厲,不斷地寫出更好的參考書,也希望廣大讀者對本書給予大力支持!

Intel FPGA 大學計畫經理 袁亞東
目錄:

第1章 SoC FPGA軟硬體系統開發概述 … 1
1.1Intel SoC FPGA系列 1
1.1.1Cyclone Ⅴ SoC FPGA … 2
1.1.2Arria Ⅴ SoC FPGA 2
1.1.3Arria 10 SoC FPGA 2
1.1.4Stratix 10 SoC FPGA 3
1.1.5SoC FPGA應用領域與前景 3
1.2Intel Cyclone Ⅴ SoC FPGA介紹 … 4
1.2.1什麼是SoC FPGA … 4
1.2.2SOPC … 4
1.2.3SoC FPGA與SOPC之間的差異 5
1.2.4SoC FPGA架構的優勢 … 6
1.3Cyclone Ⅴ SoC FPGA器件硬體設計概述 9
1.3.1FPGA I/O和時鐘 … 10
1.3.2SoC FPGA JTAG電路設計 … 12
1.4AC501-SoC開發板介紹 13
1.4.1佈局及組件… 13
1.4.2輕觸按鍵 14
1.4.3用戶LED 15
1.4.4時鐘輸入 16
1.4.5GPIO介面… 17
1.4.6DDR3SDRAM 18
1.4.7通用顯示擴展介面… 19
1.4.8USB轉 UART 21
1.4.9乙太網收發器 21
1.5本章小結 23
第2章 SoC FPGA開發板的使用 … 24
2.1安裝SoC FPGA開發工具 24
2.2SoC FPGA的配置資料燒寫與固化 24
2.2.1SoC FPGA啟動配置方式介紹 24
2.2.2sof檔的燒寫方式 26
2.2.3Jic檔的生成和燒寫… 28
2.3在SoC FPGA上運行Linux作業系統 … 32
2.3.1SoC FPGA中的 HPS啟動流程介紹 32
2.3.2HPS啟動方式介紹 33
2.3.3製作啟動鏡像SD卡 34
2.3.4準備硬體板卡 35
2.3.5開機測試 39
2.4開發板Linux系統常用操作 … 40
2.4.1查看目錄 40
2.4.2設置和修改使用者密碼 40
2.4.3查看和編輯檔… 41
2.4.4設置IP位址 … 43
2.4.5掛載SD卡的FAT32分區 45
2.4.6掛載 U盤 46
2.4.7檔操作 47
2.4.8目錄操作 48
2.4.9停止某個進程 49
2.4.10重啟和關機… 50
2.5本章小結 50
第3章 SoC FPGA開發概述 … 51
3.1SoC FPGA開發流程 … 51
3.1.1硬體開發 51
3.1.2軟體發展 53
3.2AC501-SoC FPGA開發板的黃金參考設計說明 53
3.2.1GHRD … 53
3.2.2打開和查看GHRD 54
3.2.3元件參數配置詳解… 57
3.3本章小結 62
第4章手把手修改GHRD系統 63
4.1修改GHRD工程 … 63
4.1.1打開GHRD工程 … 63
4.1.2添加UART IP 64
4.1.3關於 HPS與FPGA資料交互… 64
4.1.4連接UART IP信號埠 65
4.1.5分配組件基底位址… 67
4.1.6生成 Qsys系統的 HDL檔 … 68
4.1.7添加uart_1的埠到 Quartus工程中 69
4.1.8分配FPGA引腳 … 71
4.1.9生成配置資料二進位檔案 72
4.2製作Preloader Image … 72
4.2.1打開SoC EDS工具 73
4.2.2生成bsp檔 74
4.2.3編譯Preloader和 U-Boot 77
4.2.4更新Preloader和 U-Boot 79
4.2.5Win 10下更新失敗問題… 80
4.2.6使用新的 U-Boot啟動SoC … 81
4.3製作設備樹… 82
4.3.1設備樹製作流程… 82
4.3.2準備所需文件 82
4.3.3生成.dts文件 83
4.3.4生成.dtb文件 84
4.4運行修改後的工程 85
4.5本章小結 87
第5章使用DS-5編寫和調試SoC的Linux應用程式 88
5.1啟動DS-5 …88
5.2創建C工程 … 91
5.3編譯工程 94
5.4建立SSH遠端連接 95
5.4.1創建遠端連接 95
5.4.2複製檔到目標板 101
5.4.3運行應用程式 102
5.5遠程調試… 103
5.5.1GDB設置… 103
5.5.2GDB連接和調試… 106
5.6使用 WinSCP實現多系統傳輸檔 108
5.6.1為什麼要使用 WinSCP 108
5.6.2安裝 WinSCP 109
5.6.3建立遠端主機連接 109
5.6.4新建遠端連接 112
5.6.5調用PuTTY終端 112
5.7本章小結… 113
第6章基於虛擬位址映射的Linux硬體程式設計 114
6.1什麼是虛擬位址映射… 114
6.2虛擬位址映射的實現… 115
6.3基於虛擬位址映射的PIO程式設計應用 117
6.3.1PIO外設的虛擬位址映射 117
6.3.2在DS-5中建立PIO應用工程 118
6.3.3添加和包含 HPS庫檔 119
6.3.4添加FPGA側外設硬體資訊… 121
6.3.5PIO IP核介紹 124
6.3.6PIO核寄存器映射 125
6.3.7PIO IP核應用實例 128
6.3.8合理的程式退出機制… 131
6.3.9關於按鍵消抖 133
6.4基於虛擬位址映射的 UART程式設計應用… 134
6.4.1UART核介紹 134
6.4.2UART寄存器映射 134
6.4.3UART IP核應用實例… 136
6.4.4UART IP核板級調試… 144
6.4.5小結 145
6.5基於虛擬位址映射的I2C程式設計應用 145
6.5.1OpenCores I2C IP簡介… 146
6.5.2OpenCores I2C IP寄存器映射 146
6.5.3I2C IP核應用實例 149
6.5.4小結 161
6.6本章小結… 161
第7章基於Linux應用程式的HPS配置
FPGA… 162
7.1製作 Quartus工程 163
7.2生成rbf格式配置資料 163
7.3編譯Linux配置FPGA應用程式… 165
7.4在系統重配置FPGA實驗 … 166
7.5本章小結… 168
第8章編譯嵌入式Linux系統內核 169
8.1安裝 VMware … 170
8.2安裝 Ubuntu系統 171
8.2.1使用現成的 Ubuntu系統鏡像 171
8.2.2安裝全新的 Ubuntu系統 175
8.3下載Linux系統源碼 … 182
8.4設置交叉編譯環境 185
8.5配置和編譯內核… 189
8.5.1快速配置內核 189
8.5.2保存內核設定檔 195
8.5.3編譯內核 195
8.5.4使用內核啟動開發板… 197
8.6本章小結… 199
第9章 Linux設備樹的原理與應用實例 200
9.1什麼是設備樹 200
9.2設備樹基本格式… 201
9.3設備樹載入設備驅動原理… 206
9.4編寫I2C控制器設備節點 … 208
9.5載入 OC_I2C驅動 211
9.6使用RTC … 212
9.7使用EEPROM … 216
9.8編寫SPI控制器設備節點 … 217
9.9本章小結… 219
第10章基於Linux標準檔I/O 的設備讀/寫 … 220
10.1什麼是檔I/O 220
10.2基於檔I/O操作的一般方法 … 220
10.2.1檔描述符 220
10.2.2打開設備(open)… 221
10.2.3向設備寫入資料(write) 221
10.2.4讀取設備資料(read)… 222
10.2.5雜項操作(ioctl)… 222
10.2.6關閉設備(close)… 223
10.2.7其他操作… 223
10.3使用檔I/O實現I2C程式設計 223
10.4本章小結… 226
第11章 FPGA與HPS高速資料交互應用 …227
11.1FPGA與 HPS通信介紹 … 227
11.1.1H2F_LW_AXI_Master橋 … 229
11.1.2H2F_AXI_Master橋 … 229
11.1.3F2H_AXI_Slave橋 230
11.2AXI與 Avalon-MM 匯流排的互聯… 230
11.3Avalon-MM 匯流排 230
11.4Avalon-MM Slave介面 232
11.5基本Avalon-MM Slave IP設計框架 … 234
11.5.1埠定義… 234
11.5.2寄存器和線網定義 235
11.5.3Avalon匯流排對寄存器的讀/寫 235
11.5.4使用者邏輯使用寄存器… 236
11.6PWM 控制器設計 237
11.6.1PWM IP核埠設計… 238
11.6.2PWM IP核寄存器定義 239
11.6.3讀/寫PWM 寄存器 … 239
11.6.4Platform Designer中封裝PWM IP 241
11.7Avalon-MM Master介面 … 255
11.7.1常見的通用Avalon-MM Master主機 … 256
11.7.2DMA Controller 256
11.7.3Scatter-Gather DMA Controller … 256
11.7.4Modular Scatter-Gather DMA 258
11.7.5Avalon-MM Master範本 … 260
11.8高速資料獲取系統… 263
11.8.1安裝Avalon-MM Master範本 263
11.8.2完善 Qsys系統 … 265
11.8.3修改 Quartus中的 Qsys例化 269
11.8.4測試邏輯設計… 271
11.9本章小結… 275
第12章 Linux驅動編寫與編譯 … 276
12.1基底字元型設備驅動… 276
12.1.1字元型設備驅動框架… 277
12.1.2PWM 控制器驅動的完整源碼 286
12.1.3驅動編譯 Makefile 291
12.1.4Ubuntu下編譯設備驅動 292
12.1.5字元型設備驅動驗證… 293
12.2基於DMA的字元型設備驅動 … 297
12.2.1Avalon-MM Master Write驅動 … 298
12.2.2Avalon-MM Master Write測試 … 304
12.3本章小結… 311
附錄A外設位址映射 312
附錄BHPS GPIO映射 … 314
序: