pci簡單控制器驅動的問題,透過圖書和論文來找解法和答案更準確安心。 我們找到下列懶人包和總整理

pci簡單控制器驅動的問題,我們搜遍了碩博士論文和台灣出版的書籍,推薦何賓寫的 Xilinx Zynq-7000嵌入式系統設計與實現:基於Arm Cortex-A9雙核處理器和Vivado的設計方法(第二版) 和(印)瑞·卡莫爾的 嵌入式系統:體系結構、編程與設計(第3版)都 可以從中找到所需的評價。

另外網站PCI简易通讯控制器有黄色感叹号解决方法 - 知乎专栏也說明:5.在更新驱动程序软件-PCI简单通信控制器的下一个窗口中,单击:系统设备,然后单击:下一步(N)。 6.接下来,在框中的制造商列中单击鼠标左键 ...

這兩本書分別來自電子工業 和清華大學所出版 。

國立雲林科技大學 電機工程系 毛偉龍所指導 張峻睿的 隱形眼鏡乾片圖紋瑕疵檢測系統 (2018),提出pci簡單控制器驅動關鍵因素是什麼,來自於自動光學檢測、隱形眼鏡乾片、圖紋(彩環)瑕疵。

而第二篇論文國立交通大學 電控工程研究所 蕭得聖所指導 王涵宇的 應用比例積分控制器與外擾估測器之電動自走車輪速控制 (2016),提出因為有 電動車、輪胎速度控制、干擾估測器的重點而找出了 pci簡單控制器驅動的解答。

最後網站ASUS U35JC – pci簡單通訊控制 - Mindy's Page則補充:下了一堆Driver都失敗,. pci簡單通訊控制..這個要下載的位置也怪怪的… 在其他 裡面的–Intel MEI設備驅動 ...

接下來讓我們看這些論文和書籍都說些什麼吧:

除了pci簡單控制器驅動,大家也想知道這些:

Xilinx Zynq-7000嵌入式系統設計與實現:基於Arm Cortex-A9雙核處理器和Vivado的設計方法(第二版)

為了解決pci簡單控制器驅動的問題,作者何賓 這樣論述:

本書是作者在已經出版的《Xilinx Zynq-7000嵌入式系統設計與實現:基於ARM Cortex-A9雙核處理器和Vivado的設計方法》一書的基礎上進行修訂而成的。   本書新修訂後內容增加到30章。修訂後,本書的一大特色就是加入了Arm架構及分類、使用PetaLinux工具在Zynq-7000 SoC上搭建Ubuntu作業系統,以及在Ubuntu作業系統環境下搭建Python語言開發環境,並使用Python語言開發應用程式的內容。   本書修訂後。進一步降低了讀者學習Arm Cortex-A9嵌入式系統的門檻,並引入了在Zynq-7000 SoC上搭建Ubuntu作業系統的新方法。此

外,將流行的Python語言引入到Arm嵌入式系統中,進一步拓寬了在Arm嵌入式系統上開發應用程式的方法。 第1章 Zynq - 7000 SoC設計導論 1 1.1 全可程式設計片上系統基礎知識 1 1.1.1 全可程式設計片上系統的演進 1 1.1.2 SoC與MCU和CPU的比較 3 1.1.3 全可程式設計SoC誕生的背景 4 1.1.4 可程式設計SoC系統技術特點 5 1.1.5 全可程式設計片上系統中的處理器類型 5 1.2 Arm架構及分類 6 1.2.1 M - Profile 7 1.2.2 R - Profile 9 1.2.3 A - Profile

10 1.3 Zynq - 7000 SoC功能和結構 11 1.3.1 Zynq - 7000 SoC產品分類及資源 12 1.3.2 Zynq - 7000 SoC的功能 12 1.3.3 Zynq - 7000 SoC處理系統PS的構成 14 1.3.4 Zynq - 7000 SoC可程式設計邏輯PL的構成 19 1.3.5 Zynq - 7000 SoC內的互聯結構 20 1.3.6 Zynq - 7000 SoC的供電引腳 22 1.3.7 Zynq - 7000 SoC內MIO到EMIO的連接 23 1.3.8 Zynq - 7000 SoC內為PL分配的信號 28 1.4 Z

ynq - 7000 SoC在嵌入式系統中的優勢 30 1.4.1 使用PL實現軟體演算法 30 1.4.2 降低功耗 32 1.4.3 即時減負 33 1.4.4 可重配置計算 34 第2章 AMBA規範 35 2.1 AMBA規範及發展 35 2.1.1 AMBA 1 36 2.1.2 AMBA 2 36 2.1.3 AMBA 3 36 2.1.4 AMBA 4 37 2.1.5 AMBA 5 38 2.2 AMBA APB規範 40 2.2.1 AMBA APB寫傳輸 40 2.2.2 AMBA APB讀傳輸 42 2.2.3 AMBA APB錯誤回應 43 2.2.4 操作狀態 44

2.2.5 AMBA 3 APB信號 44 2.3 AMBA AHB規範 45 2.3.1 AMBA AHB結構 45 2.3.2 AMBA AHB操作 46 2.3.3 AMBA AHB傳輸類型 48 2.3.4 AMBA AHB猝發操作 50 2.3.5 AMBA AHB傳輸控制信號 53 2.3.6 AMBA AHB位址解碼 54 2.3.7 AMBA AHB從設備傳輸回應 55 2.3.8 AMBA AHB資料匯流排 58 2.3.9 AMBA AHB傳輸仲裁 59 2.3.10 AMBA AHB分割傳輸 64 2.3.11 AMBA AHB復位 67 2.3.12 關於AHB資料匯

流排的位元寬 67 2.3.13 AMBA AHB周邊設備 68 2.4 AMBA AXI4規範 69 2.4.1 AMBA AXI4概述 69 2.4.2 AMBA AXI4功能 70 2.4.3 AMBA AXI4互聯結構 78 2.4.4 AXI4 - Lite功能 79 2.4.5 AXI4 - Stream功能 80 第3章 Zynq - 7000系統公共資源及特性 83 3.1 時鐘子系統 83 3.1.1 時鐘子系統架構 83 3.1.2 CPU時鐘域 84 3.1.3 時鐘程式設計實例 86 3.1.4 時鐘子系統內的生成電路結構 87 3.2 復位子系統 91 3.2.1

重定子系統結構和層次 92 3.2.2 重定流程 93 3.2.3 復位的結果 94 第4章 Zynq調試和測試子系統 95 4.1 JTAG和DAP子系統 95 4.1.1 JTAG和DAP子系統功能 97 4.1.2 JTAG和DAP子系統I/O信號 99 4.1.3 程式設計模型 99 4.1.4 Arm DAP控制器 101 4.1.5 跟蹤埠介面單元(TPIU) 102 4.1.6 Xilinx TAP控制器 102 4.2 CoreSight系統結構及功能 103 4.2.1 CoreSight結構概述 103 4.2.2 CoreSight系統功能 104 第5章 Corte

x - A9處理器及指令集 107 5.1 應用處理單元概述 107 5.1.1 基本功能 107 5.1.2 系統級視圖 108 5.2 Cortex - A9處理器結構 110 5.2.1 處理器模式 111 5.2.2 寄存器 113 5.2.3 流水線 118 5.2.4 分支預測 118 5.2.5 指令和資料對齊 119 5.2.6 跟蹤和調試 121 5.3 Cortex - A9處理器指令集 122 5.3.1 指令集基礎 122 5.3.2 資料處理操作 125 5.3.3 記憶體指令 130 5.3.4 分支 131 5.3.5 飽和算術 133 5.3.6 雜項指令 13

4 第6章 Cortex - A9片上記憶體系統結構和功能 138 6.1 L1快取記憶體 138 6.1.1 快取記憶體背景 138 6.1.2 快取記憶體的優勢和問題 139 6.1.3 記憶體層次 140 6.1.4 快取記憶體結構 140 6.1.5 緩存策略 145 6.1.6 寫和取緩衝區 147 6.1.7 緩存性能和命中速度 147 6.1.8 無效和清除緩存 147 6.1.9 一致性點和統一性點 149 6.1.10 Zynq - 7000中Cortex - A9 L1快取記憶體的特性 151 6.2 記憶體順序 153 6.2.1 普通、設備和強順序記憶體模型 154

6.2.2 記憶體屬性 155 6.2.3 記憶體屏障 155 6.3 記憶體管理單元 159 6.3.1 MMU功能描述 160 6.3.2 虛擬記憶體 161 6.3.3 轉換表 162 6.3.4 頁表入口域的描述 165 6.3.5 TLB構成 167 6.3.6 記憶體訪問順序 169 6.4 偵聽控制單元 170 6.4.1 地址過濾 171 6.4.2 SCU主設備埠 171 6.5 L2快取記憶體 171 6.5.1 互斥L2 - L1快取記憶體配置 173 6.5.2 快取記憶體替換策略 174 6.5.3 快取記憶體鎖定 174 6.5.4 使能/禁止L2快取記憶體控制器

176 6.5.5 RAM訪問延遲控制 176 6.5.6 保存緩衝區操作 176 6.5.7 在Cortex - A9和L2控制器之間的優化 177 6.5.8 預取操作 178 6.5.9 程式設計模型 179 6.6 片上記憶體 180 6.6.1 片上記憶體概述 180 6.6.2 片上記憶體功能 181 6.7 系統位址分配 186 6.7.1 位址映射 186 6.7.2 系統匯流排主設備 188 6.7.3 I/O外設 188 6.7.4 SMC記憶體 188 6.7.5 SLCR寄存器 188 6.7.6 雜項PS寄存器 189 6.7.7 CPU私有寄存器 189 第7章

Zynq - 7000 SoC的Vivado基本設計流程 190 7.1 創建新的工程 190 7.2 使用IP集成器創建處理器系統 192 7.3 生成頂層HDL並匯出設計到SDK 197 7.4 創建應用測試程式 199 7.5 設計驗證 202 7.5.1 驗證前的硬體平臺準備 202 7.5.2 設計驗證的具體實現 203 7.6 SDK調試工具的使用 205 7.6.1 打開前面的設計工程 205 7.6.2 導入工程到SDK 205 7.6.3 建立新的記憶體測試工程 205 7.6.4 運行記憶體測試工程 206 7.6.5 調試記憶體測試工程 207 7.7 SDK性能分析工具

209 第8章 Arm GPIO的原理和控制實現 213 8.1 GPIO模組原理 213 8.1.1 GPIO介面及功能 214 8.1.2 GPIO程式設計流程 217 8.1.3 I/O介面 218 8.1.4 部分寄存器說明 218 8.1.5 底層讀/寫函數說明 220 8.1.6 GPIO的API函數說明 220 8.2 Vivado環境下MIO讀/寫控制的實現 221 8.2.1 調用底層讀/寫函數編寫GPIO應用程式 221 8.2.2 調用API函數編寫控制GPIO應用程式 224 8.3 Vivado環境下EMIO讀/寫控制的實現 226 8.3.1 調用底層讀/寫函數

編寫GPIO應用程式 227 8.3.2 調用API函數編寫控制GPIO應用程式 232 第9章 Cortex - A9異常與中斷原理及實現 236 9.1 異常原理 236 9.1.1 異常類型 237 9.1.2 異常處理 241 9.1.3 其他異常控制碼 242 9.1.4 Linux異常程式流 243 9.2 中斷原理 244 9.2.1 外部插斷要求 244 9.2.2 Zynq - 7000 SoC內的中斷環境 247 9.2.3 中斷控制器的功能 248 9.3 Vivado環境下中斷系統的實現 252 9.3.1 Cortex - A9處理器中斷及異常初始化流程 252 9

.3.2 Cortex - A9 GPIO控制器初始化流程 252 9.3.3 匯出硬體設計到SDK 253 9.3.4 創建新的應用工程 253 9.3.5 運行應用工程 256 第10章 Cortex - A9計時器原理及實現 257 10.1 計時器系統架構 257 10.1.1 CPU私有計時器和看門狗計時器 257 10.1.2 全域計時器/計數器 258 10.1.3 系統級看門狗計時器 259 10.1.4 3重計時器/計數器 261 10.1.5 I/O信號 264 10.2 Vivado環境下計時器的控制實現 264 10.2.1 打開前面的設計工程 265 10.2.2

創建SDK軟體工程 265 10.2.3 運行軟體應用工程 267 第11章 Cortex - A9 DMA控制器原理及實現 268 11.1 DMA控制器架構 268 11.2 DMA控制器功能 271 11.2.1 考慮AXI交易的因素 272 11.2.2 DMA管理器 273 11.2.3 多通道資料FIFO(MFIFO) 274 11.2.4 記憶體―記憶體交易 274 11.2.5 PL外設AXI交易 274 11.2.6 PL外設請求介面 275 11.2.7 PL外設長度管理 276 11.2.8 DMAC長度管理 277 11.2.9 事件和中斷 278 11.2.10 異

常終止 278 11.2.11 安全性 280 11.2.12 IP配置選項 282 11.3 DMA控制器程式設計指南 282 11.3.1 啟動控制器 282 11.3.2 執行DMA傳輸 282 11.3.3 插斷服務常式 282 11.3.4 寄存器描述 283 11.4 DMA引擎程式設計指南 284 11.4.1 寫微代碼程式設計用於AXI交易的CCRx 284 11.4.2 記憶體到記憶體傳輸 284 11.4.3 PL外設DMA傳輸長度管理 287 11.4.4 使用一個事件重新啟動DMA通道 289 11.4.5 中斷一個處理器 289 11.4.6 指令集參考 290 11

.5 程式設計限制 291 11.6 系統功能之控制器重定配置 292 11.7 I/O介面 293 11.7.1 AXI主介面 293 11.7.2 外設請求介面 293 11.8 Vivado環境下DMA傳輸的實現 294 11.8.1 DMA控制器初始化流程 295 11.8.2 中斷控制器初始化流程 295 11.8.3 中斷服務控制碼處理流程 296 11.8.4 匯出硬體設計到SDK 296 11.8.5 創建新的應用工程 297 11.8.6 運行軟體應用工程 303 第12章 Cortex - A9安全性擴展 305 12.1 TrustZone硬體架構 305 12.1.1

多核系統的安全性擴展 307 12.1.2 普通世界和安全世界的交互 307 12.2 Zynq - 7000 APU內的TrustZone 308 12.2.1 CPU安全過渡 309 12.2.2 CP15寄存器存取控制 310 12.2.3 MMU安全性 310 12.2.4 L1緩存安全性 311 12.2.5 安全異常控制 311 12.2.6 CPU調試TrustZone存取控制 311 12.2.7 SCU寄存器存取控制 312 12.2.8 L2緩存中的TrustZone支持 312 第13章 Cortex - A9 NEON原理及實現 313 13.1 SIMD 313

13.2 NEON架構 315 13.2.1 與VFP的共性 315 13.2.2 資料類型 316 13.2.3 NEON寄存器 316 13.2.4 NEON指令集 318 13.3 NEON C編譯器和彙編器 319 13.3.1 向量化 319 13.3.2 檢測NEON 319 13.4 NEON優化庫 320 13.5 SDK工具提供的優化選項 321 13.6 使用NEON內聯函數 324 13.6.1 NEON資料類型 325 13.6.2 NEON內聯函數 325 13.7 優化NEON彙編器代碼 327 13.8 提高記憶體訪問效率 328 13.9 自動向量化實現 329

13.9.1 匯出硬體設計到SDK 329 13.9.2 創建新的應用工程 330 13.9.3 運行軟體應用工程 331 13.10 NEON彙編代碼實現 331 13.10.1 匯出硬體設計到SDK 331 13.10.2 創建新的應用工程 332 13.10.3 運行軟體應用工程 333 第14章 Cortex - A9外設模組結構及功能 334 14.1 DDR記憶體控制器 334 14.1.1 DDR記憶體控制器介面及功能 335 14.1.2 AXI記憶體介面 337 14.1.3 DDR核和交易調度器 338 14.1.4 DDRC仲裁 338 14.1.5 DDR記憶體控制

器PHY 340 14.1.6 DDR初始化和標定 340 14.1.7 改錯碼 341 14.2 靜態記憶體控制器 342 14.2.1 靜態記憶體控制器介面及功能 343 14.2.2 靜態記憶體控制器和記憶體的信號連接 344 14.3 四 - SPI Flash控制器 345 14.3.1 四 - SPI Flash控制器功能 347 14.3.2 四 - SPI Flash控制器回饋時鐘 349 14.3.3 四 - SPI Flash控制器介面 349 14.4 SD/SDIO外設控制器 351 14.4.1 SD/SDIO控制器功能 352 14.4.2 SD/SDIO控制器傳輸

協議 353 14.4.3 SD/SDIO控制器埠信號連接 356 14.5 USB主機、設備和OTG控制器 356 14.5.1 USB控制器介面及功能 358 14.5.2 USB主機操作模式 361 14.5.3 USB設備操作模式 363 14.5.4 USB OTG操作模式 365 14.6 吉比特乙太網控制器 365 14.6.1 吉比特乙太網控制器介面及功能 367 14.6.2 吉比特乙太網控制器介面程式設計嚮導 368 14.6.3 吉比特乙太網控制器介面信號連接 372 14.7 SPI控制器 373 14.7.1 SPI控制器的介面及功能 374 14.7.2 SPI控制

器時鐘設置規則 376 14.8 CAN控制器 376 14.8.1 CAN控制器介面及功能 377 14.8.2 CAN控制器操作模式 379 14.8.3 CAN控制器消息保存 380 14.8.4 CAN控制器接收篩檢程式 381 14.8.5 CAN控制器程式設計模型 382 14.9 UART控制器 383 14.10 I2C控制器 387 14.10.1 I2C速度控制邏輯 388 14.10.2 I2C控制器的功能和工作模式 388 14.11 XADC轉換器介面 390 14.11.1 XADC轉換器介面及功能 391 14.11.2 XADC命令格式 392 14.11.3

供電感測器報警 392 14.12 PCI - E介面 393 第15章 Zynq - 7000內的可程式設計邏輯資源 395 15.1 可程式設計邏輯資源概述 395 15.2 可程式設計邏輯資源功能 396 15.2.1 CLB、Slice和LUT 396 15.2.2 時鐘管理 396 15.2.3 塊RAM 398 15.2.4 數位信號處理 - DSP Slice 398 15.2.5 輸入/輸出 399 15.2.6 低功耗串列收發器 400 15.2.7 PCI - E模組 401 15.2.8 XADC(類比 - 數位轉換器) 402 15.2.9 配置 402 第16章

Zynq - 7000內的互聯結構 404 16.1 系統互聯架構 404 16.1.1 互聯模組及功能 404 16.1.2 資料路徑 406 16.1.3 時鐘域 407 16.1.4 連線性 408 16.1.5 AXI ID 409 16.1.6 寄存器概述 409 16.2 服務品質 410 16.2.1 基本仲裁 410 16.2.2 不錯QoS 410 16.2.3 DDR埠仲裁 411 16.3 AXI_HP介面 411 16.3.1 AXI_HP介面結構及特點 411 16.3.2 介面資料寬度 415 16.3.3 交易類型 416 16.3.4 命令交替和重新排序 416

16.3.5 性能優化總結 416 16.4 AXI_ACP介面 417 16.5 AXI_GP介面 418 16.6 AXI信號總結 418 16.7 PL介面選擇 422 16.7.1 使用通用主設備埠的Cortex - A9 423 16.7.2 通過通用主設備的PS DMA控制器(DMAC) 423 16.7.3 通過高性能介面的PL DMA 426 16.7.4 通過AXI ACP的PL DMA 426 16.7.5 通過通用AXI從(GP)的PL DMA 426 第17章 Zynq - 7000 SoC內定制簡單AXI - Lite IP 429 17.1 設計原理 429 1

7.2 定制AXI - Lite IP 429 17.2.1 創建定制IP範本 429 17.2.2 修改定制IP設計範本 432 17.2.3 使用IP封裝器封裝外設 436 17.3 打開並添加IP到設計中 440 17.3.1 打開工程和修改設置 440 17.3.2 添加定制IP到設計 442 17.3.3 添加XDC約束檔 445 17.4 匯出硬體到SDK 446 17.5 建立和驗證軟體應用工程 446 17.5.1 建立應用工程 447 17.5.2 下載硬體位元流檔到FPGA 449 17.5.3 運行應用工程 450 第18章 Zynq - 7000 SoC內定制複雜AX

I Lite IP 451 18.1 設計原理 451 18.1.1 VGA IP核的設計原理 451 18.1.2 移位暫存器IP核的設計原理 453 18.2 定制VGA IP核 454 18.2.1 創建定制VGA IP範本 454 18.2.2 修改定制VGA IP範本 455 18.2.3 使用IP封裝器封裝VGA IP 459 18.3 定制移位暫存器IP核 460 18.3.1 創建定制SHIFTER IP範本 460 18.3.2 修改定制SHIFTER IP範本 462 18.3.3 使用IP封裝器封裝SHIFTER IP 463 18.4 打開並添加IP到設計中 464 1

8.4.1 打開工程和修改設置 464 18.4.2 添加定制IP到設計 466 18.4.3 添加XDC約束檔 470 18.5 匯出硬體到SDK 471 18.6 建立和驗證軟體工程 472 18.6.1 建立應用工程 472 18.6.2 下載硬體位元流檔到FPGA 476 18.6.3 運行應用工程 477 第19章 Zynq - 7000 AXI HP資料傳輸原理及實現 478 19.1 設計原理 478 19.2 構建硬體系統 479 19.2.1 打開工程和修改設置 479 19.2.2 添加並連接AXI DMA IP核 480 19.2.3 添加並連接FIFO IP核 482

19.2.4 連接DMA中斷到PS 485 19.2.5 驗證和建立設計 487 19.3 建立和驗證軟體工程 487 19.3.1 匯出硬體到SDK 488 19.3.2 創建軟體應用工程 488 19.3.3 下載硬體位元流檔到FPGA 497 19.3.4 運行應用工程 497 第20章 Zynq - 7000 ACP資料傳輸原理及實現 499 20.1 設計原理 499 20.2 打開前面的設計工程 499 20.3 配置PS埠 499 20.4 添加並連接IP到設計 500 20.4.1 添加IP到設計 501 20.4.2 系統連接 501 20.4.3 分配位址空間 502

20.5 使用SDK設計和實現應用工程 504 20.5.1 創建新的軟體應用工程 504 20.5.2 導入應用程式 504 20.5.3 下載硬體位元流檔到FPGA 507 20.5.4 運行應用工程 508 第21章 Zynq - 7000軟體和硬體協同調試原理及實現 509 21.1 設計目標 509 21.2 ILA核原理 510 21.2.1 ILA觸發器輸入邏輯 510 21.2.2 多觸發器埠的使用 510 21.2.3 使用觸發器和存儲限制條件 510 21.2.4 ILA觸發器輸出邏輯 512 21.2.5 ILA資料捕獲邏輯 512 21.2.6 ILA控制與狀態邏輯

513 21.3 VIO核原理 513 21.4 構建協同調試硬體系統 514 21.4.1 打開前面的設計工程 514 21.4.2 添加定制IP 514 21.4.3 添加ILA和VIO核 515 21.4.4 標記和分配調試網路 516 21.5 生成軟體工程 518 21.6 S/H協同調試 520 第22章 Zynq - 7000 SoC啟動和配置原理及實現 527 22.1 Zynq - 7000 SoC啟動過程 527 22.2 Zynq - 7000 SoC啟動要求 527 22.2.1 供電要求 528 22.2.2 時鐘要求 528 22.2.3 復位要求 528 22.

2.4 模式引腳 528 22.3 Zynq - 7000 SoC內的BootROM 530 22.3.1 BootROM特性 530 22.3.2 BootROM頭部 531 22.3.3 啟動設備 535 22.3.4 BootROM多啟動和開機磁碟分割查找 538 22.3.5 調試狀態 539 22.3.6 BootROM後狀態 540 22.4 Zynq - 7000 SoC器件配置介面 543 22.4.1 描述功能 544 22.4.2 器件配置流程 545 22.4.3 配置PL 549 22.4.4 寄存器概述 550 22.5 生成SD卡鏡像檔並啟動 551 22.5.1

SD卡與XC7Z020介面設計 551 22.5.2 打開前面的設計工程 552 22.5.3 創建級啟動引導 553 22.5.4 創建SD卡啟動鏡像 553 22.5.5 從SD卡啟動引導系統 555 22.6 生成QSPI Flash鏡像並啟動 556 22.6.1 QSPI Flash介面 556 22.6.2 創建QSPI Flash鏡像 557 22.6.3 從QSPI Flash啟動引導系統 558 22.7 Cortex - A9雙核系統的配置和運行 558 22.7.1 構建雙核硬體系統工程 558 22.7.2 添加並互聯IP核 559 22.7.3 匯出硬體設計到SDK中

561 22.7.4 設置板級包支援路徑 561 22.7.5 建立FSBL應用工程 562 22.7.6 建立CPU0應用工程 562 22.7.7 建立CPU1板級支持包 566 22.7.8 建立CPU1應用工程 566 22.7.9 創建SD卡鏡像文件 570 22.7.10 雙核系統運行和測試 571 22.7.11 雙核系統的調試 571 第23章 Zynq - 7000 SoC內XADC原理及實現 574 23.1 ADC轉換器介面結構 574 23.2 ADC轉換器功能 575 23.2.1 XADC的命令格式 576 23.2.3 供電感測器報警 576 23.3 XAD

C IP核結構及信號 577 23.4 開發平臺上的XADC介面 578 23.5 在Zynq - 7000 SoC內構建數模混合系統 579 23.5.1 打開前面的設計工程 579 23.5.2 配置PS埠 579 23.5.3 添加並連接XADC IP到設計 580 23.5.4 查看位址空間 582 23.5.5 添加用戶約束檔 583 23.5.6 設計處理 583 23.6 使用SDK設計和實現應用工程 584 23.6.1 生成新的應用工程 584 23.6.2 導入應用程式 585 23.6.3 下載硬體位元流檔到FPGA 591 23.6.4 運行應用工程 591 第24章

Linux開發環境的構建 592 24.1 構建虛擬機器環境 592 24.2 安裝和啟動Ubuntu 14.04客戶機作業系統 595 24.2.1 新添加兩個磁片 595 24.2.2 設置CD/DVD(SATA) 596 24.2.3 安裝Ubuntu 14.04 597 24.2.4 更改Ubuntu 14.04作業系統啟動設備 600 24.2.5 啟動Ubuntu 14.04作業系統 600 24.2.6 添加搜索連結資源 600 24.3 安裝FTP工具 601 24.3.1 Windows作業系統下LeapFTP安裝 601 24.3.2 Ubuntu作業系統環境下FTP安裝

602 24.4 安裝和啟動SSH和GIT組件 603 24.4.1 安裝和啟動SSH組件 603 24.4.2 安裝和啟動GIT組件 604 24.5 安裝交叉編譯器環境 604 24.5.1 安裝32位支援工具包 604 24.5.2 安裝和設置SDK 2015.4工具 605 24.6 安裝和配置Qt集成開發工具 606 24.6.1 Qt集成開發工具功能 606 24.6.2 構建PC平臺Qt環境 607 24.6.3 構建Arm平臺Qt環境 613 第25章 構建Zynq - 7000 SoC內Ubuntu硬體運行環境 622 25.1 建立新的設計工程 622 25.2 添加I

P核路徑 623 25.3 構建硬體系統 623 25.3.1 添加和配置ZYNQ7 IP 624 25.3.2 添加和配置VDMA IP核 625 25.3.3 添加和配置AXI Display Controller IP核 626 25.3.4 添加和配置HDMI Transmitter IP核 627 25.3.5 添加和配置VGA IP核 627 25.3.6 連接用戶自訂IP核 627 25.3.7 添加和配置Processor System Reset IP核 630 25.3.8 連接系統剩餘部分 630 25.4 添加設計約束檔 632 25.5 匯出硬體檔 633 第26章

構建Zynq - 7000 SoC內Ubuntu軟體運行環境 635 26.1 u - boot原理及實現 635 26.1.1 下載u - boot源碼 635 26.1.2 u - boot檔結構 636 26.1.3 u - boot工作模式 637 26.1.4 u - boot啟動過程 637 26.1.5 編譯u - boot 650 26.1.6 連結指令檔結構 652 26.2 內核結構及編譯 654 26.2.1 內核結構 654 26.2.2 下載Linux內核源碼 655 26.2.3 內核版本 655 26.2.4 內核系統組態 655 26.2.5 Bootload

er 啟動過程 658 26.2.6 Linux內核啟動過程 660 26.2.7 編譯內核 662 26.3 設備樹原理及實現 662 26.3.1 設備樹概述 662 26.3.2 設備樹資料格式 663 26.3.3 設備樹的編譯 664 26.4 檔案系統原理及下載 664 26.5 生成Ubuntu啟動鏡像 665 26.5.1 生成FSBL檔 666 26.5.2 生成BOOT.bin開機檔案 666 26.5.3 製作SD卡 668 26.5.4 複製BOOT. bin文件 670 26.5.5 複製編譯後的內核檔 670 26.5.6 複製編譯後的設備樹檔 671 26.5.7

複製檔案系統 671 26.6 啟動Ubuntu作業系統 672 第27章 Linux環境下簡單字元設備驅動程式的開發 674 27.1 驅動程式的必要性 674 27.2 Linux作業系統下的設備檔案類型 675 27.3 Linux驅動的開發流程 676 27.4 驅動程式的結構框架 676 27.4.1 載入和卸載函數模組 676 27.4.2 字元設備中重要的資料結構和函數 677 27.5 編寫makefile檔 683 27.6 編譯驅動程式 684 27.7 編寫測試程式 685 27.8 運行測試程式 686 第28章 Linux環境下包含中斷機制驅動程式的開發 688

28.1 設計原理 688 28.2 編寫包含中斷處理的驅動代碼 688 28.2.1 驅動程式標頭檔 688 28.2.2 驅動的載入和卸載函數 689 28.2.3 file_operations初始化 691 28.3 編寫makefile檔 691 28.4 編譯驅動程式 692 28.5 測試驅動程式 693 第29章 Linux環境下影像處理系統的構建 694 29.1 系統整體架構和功能 694 29.2 OV5640攝像頭性能 695 29.2.1 攝像頭捕獲模組的硬體 696 29.2.2 SCCB介面規範 696 29.2.3 寫攝像頭模組寄存器操作 697 29.2.

4 讀攝像頭模組寄存器操作 698 29.2.5 攝像頭初始化流程 700 29.3 Vivado HLS實現拉普拉斯運算元濾波演算法的設計 701 29.3.1 Vivado HLS工具的性能和優勢 701 29.3.2 拉普拉斯演算法與HDL之間的映射 703 29.4 影像處理系統的整體構建 706 29.5 影像處理系統軟體的設計 708 29.5.1 Ubuntu桌面系統的構建 708 29.5.2 Qt影像處理程式的開發 708 29.6 內嵌影像處理系統測試 710 第30章 Zynq-7000 SoC上構建和實現Python應用 712 30.1 設計所需的硬體環境 712

30.2 構建PetaLinux開發環境 712 30.2.1 PetaLinx開發環境概述 712 30.2.2 安裝32位庫 714 30.2.3 安裝並測試tftp伺服器 714 30.2.4 下載並安裝PetaLinux 715 30.3 構建嵌入式系統硬體 717 30.3.1 下載並安裝Vivado 2018.2整合式開發環境 717 30.3.2 添加板級支援包檔 717 30.3.3 建立新的Vivado工程 717 30.3.4 構建硬體系統 718 30.4 構建嵌入式Python開發環境 721 30.5 構建PC端Python開發環境 723 30.6 伺服器和用戶端P

ython的開發 724 30.6.1 伺服器端Python的開發 725 30.6.2 用戶端Python的開發 726 30.7 設計驗證 728 30.7.1 啟動伺服器程式 728 30.7.2 啟動用戶端程式 729

隱形眼鏡乾片圖紋瑕疵檢測系統

為了解決pci簡單控制器驅動的問題,作者張峻睿 這樣論述:

台灣隱形眼鏡產值高達266億元(2019年3月新聞),隱形眼鏡儼然成為許多現代人的生活必需品。除了可以單純地矯正視力外,隱形眼鏡更增添了美觀的功能。包含瞳孔放大、單色和多色不同花色的彩瞳;隨著人力成本越來越高,隱形眼鏡在許多製造環節中,已經投入大量的自動化設備。而在品質上需要大量的檢驗,方式也逐步從人工轉為自動化。 自動化光學檢測(Automated Optical Inspection; AOI),已經是表面檢查相當成熟的技術。本研究透過工業相機打光取像手法,對隱形眼鏡脫模乾片(半成品)進行瑕疵檢測。常見的隱形眼鏡瑕疵有缺裂、刮痕、附加物和色墨等等四種。對於不同瑕疵特性,單一

打光取像無法將瑕疵特徵明顯地區分出來。本研究採用多種光源,藉由不同角度的打光連續取像四張。 在影像處理方面,使用影像函式庫結合數位影像基本概念將瑕疵切出。首先,經由邊緣偵測將隱形眼鏡作分區,可分為邊緣線、光學1區、光學2區和光學3區。針對不同的區域,套用檢測演算法。檢測演算法有邊緣瑕疵、光學區瑕疵和圖紋(彩環)瑕疵。檢測方式簡單而言即為同中求異,在大部分為暗的圖像中找亮的區域;在大部分為亮的圖像中找暗的區域。 從實驗結果顯示,目前可以檢測缺裂、刮痕、附加物和色墨瑕疵。檢測單顆乾片時間,在檢測方法全開的情況下,約需5.60秒。若僅開啟常用方法,約需3.05秒。

嵌入式系統:體系結構、編程與設計(第3版)

為了解決pci簡單控制器驅動的問題,作者(印)瑞·卡莫爾 這樣論述:

將幫助讀者深入理解嵌入式系統軟硬件設計的基礎知識。本書通俗易懂,穿插大量圖形、示例、樣例代碼和系統設計案例,便於學生查閱和學習。◆ 新版用更多篇幅講述嵌入式系統的設計和開發過程◆ 包含學術界和研究人員感興趣的新技術領域,如片上系統設計、計算系統的高級體系結構、分布式聯網嵌入體系結構和車載技術◆ 透徹闡述嵌入式硬件的體系結構、設計過程、設計方法、接口技術、總線、協議、硬件中斷、軟件中斷、嵌入式軟件編程、程序建模、進程間同步和實時操作系統◆ 在示例的引導下全面分析廣泛使用的RTOS:μCOS-II、VxWorks、Windows CE、OSEK和實時Linux◆ 包含多個案例研究(巧克力自動售賣機

、數碼相機、TCP/IP堆棧創建、機器人管弦樂隊、自動巡航控制、智能卡、在移動電話中輸入SMS),呈現程序建模方法以及系統設計的軟件工程實踐Raj Kamal在17歲獲得理科碩士學位,18歲在一本英國雜志上發表了首篇論文,22歲在印度理工學院獲得博士學位。Raj擁有46年的教學和研究經驗。Raj堅持不懈地學習新興技術,並主動傳播它們,一些同事稱他為「學習機」和「人類發電機」。Raj迄今為計算機、電子、通信和信息技術專業的學生編寫十本教材,已成功指導了15位博士生,在享有國際聲譽的期刊和會議上發表約130篇研究論文。 第1章 嵌入式系統簡介 11.1 嵌入式系統 21.1.1

系統 21.1.2 嵌入式系統 21.1.3 嵌入式系統和通用計算系統 31.2 嵌入系統中的處理器 51.2.1 微處理器 51.2.2 微控制器 61.2.3 ARM 81.2.4 RISC 81.2.5 CISC 91.2.6 SoC 91.2.7 數字信號處理器(DSP) 91.2.8 專用處理器 91.3 系統中的嵌入式硬件單元和設備 111.3.1 構建塊 111.3.2 嵌入板 161.4 嵌入式系統中的軟件和編程語言概述 161.4.1 嵌入式軟件ROM映像 161.4.2 用機器碼編寫軟件 171.4.3 用特定於處理器的匯編語言編寫軟件 181.4.4 用高級語言編寫軟件

181.5 嵌入式系統的設計過程 201.6 嵌入式系統的體系結構 211.7 嵌入式系統的模型 221.8 嵌入式系統的分類 241.9 嵌入式系統設計者需要具備的技能 251.10 示例嵌入式系統 26本章小結 28關鍵詞及其定義 28復習題 32實踐練習題 33第2章 嵌入式系統的設計和開發過程 352.1 嵌入式片上系統(SoC)和VLSI電路設計技術 362.1.1 SoC 362.1.2 VLSI電路設計技術 382.1.3 SoC或VLSI設計中使用的ASIC 382.1.4 IP核 382.1.5 多個處理器 392.2 復雜系統設計和處理器 392.2.1 復雜系統和微處理

器 392.2.2 使用嵌入式處理器構建復雜系統 432.3 嵌入式系統的構建過程 442.4 嵌入式系統的設計過程 442.4.1 設計過程中使用的概念 442.4.2 軟件設計過程 452.4.3 設計指標 462.4.4 設計過程中的抽象步驟 472.5 嵌入式系統設計中的挑戰 482.6 嵌入式系統設計中的挑戰:優化設計指標 492.7 嵌入式軟件開發的挑戰和問題 512.8 嵌入式系統中軟硬件的協同設計 522.8.1 軟硬件的權衡 542.8.2 嵌入式系統中軟硬件協同設計的挑戰:優化設計指標 542.9 嵌入式系統的設計技術 542.9.1 IC技術 542.9.2 VLSI技術

562.10 系統設計的形式化 562.11 設計過程和設計案例 572.11.1 巧克力自動售賣機(ACVM) 572.11.2 智能卡 592.11.3 數碼相機 62本章小結 64關鍵詞及其定義 65復習題 66實踐練習題 67第3章 8051、AVR和ARM微控制器、現實中的接口和I/O總線 693.1 微控制器和微處理器簡介 703.2 嵌入式和外部存儲器設備 703.3 微控制器-8051的體系結構 713.3.1 8051微控制器的硬件體系結構 713.3.2 ATMEL 89x51系列微控制器硬件體系結構 723.3.3 ATMEL 90Sxx系列 733.3.4 指令集 7

33.3.5 IO端口、電路以及IO編程 763.3.6 外部存儲器接口電路 773.3.7 計數器和定時器 783.3.8 串行數據通信輸入/輸出 793.3.9 8051中的中斷 803.4 ATMEL AVR微控制器 803.5 ARM微控制器 823.6 計算機系統總線 833.6.1 CPU/微處理器系統總線 833.6.2 存儲器設備接口 863.7 現實的接口 883.7.1 現實接口電路中的設備地址 883.7.2 I/O設備和組件的連接 893.7.3 I/O:管理數據 903.7.4 串行和並行I/O 913.7.5 設備中斷和IO 933.8 I/O性能 933.9 I/

O總線 943.9.1 總線仲裁 953.9.2 菊花鏈方式 963.9.3 獨立總線請求方式 963.9.4 總線輪詢方式 973.10 面向網絡的總線仲裁 973.11 總線 983.11.1 體系結構:單層、雙層和多層 983.11.2 仲裁:集中式和分布式 983.11.3 定時 993.11.4 總線性能 1003.12 多級總線 100本章小結 101關鍵詞及其定義 102復習題 105實踐練習題 105第4章 高級體系結構和處理器-存儲器的組織 1074.1 處理器和存儲器組織 1084.1.1 Harvard存儲器體系結構 1084.1.2 Von Neumann(Prince

ton)存儲器體系結構 1104.1.3 Harvard體系結構的存儲器接口電路 1104.1.4 通用存儲器接口電路 1104.2 高級處理器體系結構介紹 1114.2.1 處理器中的結構單元 1124.2.2 高級處理器體系結構 1134.3 處理器的組織 1154.3.1 處理器組織方式:處理器的CISC設計 1154.3.2 處理器組織方式:處理器的RISC設計 1164.4 指令級並行性 1174.5 INTEL x86體系結構(8086、80386、80486和奔騰) 1194.5.1 80386的體系結構 1204.5.2 80486的體系結構 1204.5.3 奔騰P5(805

86)和P6的體系結構 1204.6 ARM 1204.7 SHARC 1224.8 存儲器類型和地址 1244.8.1 合並存儲器 1244.8.2 嵌入式存儲器 1264.8.3 ROM變種 1264.8.4 RAM、SRAM和DRAM 1284.8.5 閃存 1294.8.6 閃存卡 1304.9 存儲器地址 1304.9.1 將內存分配給程序段和塊 1304.9.2 存儲器映射 1304.10 存儲器層次結構和緩存 1314.11 性能指標 1324.11.1 處理器的性能 1334.11.2 存儲器的性能 1334.11.3 嵌入式系統的性能 1334.12 處理器和存儲器設備的選擇

1344.12.1 處理器的選擇 1344.12.2 處理器或微控制器版本的選擇 1344.12.3 微控制器版本的選擇 135本章小結 135關鍵詞及其定義 136復習題 138實踐練習題 139第5章 IO設備、通信總線和分布式聯網的嵌入式體系結構 1415.1 I/O的類型和示例 1425.1.1 同步串行輸入 1435.1.2 同步串行輸出 1445.1.3 同步串行輸入/輸出 1445.1.4 異步串行輸入 1445.1.5 異步串行輸出 1455.1.6 半雙工與全雙工 1455.1.7 串行I/O示例 1455.1.8 並口 1465.1.9 串並輸出和輸入 1465.1.10

並行IO的示例 1465.2 串行通信設備 1475.2.1 串行設備的同步、准同步和異步通信 1475.2.2 UART模式(協議)異步串行通信 1485.2.3 IBM PC COM端口上的串行RS232C通信 1505.2.4 HDLC協議 1515.2.5 同步串行數據通信的SPI端口 1525.2.6 異步UART串行數據通信的SCI端口 1535.2.7 同步和異步串行數據通信的串行接口(SI) 1535.2.8 SDIO、SPI 1-SD和4-SD數據通信 1545.3 並行設備端口 1555.3.1 與開關和小鍵盤連接的並行端口 1565.3.2 與編碼器連接的並行端口 15

75.3.3 與步進電機連接的並行端口 1585.3.4 與LCD控制器連接的並行端口 1585.3.5 與觸摸屏連接的並行端口 1595.4 設備端口的復雜接口特性 1595.5 無線設備 1605.6 定時器和計數設備 1605.6.1 定時設備 1615.6.2 計數設備 1615.6.3 帶計數設備的定時器 1615.6.4 兩個實例之間的時間間隔 1615.6.5 預設時間的輸出動作 1615.6.6 軟件定時器 1625.6.7 watchdog定時器 1625.6.8 實時時鍾 1625.7 分布式網絡嵌入式系統結構 1635.7.1 總線的優點 1635.7.2 總線的缺點 1

645.8 串行總線通信協議 1645.8.1 I2C總線 1655.8.2 CAN總線 1665.8.3 USB總線 1685.8.4 FireWire—— IEEE 1394總線標准 1695.8.5 先進的串行高速總線 1705.9 並行總線設備協議——使用ISA、PCI、PCI-X 和高級總線的並行通信網絡 1705.9.1 ISA和EISA總線 1715.9.2 PCI和PCI/X總線 1715.9.3 ARM總線 1735.9.4 高級並行高速總線 1745.10 支持Internet的系統——網絡協議 1745.10.1 超文本傳輸協議(HTTP) 1755.10.2 傳輸控制協

議(TCP) 1765.10.3 用戶數據報協議(UDP) 1765.10.4 Internet協議(IP) 1765.10.5 Ethernet(以太網) 1775.11 無線和移動系統協議 1775.11.1 紅外數據協會(IrDA) 1775.11.2 藍牙 1785.11.3 802.11 1795.11.4 ZigBee 180本章小結 180關鍵詞及其定義 181復習題 185實踐練習題 186第6章 設備驅動程序和中斷服務機制 1896.1 不使用中斷服務機制的編程式I/O的設備訪問端口 1896.1.1 Intel I/O結構 1926.1.2 同步 1936.1.3 傳輸率

1946.1.4 延遲 1946.2 中斷驅動的輸入輸出 1956.3 ISR的概念 1966.4 中斷源 1976.5 硬件中斷 1986.6 軟件中斷 1996.6.1 異常和異常處理程序 2006.6.2 信號和信號處理程序 2016.7 中斷服務機制 2026.7.1 阻止中斷的溢出 2026.7.2 禁用中斷 2036.7.3 不可屏蔽的中斷和可屏蔽的中斷 2036.7.4 中斷狀態寄存器或中斷掛起寄存器 2046.7.5 中斷向量 2046.8 多中斷 2066.8.1 多中斷調用 2066.8.2 硬件分配的優先級 2066.8.3 軟件重寫硬件優先級,以滿足服務的最后期限 20

76.8.4 啟用和禁用中斷,重寫硬件優先級,以滿足服務的最后期限 2076.9 中斷服務線程作為二級中斷處理程序 2076.10 上下文和上下文切換周期 2086.11 中斷延遲 2106.12 中斷服務的最終期限 2116.13 從上下文保存的角度對處理器中斷服務機制的分類 2116.14 直接存儲器訪問驅動的I/O 2126.14.1 DMA 2126.14.2 同一中斷源生成多個快速連續中斷時的DMA通道使用 2126.14.3 DMA控制器 2126.15 設備驅動程序編程 2146.15.1 編寫系統中的物理設備驅動ISR 2156.15.2 操作系統中的設備驅動程序組件 2156

.15.3 用系統軟件函數模擬物理設備 2156.15.4 作為設備驅動和網絡函數的Linux 內幕 216本章小結 217關鍵詞及其定義 218復習題 220實踐練習題 221第7章 編程概念及C、C++和Java的嵌入式編程 2237.1 用匯編語言(ALP)和高級語言C進行軟件編程 2247.1.1 匯編語言編程 2247.1.2 高級語言編程 2247.2 C程序中的元素:頭文件、源文件以及預處理指令 2257.2.1 用於包含文件的include指令 2267.2.2 源文件 2277.2.3 配置文件 2277.2.4 預處理指令 2277.3 程序元素:宏與函數 2277.4 程

序元素:數據類型、數據結構、修飾符、語句、循環和指針 2297.4.1 數據類型 2297.4.2 修飾符的使用 2307.4.3 指針和NULL指針 2307.4.4 使用數據結構:堆棧、隊列、數組、鏈表、樹、管道、表格和哈希表 2307.4.5 堆棧 2327.4.6 多個堆棧 2327.4.7 數組 2337.4.8 隊列 2337.4.9 鏈表 2347.4.10 循環隊列 2347.4.11 優先隊列 2357.4.12 管道 2357.4.13 表和哈希表 2367.5 循環、無限循環以及條件語句 2377.6 函數調用 2427.7 按照循環順序進行的多函數調用 2427.8 函

數指針和函數隊列 2447.9 發生中斷時函數的排列和中斷服務例程隊列 2457.10 嵌入式C和C++:其他功能 2467.10.1 編譯器和優化 2477.10.2 編程和匯編 2487.10.3 寄存器的使用約定 2487.10.4 尋址選項和指令序列的典型用法 2497.10.5 過程調用和返回 2507.10.6 參數的傳遞 2507.10.7 檢索參數 2507.10.8 按值傳遞的臨時變量 2517.11 面向對象編程 2517.12 C++嵌入式編程 2517.12.1 C++的優點 2517.12.2 C++的缺點 2527.13 嵌入式C++程序的代碼優化以消除缺點 253

7.14 用Java進行嵌入式編程 2537.14.1 Java編程基礎 2537.14.2 使用Java編程的優點 2557.14.3 Java的缺點 255本章小結 255關鍵詞及其定義 256復習題 259實踐練習題 259第8章 程序建模的概念 2618.1 程序模型 2628.2 基於數據流圖的程序模型 2658.2.1 數據流圖 2668.2.2 控制數據流圖模型 2678.2.3 同步數據流圖(SDFG)模型 2698.3 用於事件控制程序的狀態機編程模型 2708.3.1 狀態機編程模型 2708.3.2 有限狀態機(FSM)模型 2718.3.3 FSM狀態表 2728.4

多處理器系統的建模 2758.4.1 多處理器系統 2758.4.2 圖在多處理器系統中的應用:划分和調度 2788.5 UML建模 279本章小結 283關鍵詞及其定義 284復習題 285實踐練習題 285第9章 實時操作系統I:進程間通信與進程、任務和線程的同步 2879.1 應用程序中的多個進程 2889.1.1 進程 2889.1.2 進程控制塊(PCB) 2899.1.3 進程上下文 2899.2 應用程序中的多線程 2909.2.1 進程的多個線程 2909.2.2 多線程的編程 2909.2.3 搶占式和非搶占式 2919.3 任務 2919.4 任務和線程狀態 2929.4.

1 調度線程和線程狀態 2929.4.2 掛起的線程 2939.4.3 上下文切換 2939.5 任務和數據 2949.5.1 上下文 2949.5.2 上下文切換 2959.5.3 任務控制塊 2959.5.4 無限事件等待循環的任務編碼 2959.6 通過函數、ISR、IST和任務的特征進行區分 2969.7 進程間通信和同步 2979.8 信號函數 2989.9 信號量的概念 3009.9.1 OS的信號量IPC函數 3009.9.2 作為事件信號變量或通報變量的信號量的使用 3019.9.3 作為資源鍵的信號量以及信號量在臨界段中的使用 3029.9.4 使用多個信號量同步任務 304

9.9.5 多個任務等待同一信號量 3069.9.6 計數信號量 3079.9.7 P和V信號量 3079.10 禁用和啟用函數 3129.10.1 禁用和啟用中斷 3129.10.2 鎖定和解鎖函數 3129.11 共享數據問題 3139.11.1 多任務和多中斷服務例程的數據共享問題 3139.11.2 共享數據問題的解決方法 3149.11.3 優先級反轉問題和優先級繼承 3159.11.4 死鎖情況 3169.12 隊列和郵箱 3169.12.1 隊列 3169.12.2 郵箱 3189.13 管道和套接字 3219.13.1 管道 3219.13.2 套接字 3239.14 遠程過程

調用(RPC)函數 326本章小結 326關鍵詞及其定義 327復習題 328實踐練習題 329第10章 實時操作系統II:OS和RTOS的基本功能 33110.1 OS服務 33210.1.1 OS服務目標 33210.1.2 用戶和管態結構 33210.1.3 結構 33310.1.4 內核 33310.2 進程管理 33410.3 定時器函數 33410.4 事件函數 33610.5 存儲器管理 33610.6 設備、文件及IO子系統管理 33710.6.1 設備管理 33710.6.2 文件系統的組織和實現 33910.6.3 I/O子系統 34210.7 RTOS環境中的中斷例程和中

斷源調用處理 34210.7.1 通過中斷源以及ISR發送ISR輸入消息直接調用ISR 34310.7.2 RTOS首先響應中斷,接着OS調用相應的ISR 34310.7.3 RTOS首先響應中斷,調用對應的ISR,之后ISR把消息發送給中斷服務線程 34410.7.4 通過ISR接收IPC事件 34510.8 實時操作系統 34510.9 使用RTOS進行基本設計 34610.9.1 RTOS基本設計原則:15個設計策略 34710.9.2 節約存儲器和功耗 35010.10 RTOS任務調度模型 35310.11 操作系統的安全問題 35410.12 OS標准:POSIX 35410.12

.1 IEEE標准POSIX 1003.1b的RTOS標准化和進程間通信函數 35510.12.2 IEEE標准POSIX 1003.1b的IO函數 35610.12.3 IEEE標准POSIX 1003.1b的文件函數 35610.13 作為性能指標的中斷延遲和任務響應時間 35610.13.1 周期、突發以及非周期任務的調度模型中延遲和最后期限的性能指標 35610.13.2 使用CPU負載作為性能指標 35710.13.3 突發任務模型作為性能指標 35710.14 OS性能准則 35810.15 中間件:含義和示例 35810.16 應用層軟件:含義和例子 358本章小結 359關鍵詞

及其定義 360復習題 360實踐練習題 361第11章 實時操作系統編程:MicroC/OS-II和VxWorks 36311.1 RTOS 36411.1.1 RTOS中的基本函數 36411.1.2 當前的實時操作系統 36511.1.3 RTOS的類型 36511.1.4 實時系統的基准簡介 36711.2 μC/OS-II (MUCOS) 36711.2.1 系統級函數 36911.2.2 任務服務函數 37411.2.3 與存儲器分配相關的函數 38111.2.4 信號量相關函數 38411.2.5 郵箱相關函數 38811.2.6 隊列相關函數 39311.3 基於UNIX的實時

操作系統 39811.3.1 pSOS 39811.3.2 VrTx 39811.3.3 QNX RTOS 39811.4 RTOS VxWorks 39911.4.1 基本特性 40011.4.2 系統庫頭文件中的任務管理庫 40211.4.3 VxWorks系統函數和系統任務 40511.4.4 IPC函數 408本章小結 419關鍵詞及其定義 421復習題 422實踐練習題 423第12章 實時Linux、Windows CE、OSEK、手持設備和汽車操作系統 42512.1 POSIX兼容操作系統 42612.2 實時Linux 操作系統 42612.2.1 用於嵌入式系統的Linux

——嵌入式Linux 42612.2.2 RTLinux 43112.3 Windows CE 43512.3.1 Windows CE的特點 43612.3.2 Windows CE編程 43812.3.3 窗口和窗口管理 43912.3.4 內存管理 43912.3.5 文件和注冊表 44012.3.6 Windows CE數據庫 44112.3.7 進程、線程和IPC 44212.3.8 按鍵、觸摸屏、鼠標的輸入 44512.3.9 通信和網絡 44612.3.10 設備間套接字通信函數 44812.3.11 創建窗口 44912.3.12 Win32 API編程 44912.3.13

嵌入式系統的Windows 8和Windows EmbeddedCompact 2013 45112.4 OSEK 451本章小結 453關鍵詞及其定義 455復習題 458實踐練習題 459第13章 RTOS編程和程序建模設計示例與案例研究 46113.1 嵌入式系統設計的案例研究以及使用MUCOS RTOS對巧克力自動售賣機(ACVM)編碼 46213.1.1 需求 46213.1.2 規范 46313.1.3 使用UML為規范建模 46413.1.4 ACVM的硬件體系結構 46713.1.5 軟件體系結構 46813.2 數碼相機的案例研究 47013.2.1 需求 47013.2.2

類圖 47313.2.3 數碼相機的硬件體系結構 47413.2.4 數碼相機的軟件體系結構 47513.3 給IP包應用通信網絡路由器 47713.3.1 使用VxWorks將應用層字節流發送到TCP/IP網絡的編碼案例研究 47713.3.2 需求 47713.3.3 類圖、類和對象 47813.4 管弦樂隊機器人之間通信的案例研究 48313.4.1 需求 48513.4.2 類和類圖 48613.4.3 狀態圖 48813.4.4 機器人管弦樂隊MIDI通信的硬件和軟件體系結構 48813.5 汽車中的嵌入式系統 48913.6 汽車中自適應巡航控制(ACC)系統的嵌入式系統案例研究

49013.6.1 需求 49113.6.2 類圖 49513.6.3 ACC硬件體系結構 49613.6.4 ACC軟件體系結構 49713.6.5 ACC軟件任務、同步模型和實現 49713.7 汽車中嵌入式編程的一般語言特征、MISRA-C的特征 49713.8 智能卡中的嵌入式系統案例研究 49813.8.1 需求 49813.8.2 類圖 49913.8.3 硬件和軟件體系結構 50013.8.4 同步模型 50113.9 移動電話鍵輸入軟件案例研究 50213.9.1 需求 50313.9.2 類和類圖 50713.9.3 狀態圖 50913.9.4 SMS按鍵硬件 509本章小

結 510關鍵詞及其定義 512復習題 515實踐練習題 516第14章 嵌入式軟件開發過程和工具 51914.1 嵌入式軟件開發過程和工具概述 51914.1.1 開發過程和軟硬件 51914.1.2 軟件工具 52014.1.3 源代碼工程管理工具 52114.1.4 集成開發環境(IDE) 52214.2 宿主機和目標機 52314.2.1 宿主系統 52314.2.2 目標系統 52514.3 鏈接和定位軟件 52614.3.1 文件、尋址和地址解決方法的區別 52714.3.2 Motorola S-record和Intel Hex二進制映像格式的定位器輸出文件 52814.3.3

用於定位器編碼的存儲器映射 52814.4 將嵌入式軟件植入目標系統 53014.4.1 設備PROM或者閃存編程器 53014.4.2 設備編程器的編程方式 53114.5 硬件/軟件設計和協同設計中的問題 53114.5.1 選擇合適的平台 53214.5.2 存儲器敏感和處理器敏感軟件 53514.5.3 存儲器、程序段和設備地址分配 53514.5.4 嵌入式平台中OS的移植問題 53814.6 程序級別的性能分析和性能建模 53914.6.1 程序級別的性能分析和系統性能指標 53914.6.2 多處理器系統性能 53914.6.3 MIP、MFLOP和DMIPS作為性能指標 539

14.7 性能和性能加速器 540本章小結 540關鍵詞及其定義 541復習題 543實踐練習題 543第15章 測試、模擬和調試技術與工具 54515.1 集成和測試嵌入式硬件 54515.1.1 測試嵌入式系統 54615.1.2 可測試性的設計 54715.1.3 斷言宏 54715.1.4 自測的設計 54715.1.5 在宿主機上進行測試 54815.2 測試方法 54815.2.1 錯誤跟蹤 54815.2.2 單元測試 54915.2.3 回歸測試 54915.2.4 選擇測試用例 54915.2.5 功能測試 55015.2.6 覆蓋測試 55015.2.7 測試嵌入式軟件 5

5015.2.8 性能測試 55115.2.9 維護 55115.3 調試技術 55115.3.1 模擬器 55115.3.2 模擬器的特性 55215.3.3 模擬器的局限性 55215.3.4 模擬工具軟件 55315.3.5 嵌入式系統的原型開發、測試和調試工具 55315.4 試驗工具和目標硬件的調試 55415.4.1 簡單的伏特-歐姆表 55415.4.2 簡單的LED測試和邏輯探測器 55515.4.3 示波器 55515.4.4 位率測量儀 55615.4.5 邏輯分析儀 55615.4.6 電路內置仿真器(ICE) 55715.4.7 監視器 559本章小結 560關鍵詞及其

定義 560復習題 561實踐練習題 561附錄A 大學生、研究生、專業培訓學生的不同課程的學習路線圖 563附錄B 參考文獻 565

應用比例積分控制器與外擾估測器之電動自走車輪速控制

為了解決pci簡單控制器驅動的問題,作者王涵宇 這樣論述:

由於近年來環保節能的意識興起,世界各國政府開始訂定車輛碳排放標準,促成了電動車產業的市場蓬勃發展,加上交通載具自動化的提倡,在汽車工業創新領域中掀起自動駕駛車的全新潮流。在此背景之下,將綠色節能的電動車應用至自動駕駛領域,期望能在簡單的環境如校園道路,以低成本實踐車輛巡航自走,讓自動駕駛車成為簡單環境中新的代步工具。本研究基於以馬達為驅動元件的電動車之架構,將目光投注到低速度車輛之自動輪胎速度追隨系統上,結合感測器偵測車輛當下的狀態並回授給控制器,將輪胎受到的外界摩擦力與車體負載視為干擾,加入干擾估測器(DOB,disturbance observer)與比例積分控制器(PI-control

ler),並利用嵌入式系統計算補償訊號,以控制車體輪胎速度能追隨給定的輪胎速度為目標,讓駕駛者只須控制車輛的轉向,由控制器來追隨穩定的輪胎速度。由本研究實驗結果可知,在加入所設計的控制器之後,實際在校園道路上之平緩道路、上坡等不同路況做輪胎速度的追隨,都有顯著的控制效果;在下坡路段的系統響應較慢且誤差較大,但仍能跟隨輪胎速度參考訊號。