freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于fpga的嵌入式edk開(kāi)發(fā)技術(shù)-在線(xiàn)瀏覽

2025-01-11 06:25本頁(yè)面
  

【正文】 動(dòng) Xilinx在 EDK 環(huán)境中提供了嵌入式系統(tǒng)中常用的設(shè)備,包括:通用 I/O 設(shè)備、中斷控制器設(shè)備、定時(shí)器、外部存儲(chǔ)器控制器以及以太網(wǎng)、串口等高、低通信設(shè)備。本節(jié)主要介紹 CPU系統(tǒng)所必需的基本外設(shè),如通用 I/O、中斷以及外存儲(chǔ)器控制器。每個(gè) GPIO 可最多包含兩個(gè)通道,通過(guò) IPIF模塊連接到 OPB總線(xiàn),如圖 96 所示,其中的 IPIF模塊相當(dāng)于外部總線(xiàn)控制器。為了與 OPB 總線(xiàn)相連,需要和 IPIF寄存器匹配,因此 GPIO 的寄存器是字邊界訪(fǎng)問(wèn)的。 圖 97 GPIO 的數(shù)據(jù)格式示意圖 GPIO設(shè)備完整的端口信號(hào)如表 96 所列,在系統(tǒng)中可根據(jù)實(shí)際需求配置相應(yīng)的參數(shù)。 表 96 GPIO 組件的端口信號(hào) OPB 總線(xiàn)對(duì) GPIO 寄存器的讀寫(xiě)時(shí)序如圖 98 和圖 99所示。 圖 98 OPB 總線(xiàn)讀取 GPIO 寄存器的時(shí)序邏輯 圖 99 OPB 總線(xiàn)寫(xiě) GPIO 寄存器的時(shí)序邏輯 無(wú)論讀、寫(xiě)操作,都是由 OPB總線(xiàn)發(fā)出請(qǐng)求,經(jīng)過(guò)幾個(gè)時(shí)鐘周期后,收到應(yīng)答信號(hào)表明操作成功,是 CPU、 DSP等處理器最常見(jiàn)的讀、寫(xiě)寄存器操作。其中 GPIO 所有的驅(qū)動(dòng)函數(shù),所以在 GPIO的用戶(hù)代碼中添加下列語(yǔ)句: include ―‖ include ―‖ include ―‖ 在 ,包含 GPIO的初始化、配置、方向的設(shè)定、讀取和賦值輸出等函數(shù)。 其中 InstancePtr是 Xgpio 結(jié)構(gòu)體指針,存儲(chǔ)器的指針參數(shù)必須被預(yù)先指定;DeviceId是由 Xgpio 控制的唯一的設(shè)備 ID,可在 文件中找到。 ( 2)配置查找函數(shù) XGpio_Config * XGpio_LookupConfig (Xuint16 DeviceId)。返回的 m_XGpio即為設(shè)備配置結(jié)構(gòu)指針,返回 m_XNULL表明未找到標(biāo)識(shí)設(shè)備。 XGpio_SetDataDirection 配置 GPIO的數(shù)據(jù)傳輸 方向。 ( 4)數(shù)取函數(shù) Xuint32 XGpio_DiscreteRead (XGpio *InstancePtr, unsigned Channel)。 InstancePtr是 Xgpio 結(jié)構(gòu)體指針; Channel為 GPIO 的通道數(shù),可選 值為 1 或 0。 XGpio_DiscreteWrite寫(xiě)寄存器的值。 2.中斷控制器 1) GPIO 結(jié)構(gòu) 中斷控制器( opb_intc)由中斷控制核和總線(xiàn)接口組成,中斷核可通過(guò)參數(shù)配置,與相應(yīng)的總線(xiàn)接口邏輯配合,接在 OPB總 線(xiàn)上或 DCR總線(xiàn)上,即 opb_intc和dcr_intc,可用于 MicroBlaze和 PowerPC嵌入式系統(tǒng)。 圖 910 中斷控制器和 OPB 總線(xiàn)的連接示意圖 中斷控制器包括 8 個(gè)可訪(fǎng)問(wèn)的寄存器,如表 97 所列。 表 97 中斷控制器以及地址偏移 中斷控制器完整的端口信號(hào)如表 98 所列,在系統(tǒng)中可根據(jù)實(shí)際需求配置相應(yīng)的參數(shù)。 圖 911 OPB 總線(xiàn)中斷控制器讀寫(xiě)時(shí)序 2)中斷控制器驅(qū)動(dòng) 在 EDK 中,與中斷控制器有關(guān)的底層文件有: 、 、 、 、 、 、 。下面給出常用的中斷控制器操作函數(shù): ( 1)初始化函數(shù) XStatus XIntc_Initialize (XIntc *InstancePtr, Xuint16 DeviceId)。其中 InstancePtr是 Xintc的對(duì)象; DeviceId是中斷模塊的唯一設(shè)備 ID號(hào)。 ( 2)中斷使能函數(shù) XStatus XIntc_Start (XIntc *InstancePtr, Xuint8 Mode)。其中 InstancePtr是 Xintc的對(duì)象; Mode為中斷模式,可使能模擬中斷以及真實(shí)的硬件中斷。 XIntc_Stop 輸出停止中斷控制,其中 InstancePtr是 Xintc的對(duì)象。 XIntc_Connect 連接中斷源的 ID以及與之關(guān)聯(lián)的處理程序,當(dāng)中斷被確認(rèn)后,處理程序?qū)⑦\(yùn)行。若返回 mXST_SUCCESS表明連接正確,否則則連接失敗。 XIntc_Disconnect 撤銷(xiāo)與中斷源 Id關(guān)聯(lián)的處理程序。 ( 6)特定中斷使能函數(shù) void XIntc_Enable (XIntc *InstancePtr, Xuint8 Id)。其中 InstancePtr是 Xintc的對(duì)象; Id為中斷源的序號(hào), 0 是最高級(jí)別的中斷。 XIntc_Disable撤銷(xiāo)由競(jìng)爭(zhēng) ID 提供的中斷源,但中斷控制器將不產(chǎn)生一個(gè)特定 Id的中斷,將繼續(xù)保留該中斷條件。 ( 8)中斷源響應(yīng)函數(shù) void XIntc_Acknowledge (XIntc *InstancePtr, Xuint8 Id)。其中InstancePtr是 Xintc的對(duì)象; Id為中斷源的序號(hào), 0 是最高級(jí)別的中斷。這里以 sdr sdram控制器為例介紹其結(jié)構(gòu)和底層驅(qū)動(dòng)。但由于 sdram依賴(lài)于電容的電量來(lái)區(qū)分邏輯 ―0‖和 ―1‖,但電容器會(huì)不斷漏電,需要周期性地刷新 sdram的每一個(gè)存儲(chǔ)單元,因此讀寫(xiě)時(shí)序比較復(fù)雜,且讀寫(xiě)速率也達(dá)不到工作時(shí)鐘的頻率。 Xilinx提供了 sdr sdram控制器的 IP Core,在 XPS中,直接將其添加到 OPB 總線(xiàn)上即可。 圖 912 sdram控制器和 OPB 總線(xiàn)的連接示意圖 sdram控制器完整的信號(hào)端口列表如表 99 所列。 表 99 sdr sdram控制器的端口信號(hào)列表 sdram控制器支持不同數(shù)據(jù)位寬的讀、寫(xiě)模式,且不同位寬以及不同刷新模式下的讀寫(xiě)時(shí)序和配置都是不同的。 圖 913 16 比特突發(fā)模式讀數(shù)據(jù)的時(shí)序邏輯圖 圖 914 16 比特突發(fā)模式寫(xiě)數(shù)據(jù)的時(shí)序邏輯圖 2) sdr sdram控制器驅(qū)動(dòng) 在嵌入式系統(tǒng)中, sdr sdram控制器對(duì)于用戶(hù)來(lái)講是透明的,即用戶(hù)在功能使用上沒(méi)有初始化、刷新等操作,直接用 IO 讀寫(xiě)函數(shù)讀寫(xiě)相應(yīng)的地址即可。 define XIo_In32(InputPtr) (*(volatile Xuint32 *)(InputPtr)) define XIo_Out32(OutputPtr, Value) (*(volatile Xuint32 *)((OutputPtr)) = (Value)) 因此在操作 sdram時(shí),只需添加下列兩個(gè)頭文件。 include include 系統(tǒng)設(shè)計(jì)方案 1.嵌入式總線(xiàn)介紹 總線(xiàn)是多組信號(hào)的有效組合,處理器和周邊設(shè)備通過(guò)總線(xiàn)地址、數(shù)據(jù)以及片選控制等信號(hào)進(jìn)行通信。 Xilinx嵌入式系統(tǒng)中的總線(xiàn)可分為 3 類(lèi):片外設(shè)備總線(xiàn)( OPB)、本地存儲(chǔ)器總線(xiàn)( LMB)以及快速簡(jiǎn)單連接總線(xiàn)( FSL),分別用于訪(fǎng)問(wèn)低速外設(shè)、片內(nèi)高速存儲(chǔ)器以及高速外設(shè)。 LMB 總線(xiàn)提供單時(shí)鐘訪(fǎng)問(wèn)片內(nèi)雙口 RAM,并提供了簡(jiǎn)單的同步協(xié)議。同時(shí)執(zhí)行的讀寫(xiě)傳輸能最有效利用總線(xiàn),在單周期內(nèi)可傳輸兩個(gè)數(shù)據(jù);此外, PLB 總線(xiàn)地址通道能疊加一個(gè)新的寫(xiě)請(qǐng)求到一個(gè)正在執(zhí)行的寫(xiě)操作上,以及最多 3 個(gè)讀請(qǐng)求到正在執(zhí)行的讀操作上,從而減少總線(xiàn)反映時(shí)間。 LMB總線(xiàn)用于訪(fǎng)問(wèn)片內(nèi)存儲(chǔ)器的數(shù)據(jù)和指令, OPB 用于片外設(shè)備的連接。 圖 915 典型的 MicroBlaze總線(xiàn)連接示意圖 PowerPC 硬核的系統(tǒng)總線(xiàn)分為 PLB、 OCM 以及 DCM總線(xiàn), OPB 總線(xiàn)可通過(guò)總線(xiàn)橋與 PLB 總線(xiàn)連接,從而訪(fǎng)問(wèn)外部速度較低的設(shè)備, PowerPC 典型的總線(xiàn)連接方式如圖 916所示。該類(lèi)系 統(tǒng)的架構(gòu)是可裁剪的,完全根據(jù)需求來(lái)添加外設(shè),常用于實(shí)現(xiàn)專(zhuān)一的功能,具有價(jià)格低、速度快、功耗小以及軟硬件協(xié)同工作的特點(diǎn)。 圖 917 MicroBlaze系統(tǒng)組成架構(gòu) 圖 918 PowerPC 系統(tǒng)組成架構(gòu) 2)系統(tǒng)地址分配 MicroBlaze采用 32位地址,其中 0x0000_0000~0x0000_0017 用于特殊處理,0x0000_0018~0xFFFF_FFFF是用戶(hù)可用的部分, LMB存儲(chǔ)器 從地址 0x0000_0018開(kāi)始。 第 2節(jié) EDK 軟件基本介紹 EDK 的介紹與安裝 1. Xilinx嵌入式開(kāi)發(fā)工具集 一般而言,由于嵌入式系統(tǒng)涉及了軟件和硬件的開(kāi)發(fā)以及兩者的綜合設(shè)計(jì),因此其開(kāi)發(fā)是較為復(fù)雜的。 1)集 成軟件環(huán)境 ISE ISE是 Xilinx公司 FPGA邏輯設(shè)計(jì)的基礎(chǔ)。本書(shū)第 4 章對(duì) ISE的使用進(jìn)行了較為詳細(xì)的說(shuō)明,這里就不再累述。讀者需要注意的是:只有安裝了 ISE軟件,才能正常運(yùn)行 EDK,且二者的版本要一致。在 XPS中,可以完成嵌入式系統(tǒng)架構(gòu)的創(chuàng)建、軟件代碼的編寫(xiě)、設(shè)計(jì)的編譯以及 FPGA 芯片的硬件配置。它支持 C/C++,用于嵌入式軟件應(yīng)用的開(kāi)發(fā)和驗(yàn)證 。 2. EDK 軟件的安裝 : CPU 在 P III 以上,內(nèi)存大于 256M,硬盤(pán)大于 4G的硬件環(huán)境安裝。需要注意的是,安裝 EDK 之前,必須安裝 。如果已有注冊(cè)碼,單擊 ―Next‖按鍵后繼續(xù)。 圖 920 安裝注冊(cè) ID輸入界面 3)接下來(lái)的幾個(gè)對(duì)話(huà)框分別是選擇安裝設(shè)計(jì)環(huán)境、設(shè)置環(huán)境變量,這兩個(gè)步驟保持默認(rèn)即可。需要注意的是,在選擇安裝設(shè)計(jì)環(huán)境時(shí),用戶(hù)需要選擇自己使用的芯片所對(duì)應(yīng)的模塊,這樣才能在開(kāi)發(fā)中使用這些模塊,一般選 擇 ―Select All‖。雙擊即可進(jìn)入EDK 集成開(kāi)發(fā)環(huán)境。由于嵌入式應(yīng)用場(chǎng)合多樣,且軟、硬件都可裁剪,因此并不是每個(gè)設(shè)計(jì)都要完成所有的步驟。 圖 921 簡(jiǎn)化的嵌入式設(shè)計(jì)流程圖 通常 ISE FPGA 開(kāi)發(fā)軟件在后臺(tái)運(yùn)行, XPS工 具調(diào)用 ISE軟件提供的功能。微處理器、外圍設(shè)備以及這些組件之間的連接問(wèn)題,另外還有它們各自的屬性設(shè)置都在 XPS里進(jìn)行。硬件平臺(tái)的功能驗(yàn)證可以通過(guò)硬件描述語(yǔ)言 HDL仿真器完成。驗(yàn)證過(guò)程結(jié)構(gòu)由 XPS自動(dòng)產(chǎn)生,其中包括了仿真的 HDL文件。仿真細(xì)節(jié)將在下面的內(nèi)容中 進(jìn)行相關(guān)講述。 完整的 EDK 開(kāi)發(fā)流程如圖 922所示,其主要步驟有: 1. 創(chuàng)建硬件平臺(tái):利用 XPS的板級(jí)開(kāi)發(fā)包向?qū)В?BSB Wizard)快速構(gòu)建設(shè)計(jì)的硬件平臺(tái),是 EDK 設(shè)計(jì)的第一步。同樣, XPS提供了建立用戶(hù)自定義外設(shè)的向?qū)?,可?jiǎn)化該過(guò)程。 4. 生成硬件比特流:生成硬件網(wǎng)表和比特流文件,這個(gè)步驟類(lèi)似于傳統(tǒng) FPGA 設(shè)計(jì)的綜合、布局布線(xiàn)、生成編程文件這 3 個(gè)操作。等設(shè)置完成后,編譯生成 .elf 格式的可執(zhí)行代碼。 7. 下載:使用 JTAG編程電纜或編程器將更新后的最終比特流燒寫(xiě)到 FPGA、 PROM、FLASH以及 CF卡。 圖 922 完整的嵌入式設(shè)計(jì)流程圖 2. EDK 設(shè)計(jì)比特文件的組成 如前所述,最終下載到 FPGA 的嵌入式比特流文件是軟、硬件比特流合并在一起的,詳細(xì)的組成部分如圖 923 所示。 圖 923 EDK 配置比特文件的組成結(jié)構(gòu) EDK 的文件管理架構(gòu) 對(duì)于嵌入式應(yīng)用來(lái)講,軟、硬件協(xié)同開(kāi)發(fā)是非常重要的,雖然 EDK提供了 XPS工具和 SDK工具這兩個(gè)圖形化平臺(tái),但仍以文 件結(jié)構(gòu)管理為基礎(chǔ),圖形化平臺(tái)只是方便用戶(hù)操作的,所有的設(shè)置內(nèi)容都會(huì)寫(xiě)入相應(yīng)的文件中。本節(jié)將介紹 EDK構(gòu)建嵌入式系統(tǒng)軟、硬件系統(tǒng)的文件,以及管理、存儲(chǔ)數(shù)據(jù)文件的模式和流程。它包括了不同的嵌入式軟件元素,如軟件驅(qū)動(dòng)文件、所選的庫(kù)、標(biāo)準(zhǔn) I/O 設(shè)備、中斷處理程序以及其它相關(guān)的特征。 與硬件組件類(lèi)似, XPS允許用戶(hù)規(guī)定軟件平臺(tái)部分并管理軟件應(yīng)用。 2. XMP 工程文件 EDK 設(shè)計(jì)的工程文件就是 .xmp格式,定義了 EDK 工具的版本、相關(guān)的硬件配置文件( MHS)和軟件配置文件( MSS)、目標(biāo)器件的類(lèi)型、軟件的源碼和庫(kù)位置等信息。與 MSS中的信息是一致的。下面通過(guò)在實(shí)際的 XMP 文件中添加注釋來(lái)解讀 XMP 文件。該文件可隨意更改,在圖形界面中對(duì)硬件結(jié)構(gòu)的任何改動(dòng),都要寫(xiě)入該文件中。MHS文件嚴(yán)格按照分層設(shè)計(jì)的思想,每個(gè)硬件模塊都是一個(gè)獨(dú)立的組件,再通過(guò)上層模塊連接起來(lái),形成整個(gè)系統(tǒng)。 PARAMETER VERSION = 定義了參數(shù)集版本 PORT sys_clk_pin = dcm_clk_s, CLK_FREQ = 50000000, DIR = I, SIGIS = CLK 定義了系統(tǒng)時(shí)鐘,大小為 50MHz,方向?yàn)檩斎?,?biāo)記為時(shí)鐘信號(hào) PORT sys_rst_pin = sys_rst_s, DIR = I, RST_POLARITY = 1, SIGIS = RST P
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1