99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Xilinx生成的讀寫(xiě)函數(shù)

FPGA之家 ? 來(lái)源:FPGA之家 ? 作者:FPGA之家 ? 2022-07-27 09:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在一個(gè)項(xiàng)目中,當(dāng)你使用microblaze作為控制器來(lái)進(jìn)行系統(tǒng)調(diào)度的時(shí)候,一般是建議將所有模塊封裝成AXI形式的IP核,這樣好管理,也容易調(diào)試。不過(guò)在初期的時(shí)候是不建議這樣做的,因?yàn)槟愕哪K并沒(méi)有完全被驗(yàn)證是沒(méi)問(wèn)題的,所以還是使用.v文件,等后面這一功能驗(yàn)證通過(guò),再把它封裝成IP核形式。

1. AXI IP核簡(jiǎn)介

用過(guò)Microblaze或者看例程的人肯定都知道,Xilinx提供了很多AXI形式的IP核,像常用的UART、IIC、SPI等IP核。我們只要把他們?cè)诋?huà)布里調(diào)出來(lái),然后使用自動(dòng)連接形式,便能把對(duì)應(yīng)接口連接起來(lái),接著在軟件上調(diào)用其相應(yīng)的函數(shù)便可以工作了。

9a2bfe9e-0d46-11ed-ba43-dac502259ad0.jpg

但是當(dāng)我們自己封裝了一個(gè)AXI形式的IP核后,又該怎么去使用呢?這不是官方IP,沒(méi)有相應(yīng)的函數(shù)呀?不知道大家是否有印象,上一篇文章介紹IP封裝的時(shí)候說(shuō)過(guò),封裝成AXI形式的IP核,會(huì)生成一些東西,如下圖所示,這個(gè)可千萬(wàn)別去刪,大有用處的。

9a3dff4a-0d46-11ed-ba43-dac502259ad0.png

里面的drivers這個(gè)文件夾其實(shí)放的就是AXI的驅(qū)動(dòng)函數(shù)。例如我們生成一個(gè)AXI的IP核(紅框處)

9a51fba8-0d46-11ed-ba43-dac502259ad0.jpg

編譯通過(guò)后生成軟核工程,可以看到,我們自己加入的IP核是有被關(guān)聯(lián)進(jìn)來(lái)的。在“Axi_Device_DNA_v1_0”這個(gè)文件夾下包含有.c和.h文件,這個(gè)就是我們添加的IP核對(duì)應(yīng)的驅(qū)動(dòng),它和iic、定時(shí)器、uart等IP核在同一個(gè)庫(kù)里。這些都是IP核必須使用到的函數(shù)文件。

9a5dbe70-0d46-11ed-ba43-dac502259ad0.png

2. AXI IP核使用

看見(jiàn)自制的IP核都能給你生成驅(qū)動(dòng)函數(shù)是不是覺(jué)得很高級(jí),很爽呢!如果這樣想那你就確實(shí)too young too simple了。打開(kāi)它的.c和.h文件給你看看吧。

9a7999ba-0d46-11ed-ba43-dac502259ad0.jpg

寄存器定義

9a84b566-0d46-11ed-ba43-dac502259ad0.png

獲取DNA數(shù)據(jù)高位、低位數(shù)據(jù)的函數(shù)

9aa30372-0d46-11ed-ba43-dac502259ad0.jpg

讀寫(xiě)函數(shù)

是的,就只有這些,沒(méi)有了!所以別以為能像IIC之類(lèi)的IP核一樣,會(huì)給你很全的函數(shù),讓你一次寫(xiě)一大串或讀一大串?dāng)?shù)據(jù)的,如果真能根據(jù)不同IP功能給你定制不同函數(shù),那就智能到逆天了···

不過(guò)人家都給你讀寫(xiě)寄存器的函數(shù)和寄存器的定義,也就已經(jīng)夠了,都說(shuō)下層基礎(chǔ)決定上層建筑,有了這兩個(gè)基本函數(shù),你想自己做什么功能還不行?MCU控制的本質(zhì)不也就是讀寫(xiě)對(duì)應(yīng)的寄存器,偷懶也得有個(gè)度的哈哈~就像這樣,自己封裝個(gè)函數(shù)就行了。

9ab2ee86-0d46-11ed-ba43-dac502259ad0.png

當(dāng)然,你也可以不用Xilinx給你生成的讀寫(xiě)函數(shù),自己寫(xiě)也是可以的,不過(guò)不建議這么做,畢竟人家都給了,一方面可以給你節(jié)省編碼時(shí)間,另一方面也保證了函數(shù)的穩(wěn)定性,避免開(kāi)發(fā)出錯(cuò)。

3. 總結(jié)

在封裝成AXI IP 核時(shí)會(huì)有一個(gè)頂層的AXI時(shí)序代碼,這個(gè)用戶(hù)一定要熟悉,并且對(duì)應(yīng)的寄存器要設(shè)置好,這樣使用起來(lái)才不會(huì)有錯(cuò)誤。不然容易出現(xiàn)寄存器讀寫(xiě)不成功或者操作錯(cuò)寄存器導(dǎo)致數(shù)據(jù)不對(duì)??傊€是一句話,實(shí)踐出真知,想了解深入得去用了才知道才會(huì)使用。

審核編輯:彭靜

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5433

    瀏覽量

    124371
  • Xilinx
    +關(guān)注

    關(guān)注

    73

    文章

    2184

    瀏覽量

    125247
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4379

    瀏覽量

    64803

原文標(biāo)題:使用MicroBlaze調(diào)用AXI IP核

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    第二十九章 讀寫(xiě)內(nèi)部FLASH

    本文介紹了W55MH32內(nèi)部FLASH,其含主存儲(chǔ)、系統(tǒng)存儲(chǔ)等,可存儲(chǔ)代碼及掉電保存數(shù)據(jù)。讀寫(xiě)需解鎖、擦除頁(yè)等步驟,標(biāo)準(zhǔn)庫(kù)提供相關(guān)函數(shù)。還展示了擦除編程測(cè)試及模擬EEPROM讀寫(xiě)的實(shí)驗(yàn)。
    的頭像 發(fā)表于 06-20 14:09 ?570次閱讀
    第二十九章 <b class='flag-5'>讀寫(xiě)</b>內(nèi)部FLASH

    cyusb3014插入usb2.0接口后,軟件調(diào)用cyapi.lib中的哪些函數(shù)完成初始化、讀寫(xiě)操作?

    cyusb3014,插入usb2.0接口后,軟件調(diào)用cyapi.lib中的哪些函數(shù)完成初始化、讀寫(xiě)操作?
    發(fā)表于 05-29 07:14

    是德33220A 函數(shù)任意波形發(fā)生器

    是德33220A 函數(shù)任意波形發(fā)生器 儀器特性 *33220A 函數(shù)發(fā)生器包括 USB、GPIB 和 LAN 接口 *用于信號(hào)設(shè)置視覺(jué)驗(yàn)證的圖形模式 *選件 001 提供支持同步信道的多元鏈路
    的頭像 發(fā)表于 02-07 15:55 ?396次閱讀

    泰克Tektronix AFG3021B 任意波形/函數(shù)發(fā)生器 函數(shù)信號(hào)源

    泰克Tektronix AFG3021B 任意波形/函數(shù)發(fā)生器 ?函數(shù)信號(hào)源 品牌:美國(guó)泰克 Tektronix 產(chǎn)品概述 無(wú)可比擬的性能、通用性、直觀的操作和經(jīng)濟(jì)性,使AFG3000系列函數(shù)、任意
    的頭像 發(fā)表于 12-26 09:18 ?400次閱讀

    SATA硬盤(pán)與SSD的區(qū)別 SATA硬盤(pán)的讀寫(xiě)速度分析

    SATA硬盤(pán)與SSD的區(qū)別 1. 存儲(chǔ)介質(zhì) SATA硬盤(pán) :通常指的是機(jī)械硬盤(pán)(HDD),使用磁碟和讀寫(xiě)頭來(lái)存儲(chǔ)數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)在磁盤(pán)的磁性區(qū)域上,通過(guò)讀寫(xiě)頭的移動(dòng)來(lái)訪問(wèn)。 SSD :使用閃存
    的頭像 發(fā)表于 12-19 14:35 ?4274次閱讀

    SRIO介紹及xilinx的vivado 2017.4中生成srio例程代碼解釋

    1. 概述 本文是用于記錄srio的學(xué)習(xí)情況,以及一些對(duì)xilinx的vivado 2017.4中生成srio例程代碼的解釋。 2. 參考文件 《pg007_srio_gen2》 3. SRIO協(xié)議
    的頭像 發(fā)表于 12-10 16:24 ?2786次閱讀
    SRIO介紹及<b class='flag-5'>xilinx</b>的vivado 2017.4中<b class='flag-5'>生成</b>srio例程代碼解釋

    ADS131A02開(kāi)啟Hamming code下,該如何編寫(xiě)讀寫(xiě)命令函數(shù)代碼?

    我的配置:(M0: 浮空,M1:上拉,M2:上拉),同步從模式,32位數(shù)據(jù)幀格式,開(kāi)啟Hamming code。 讀寫(xiě)命令代碼: //讀寫(xiě)32位命令函數(shù) uint16_t
    發(fā)表于 12-10 08:35

    如何獲取入口函數(shù)不是__iar_program_start的Program entry的stack使用情況

    問(wèn)題 IAR中默認(rèn)的入口函數(shù)是__iar_program_start,使能stack usage analysis之后: 生成的map文件中STACK USAGE章節(jié)里面會(huì)包含Program
    的頭像 發(fā)表于 11-25 16:23 ?1048次閱讀
    如何獲取入口<b class='flag-5'>函數(shù)</b>不是__iar_program_start的Program entry的stack使用情況

    SUMIF函數(shù)與SUMIFS函數(shù)的區(qū)別

    SUMIF函數(shù)和SUMIFS函數(shù)都是Excel中用于條件求和的函數(shù),它們可以幫助用戶(hù)根據(jù)特定的條件對(duì)數(shù)據(jù)進(jìn)行求和。盡管它們的基本功能相似,但在使用場(chǎng)景和功能上存在一些差異。以下是對(duì)這兩個(gè)函數(shù)
    的頭像 發(fā)表于 10-30 09:51 ?7473次閱讀

    TLV320AIC3263 i2c無(wú)法進(jìn)行通信,通過(guò)i2c的讀寫(xiě)函數(shù),讀寫(xiě)寄存器失敗怎么解決?

    麻煩幫忙分析下以下問(wèn)題的原因 1、i2c無(wú)法進(jìn)行通信,通過(guò)i2c的讀寫(xiě)函數(shù)(系統(tǒng)提供),讀寫(xiě)寄存器失敗: 寫(xiě)寄存器,返回-5: 讀寄存器:都是251 2、codec上電,gpio拉不動(dòng)
    發(fā)表于 10-28 07:32

    如何申請(qǐng)xilinx IP核的license

    在使用FPGA的時(shí)候,有些IP核是需要申請(qǐng)后才能使用的,本文介紹如何申請(qǐng)xilinx IP核的license。
    的頭像 發(fā)表于 10-25 16:48 ?1377次閱讀
    如何申請(qǐng)<b class='flag-5'>xilinx</b> IP核的license

    配置MySQL主從復(fù)制和讀寫(xiě)分離

    配置MySQL主從復(fù)制和讀寫(xiě)分離
    的頭像 發(fā)表于 10-23 11:44 ?804次閱讀
    配置MySQL主從復(fù)制和<b class='flag-5'>讀寫(xiě)</b>分離

    閃存隨機(jī)讀寫(xiě)與連續(xù)讀寫(xiě)哪個(gè)重要

    閃存隨機(jī)讀寫(xiě)與連續(xù)讀寫(xiě)各有其重要性,具體取決于應(yīng)用場(chǎng)景和需求。 隨機(jī)讀寫(xiě)的重要性 延遲小,響應(yīng)快 : 閃存(尤其是SSD)的隨機(jī)讀寫(xiě)性能通常較強(qiáng),因?yàn)槠溲舆t小且沒(méi)有機(jī)械硬盤(pán)的尋道時(shí)間。
    的頭像 發(fā)表于 10-12 11:44 ?1048次閱讀

    EPROM讀寫(xiě)和擦寫(xiě)原理

    EPROM(Erasable Programmable Read-Only Memory,可擦除可編程只讀存儲(chǔ)器)是一種非易失性存儲(chǔ)器,能夠在斷電后保持存儲(chǔ)的數(shù)據(jù)。其讀寫(xiě)和擦寫(xiě)原理涉及電子學(xué)、半導(dǎo)體物理等多個(gè)領(lǐng)域,以下是對(duì)EPROM讀寫(xiě)和擦寫(xiě)原理的詳細(xì)解析。
    的頭像 發(fā)表于 09-05 12:33 ?3557次閱讀

    EEPROM讀寫(xiě)程序詳解

    EEPROM(Electrically Erasable Programmable Read-Only Memory)讀寫(xiě)程序的詳解涉及多個(gè)方面,包括EEPROM的基本工作原理、讀寫(xiě)流程、編程接口、代碼示例以及注意事項(xiàng)等。以下是對(duì)EEPROM
    的頭像 發(fā)表于 09-05 12:32 ?4923次閱讀