注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件工程及軟件方法學(xué)SoC FPGA 嵌入式設(shè)計(jì)和開(kāi)發(fā)教程

SoC FPGA 嵌入式設(shè)計(jì)和開(kāi)發(fā)教程

SoC FPGA 嵌入式設(shè)計(jì)和開(kāi)發(fā)教程

定 價(jià):¥69.00

作 者: 梅雪松,宋士全,陳云 著
出版社: 北京航空航天大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787512422391 出版時(shí)間: 2019-03-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書(shū)以Intel Cyclone v SoC FPGA系列器件為例,介紹了SoC FPGA 器件的架構(gòu)特點(diǎn)、常用電路設(shè)計(jì)以及軟硬件開(kāi)發(fā)流程和開(kāi)發(fā)技巧。內(nèi)容編排按照開(kāi)發(fā)一個(gè)基于SoC FPGA 的應(yīng)用系統(tǒng)所需掌握的基本的知識(shí)路線(xiàn)展開(kāi),從基本的Linux系統(tǒng)操作到分析一個(gè)基礎(chǔ)的應(yīng)用系統(tǒng)框架,然后基于該應(yīng)用系統(tǒng)框架,詳細(xì)講解應(yīng)用系統(tǒng)的構(gòu)建、BSP文件的生成、啟動(dòng)引導(dǎo)文件的更新、Ubuntu虛擬機(jī)安裝配置、Linux內(nèi)核配置與編譯。接著介紹如何在嵌入式Linux系統(tǒng)環(huán)境下,使用虛擬地址映射的方式編寫(xiě)相應(yīng)的應(yīng)用程序來(lái)實(shí)現(xiàn)該應(yīng)用系統(tǒng)中各個(gè)功能IP的編程控制和調(diào)試。最后以?xún)蓚€(gè)實(shí)際的例子展示如何通過(guò)HPS和FPGA的片上通信橋?qū)崿F(xiàn)軟硬件聯(lián)合開(kāi)發(fā)的過(guò)程,包括FPGA側(cè)邏輯開(kāi)發(fā), IP總線(xiàn)封裝,Linux驅(qū)動(dòng)程序的編寫(xiě)編譯,Linux應(yīng)用程序的編寫(xiě)與運(yùn)行等。本書(shū)既可作為工程類(lèi)應(yīng)用、電子信息類(lèi)專(zhuān)業(yè)本科生以及相關(guān)專(zhuān)業(yè)專(zhuān)科生的嵌入式系統(tǒng)基礎(chǔ)類(lèi)課程的教材,也可作為SoC FPGA自學(xué)人員以及從事SoC FPGA開(kāi)發(fā)的工程技術(shù)人員的培訓(xùn)教材和參考用書(shū)。

作者簡(jiǎn)介

  梅雪松,網(wǎng)名“小梅哥”,擁有多年電子設(shè)計(jì)經(jīng)驗(yàn),擅長(zhǎng)知識(shí)的總結(jié)和傳播,有《小梅哥和你一起深入學(xué)習(xí)FPGA》、《小梅哥FPGA學(xué)習(xí)筆記》兩個(gè)系列網(wǎng)絡(luò)博文;并推出了手把手式視頻教程《FPGA設(shè)計(jì)思想與驗(yàn)證方法視頻教程》,該教程在各大視頻點(diǎn)擊平臺(tái)備受好評(píng),網(wǎng)友稱(chēng)其為學(xué)習(xí)FPGA基礎(chǔ)與提高教學(xué)視頻的S選。同時(shí),開(kāi)設(shè)FPGA實(shí)地培訓(xùn)班,進(jìn)行網(wǎng)絡(luò)和實(shí)地FPGA培訓(xùn),并多次進(jìn)入高校進(jìn)行SoC FPGA開(kāi)發(fā)技術(shù)的培訓(xùn)。培訓(xùn)課程以其系統(tǒng)的知識(shí)講解和生動(dòng)的實(shí)例分析,得到了學(xué)員的一致肯定。

圖書(shū)目錄

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

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)