亚洲爆乳成AV人在线视菜奈实_欧美一进一出抽搐大尺度视频 _日本十八禁免费看污网站_国产一区二区怡红院_6080YY新视觉影院_蜜臀AV无码人妻精品_成人影院YY111111在线_成人欧美一区二区三区1314_少妇饥渴偷公乱A级无码

首頁 新聞 工控搜 論壇 廠商論壇 產品 方案 廠商 人才 文摘 下載 展覽
中華工控網首頁
  P L C | 變頻器與傳動 | 傳感器 | 現場檢測儀表 | 工控軟件 | 人機界面 | 運動控制
  D C S | 工業以太網 | 現場總線 | 顯示調節儀表 | 數據采集 | 數傳測控 | 工業安全
  電 源 | 嵌入式系統 | PC based | 機柜箱體殼體 | 低壓電器 | 機器視覺
了解和使用no-OS及平臺驅動程序
亞德諾
收藏本文     查看收藏

快速發展的技術需要軟件支持(固件驅動程序和代碼示例)來簡化設計導入過程。本文介紹如何利用no-OS(無操作系統)驅動程序和平臺驅動程序來構建ADI公司精密模數轉換器和數模轉換器的應用固件,這些器件在速度、功耗、尺寸和分辨率方面提供高水平的性能。

ADI公司提供基于no-OS驅動程序的嵌入式固件示例來支持精密變換器。no-OS驅動程序負責器件配置、轉換器數據采集、執行校準等,而基于no-OS驅動程序的固件示例則便于將數據傳輸到主機進行顯示、存儲和進一步處理。

no-OS和平臺驅動程序簡介

顧名思義,no-OS驅動程序設計用于通用(或無特定)操作系統。該名稱還意味著這些驅動程序可以用在沒有任何OS支持的裸機(BareMetal)系統上。no-OS驅動程序旨在為給定精密轉換器的數字接口訪問提供高級API。no-OS驅動程序使用器件的這些API接口訪問、配置、讀取、寫入數據,而無需知道寄存器地址(存儲器映射)及其內容。

no-OS驅動程序利用平臺驅動程序層來支持跨多個硬件/軟件平臺復用相同的no-OS驅動程序,使固件高度可移植。平臺驅動程序層的使用將no-OS驅動程序隔絕開來,后者無需知道平臺特定接口(如SPI、I2C、GPIO等)的低級細節,因此no-OS驅動程序不需要修改就能跨多個平臺復用。

1.精密轉換器固件協議棧

使用no-OS驅動程序

圖2顯示了no-OS驅動程序的典型代碼結構。

2.no-OS驅動程序代碼結構

3.器件配置枚舉、結構和API

精密轉換器的no-OS驅動程序代碼通常包含在兩個以C編程語言編寫的源文件中:adxxxx.cadxxxx.h,其中xxxx代表器件名稱(例如AD7606、AD7124等)。器件頭文件(adxxxx.h)包含器件特定結構、枚舉、寄存器地址和位掩碼的公共編程接口,將此文件包含到所需的源文件中便可使用這些公開訪問接口。器件源文件(adxxxx.c)包含接口的實現,用于初始化和移除器件、讀/寫器件寄存器、從器件讀取數據、獲取/設置器件特定參數等。

典型的no-OS驅動程序圍繞一組常見功能來構建:

  • 器件特定寄存器地址、位掩碼宏、器件配置枚舉、讀/寫器件特定參數(如過采樣、增益、基準電壓等)的結構的聲明。
  • 通過no-OS驅動程序的器件初始化/移除函數以及器件特定的初始化和驅動程序結構與描述符初始化物理器件/解除器件初始化。
  • 使用器件寄存器讀/寫函數訪問器件存儲器映射或寄存器詳細信息,例如adxxxx_read_register()adxxxx_write_register()。

no-OS驅動程序代碼使用

使用器件特定地址、位掩碼、參數配置枚舉和結構:

如前所述,adxxxx.h頭文件包含所有器件特定枚舉和結構的聲明,這些枚舉和結構被傳遞到器件特定的函數或API以配置或訪問器件參數。具體情況如圖3所示。

圖3中顯示的adxxxx_config結構允許用戶選擇多路復用器通道并為其設置過采樣率。此結構的成員(afe_mux_channeloversampling)是存在于同一頭文件中的枚舉,其包含這兩個字段的所有可能值的數字常量,用戶可以選擇。

adxxxx.c文件中定義的adxxxx_set_adc_config()函數通過配置結構獲取用戶傳遞的配置/參數,并進一步調用adxxxx_spi_reg_write()函數,通過數字接口(在上例中是SPI)將數據寫入ADXXXX_REG_CONFIG器件寄存器。

使用no-OS驅動程序結構和初始化函數初始化器件:

4.器件初始化和驅動程序結構的聲明

除了器件配置枚舉和結構之外,no-OS驅動程序還提供以下兩個結構:

  • 器件初始化結構。
  • 設備驅動程序結構。

器件初始化結構允許用戶在用戶應用程序代碼中定義器件特定的參數和配置。初始化結構包含其他器件特定的參數結構和枚舉的成員。圖5顯示了器件初始化結構的定義。

器件驅動程序結構通過器件初始化函數adxxxx_init()加載器件初始化參數。器件驅動程序結構是在運行時(動態)從堆空間中分配內存。器件驅動程序結構和器件初始化結構中聲明的參數幾乎完全相同。器件驅動程序結構是器件初始化結構的運行時版本。

以下步驟說明典型的器件初始化函數和初始化流程:

  • 第1步:在應用程序中創建器件初始化結構的定義(或實例)(例如struct adxxxx_init_params),以初始化用戶特定的器件參數和平臺相關的驅動程序參數。參數在編譯期間定義。

注意:初始化結構中定義的參數因器件而異。

  • 第2步:在應用程序代碼中創建器件驅動程序結構的指針實例(變量)。

用戶應用程序需要創建器件驅動程序結構的單個指針實例。將此實例傳遞給所有no-OS驅動程序API/函數以訪問器件特定參數。應用程序代碼中定義的此指針實例指向堆中動態分配的內存,這是通過no-OS驅動程序中定義的器件初始化函數(如adxxxx_init())完成的。

  • 第3步:調用器件初始化函數以初始化器件和其他平臺特定的外設。

no-OS驅動程序中定義的adxxxx_init()函數用adxxx_init_param結構傳遞的用戶特定參數初始化器件。器件驅動程序結構的指針實例和器件初始化結構的實例作為兩個參數傳遞給此初始化函數。用戶應用程序代碼可以多次調用adxxxx_init()函數,只要調用初始化函數之后再調用器件移除函數來平衡。

通過器件寄存器讀/寫函數訪問存儲器映射(寄存器內容)如圖6所示

用戶可以通過no-OS驅動程序器件特定的adxxx_read/write()函數訪問器件寄存器內容(例如產品ID、暫存區值、OSR等)。

大多數情況下,用戶不會直接使用寄存器訪問函數。器件特定的函數通過這些寄存器訪問函數(如adxxxx_spi_reg_read/write())來調用。如果可能,建議使用器件配置和狀態API來訪問器件存儲器映射,而不要使用直接寄存器訪問函數,因為這樣能確保器件驅動程序結構與器件中的配置保持同步。

平臺驅動程序

平臺驅動程序是包裝平臺特定API的硬件抽象層(HAL)之一。它們由no-OS器件驅動程序或用戶應用程序代碼調用,使后者可以獨立于底層硬件和軟件平臺。平臺驅動程序包裝了平臺特定的低級硬件功能,例如SPI/I2C初始化和讀/寫、GPIO初始化和讀/寫、UART初始化和接收/發送、用戶特定的延遲、中斷等。

5.用戶應用程序中的器件初始化結構定義

6.訪問寄存器內容

SPI平臺驅動程序模塊的典型文件結構如圖7所示。

使用平臺驅動程序

平臺驅動程序代碼通常包含在以C/C++編程語言編寫的三個源文件中。

1) spi.h這是一個與平臺無關的文件,包含SPI功能所需的器件結構和枚舉。此頭文件中定義的C編程接口沒有平臺依賴性。

初始化和器件結構中聲明的所有參數對任何平臺上的SPI接口都是通用的。

器件初始化結構中使用的void *extra參數允許用戶傳遞額外的參數,這些參數可以是所用平臺特定的。

SPI驅動程序結構和SPI初始化結構中聲明的參數幾乎完全相同。SPI驅動程序結構是SPI初始化結構的運行時版本。

2) spi.cpp/.c此文件包含spi.h文件中聲明的函數的實現,這些函數用于初始化特定平臺的SPI外設以及讀/寫數據。廣義的“平臺”是指硬件微控制器(目標器件)和軟件(如RTOS或Mbed-OS)的組合。此文件依賴于平臺,移植到其他平臺時需要修改。

圖9詳細說明了Mbed平臺的SPI接口,并顯示了如何使用這些接口和器件初始化/驅動程序結構來初始化SPI和讀/寫數據。

7.SPI平臺驅動程序代碼結構

8.SPI初始化和驅動程序結構

9.SPI API或函數注意增加的spi_init()spi_write_and_read()代碼是節略代碼

為清楚起見而省略了細節。

10.SPI額外的初始化和驅動程序結構

3) spi_extra.h此文件包含其他器件結構或枚舉,其特定于給定平臺。它允許用戶應用程序代碼提供通用spi.h文件中未涉及的配置。例如,SPI引腳可能隨平臺而異,因此可以作為這些平臺特定的額外結構的一部分添加。

移植平臺驅動程序

平臺驅動程序可以從一個平臺(微控制器)移植到另一個平臺;若要移植,通常需要創建平臺特定的.cpp/.c_extra.h文件。平臺驅動程序駐留在微控制器單元供應商提供的器件特定硬件抽象層(HAL)之上的一層。因此,為將平臺驅動程序從一個平臺移植到另一個平臺,與調用供應商提供的HAL中存在的函數或API相關的平臺驅動程序代碼需要做一些細微改動。

圖12區分了基于Mbed的SPI平臺驅動程序和ADuCM410 SPI平臺驅動程序。

ADI no-OS存儲庫和平臺驅動程序的GitHub源代碼鏈接可在ADI公司Wiki和GitHub頁面上找到。

為no-OS驅動程序做貢獻

ADI no-OS驅動程序已開源并托管在GitHub上。驅動程序不僅支持精密轉換器,也支持許多其他ADI產品,如加速度計、收發器、光電器件等。任何熟悉源代碼的人都可以為這些驅動程序做貢獻,方式是提交變更和創建拉取請求來審核這些變更。

有許多示例項目可以在Linux和/或Windows環境中運行。許多示例項目是用硬件描述性語言(HDL)開發的,以便在Xilinx®、Intel®等公司開發的FPGA以及由不同供應商開發的目標處理器上運行。

如需無操作系統的系統的no-OS軟件驅動程序(用C編寫),請訪問ADI公司no-OS GitHub存儲庫。

ADI公司Wiki頁面提供了使用Mbed和ADuCMxxx平臺為精密轉換器開發的示例。

11.Mbed平臺特定的SPI初始化實現

12.平臺驅動程序差異


 

狀 態: 離線

公司簡介
產品目錄

公司名稱: 亞德諾
聯 系 人: 曹赟
電  話: 0755-82823086
傳  真:
地  址: 福田區濱河路國通大廈
郵  編: 518048
主  頁:
 
該廠商相關技術文摘:
ADI公司推出首款用于3D景深測量和視覺系統的高分辨率模塊
ADI公司低抖動頻率合成器支持GSPS數據轉換器方案實現優異性能
利用PMBus數字電源系統管理器進行電流檢測——第二部分
利用PMBus數字電源系統管理器進行電流檢測——第一部分
USB供電的5.8 GHz RF LNA接收器,帶輸出功率保護功能
可實現高降壓比的三種緊湊型解決方案
適合工業應用的魯棒SPI/I2C通信
新推出的同步SAR模數轉換器的片內校準優勢
ADI公司精密信號鏈平臺可輕松實現高精度設計
在自動駕駛汽車中實現5G和DSRC V2X
異步DC-DC升壓轉換器(包含續流二極管)還能實現低輻射嗎?
ADI公司的安全認證器以加密方式保護產品并通過1-Wire®輕松實現集成
更多文摘...
立即發送詢問信息在線聯系該技術文摘廠商:
用戶名: 密碼: 免費注冊為中華工控網會員
請留下您的有效聯系方式,以方便我們及時與您聯絡

關于我們 | 聯系我們 | 廣告服務 | 本站動態 | 友情鏈接 | 法律聲明 | 不良信息舉報
工控網客服熱線:0755-86369299
版權所有 中華工控網 Copyright©2022 Gkong.com, All Rights Reserved

久久久久久精品免费不卡| 亚洲成AV人片在线观看无线| 性无码专区一色吊丝中文字幕| 亚洲AV无码有乱码在线观看| 亚洲精品国产一二三无码AV| 野花在线高清视频| 2019四虎影视最新在线| JIZZJIZZ无码中国在线观| 厨房挺人ⅩXXX猛交| 国产精成人品日日拍夜夜免费 | 欧美级韩国三级日本三级| 男女啪啪吃奶GIF动态图| 欧美在线 | 亚洲| 日韩一区二区视频在线| 无遮挡又爽又刺激的视频| 亚洲国产精品国自产拍AV| 亚洲最大的AV无码网站| 99精品国产一区二区三区| 成片在线看一区二区草莓 | 久久精品国产亚洲AV麻豆网站 | 姬小满开叉裙穿搭注意事项 | 色噜噜狠狠色综合AV妖精| 无码视频免费一区二三区| 亚洲精品无码专区在线观看| 在线观看国产精选免费| ZZTT166.CCM黑料| 丰满大爆乳波霸奶| 国产一产二产三精华液区别在哪| 久久国产亚洲精品无码| 农里粗汉的共妻嗯啊高H| 日韩欧美亚洲每日更新在线| 午夜免费无码福利视频| 亚洲欧美一区二区成人片婷婷 | 国精产品一区二区三区有限公司| 久久精品国产亚洲AV麻豆| 女人张开腿让男桶喷水高潮| 日韩精品亚洲人成在线观看| 小12箩利洗澡无码视频网站| 亚洲熟女丰满多毛XXXXX| 97无码免费人妻超级碰碰夜夜 | 老熟妇XXXⅩHD老熟女| 取一个独一无二的网名| 偷拍中国熟妇牲交| 亚洲情A成黄在线观看动漫尤物| 2019国产情侣超清在线| 大陆老太XXXXXHD| 国精品无码一区二区三区左线| 久久亚洲中文字幕精品一区| 秋霞在线观看视频| 无码中文亚洲AV影音先锋无码| 亚洲日韩欧美一区久久久久我| 99精品欧美一区二区三区| 疯狂做受ⅩⅩⅩⅩ高潮高清视频| 国内精品久久人妻无码网站| 鲁丝一区二区三区| 日本一线二线三线四线五线| 香港经典A毛片免费观看变态| 野花香电视剧全集免费观看高清| きょこんきょうしゃ在线| 国产精品爽爽VA在线观看| 久久免费99精品国产自在现线| 欧亚尺码专线欧洲B1B1| 无遮挡A级毛片免费看| 一本大道香蕉在线精品| 爱丫爱丫在线影院| 国产日产欧美最新| 麻豆国产AV丝袜白领传媒| 色老头BGMBGMBGM| 亚洲国产精品一区二区成人片| 97在线视频免费人妻| 国产成人久久AV免费高潮| 久久 国产 尿 小便 嘘嘘| 欧美亚洲一区二区三区| 无码少妇一区二区三区芒果| 一级伦奷片高潮无码看了5| 别揉我奶头~嗯~啊~动漫网站| 国产亚洲精品拍拍拍拍拍 | 天天想你免费看西瓜视频| 亚洲日本一线产区二线区| А√天堂资源在线官网| 国产日产欧产精品精品首页| 蜜臀AV网站在线观看| 色综合天天天天综合狠狠爱| 亚洲乱色熟女一区二区三区蜜臀| china熟女熟妇乱老女人百度| 国产精品女人呻吟在线观看| 久久亚洲AV午夜福利精品一区二| 日韩免费一区二区三区高清| 亚洲成在人线视AV| FREE嫩白18SEX性HD处| 国产欧洲野花A级| 免费人成视网站在线不卡| 永久免费AV无码不卡在线观看| 亚洲AV无码AV日韩AV网站不| 综合激情五月综合激情五月激情1| 丰满爆乳BBWBBWBBW| 久爱无码免费视频在线| 人与禽交VIDEOSGRATI| 亚洲国产精品VA在线观看香蕉| ChineSe玩弄老年熟妇| 国产偷久久久精品专区| 妺妺窝人体色www聚色窝图| 无码毛片一区二区三区本码视频| 越南少妇毛茸茸的大BBW| 公交车后车座的疯狂的做 | 青青草无码精品伊人久久| 亚洲AV无码成人精品区瑜伽裤| 99久久免费只有精品国产| 国产麻豆精选AV| 男生把感叹号放进女生的括号 | WWW免费视频在线观看播放| 国产亚洲精品精华液| 欧美老肥妇多毛XXXXX| 亚洲AⅤ精品无码一区二区| 99精品人妻无码专区在线视频区| 国产女人高潮抽搐喷水视频| 内射毛片内射国产夫妻| 无码人妻精品一区二区三区蜜桃91 | 久久SE精品一区二区| 日韩无码一区视频| 亚洲中文字幕在线第六区| 丰满饥渴老女人HD| 久久香综合精品久久伊人| 亚洲AV无码AV日韩AV网站| 亚洲丰满少妇多毛大隂户| HD老熟女BBN| 韩国三级在线观看| 人妻少妇aB又紧又爽精品视频| 亚洲国产精品一区二区成人片不卡 | 亚洲日韩一区二区三区黑人| 厨房丝袜麻麻被后进怀孕| 久久久综合香蕉尹人综合网| 熟妇一区二区三区| 中文一国产一无码一日韩| 国产精品无码专区| 欧美黑人疯狂性受XXXXX喷水| 亚洲AV无码成人精品区欧洲| ぱらだいす天堂中文网WWW| 精品日产A一卡2卡三卡4卡乱| 日韩亚洲中字无码一区二区三区| 一本久久综合亚洲鲁鲁五月天| 国产好爽…又高潮了毛片| 免费中文无码AV动作片| 亚洲AV无码片在线观看| 边做边爱MP3在线播放免费观看| 久久精品AⅤ无码中文字字幕蜜桃| 熟妇女领导呻吟疯狂| 中文字幕少妇人妻av护士人妻| 国产男男GayGay裸交视频| 热99RE6久精品国产首页青柠| 亚洲欧洲综合有码无码| 国产XXXX69真实实拍| 女人夜夜春高潮爽A∨片传媒| 亚洲AV中文无码乱人伦在线咪咕| 成 人 A V天堂| 久久综合狠狠综合久久| 五月丁香合缴情在线看| YY8090福利午夜理论片| 久久精品国产亚洲AV香蕉| 无码AV大香线蕉伊人久久| 人人爽人人爽人人片AV| 亚洲午夜福利AV一区二区无码| 国产成人欧美一区二区三区| 欧美成本人网站免费观看| 亚洲国产精品第一区二区| 高清偷自拍亚洲精品三区| 男人边吃奶边挵进去呻吟动态图| 亚洲А∨天堂久久精品PPYPP| 大陆少妇XXXX做受| 免费看永久不收费下载软件 | 337P日本欧洲亚洲大胆色噜噜| 激情 亚洲 成人小说 激情| 少妇高潮喷水在线观看| 777爽死你免费看一二区无码| 精品黑人一区二区三区| 天堂8在线天堂资源BT| AAA少妇高潮大片免费看088| 久久WWW成人_看片免费不卡| 无码天堂亚洲国产AV| 宝贝张开腿嗯啊高潮了视频| 麻豆传播媒体APP官网在线观看| 亚洲AV永久无码精品无码电影| 绯色AV一区二区三区在线高清| 年轻老师的滋味3在观整有限中字 年轻夫妻把小孩哄睡后开监控 | 国精品无码一区二区三区左线 | 欧美综合自拍亚洲综合图| 亚洲综合一区二区三区无码 | 男女超爽视频免费播放| 亚洲欧美中文日韩V在线观看不卡 亚洲欧美中文日韩V在线观看 | 久久精品人妻一区二区三区| 掀开老师的裙子挺进去| 厨房里的激战2李明人物介绍| 免费无遮挡无码永久视频| 亚洲精品无码久久久久AV老牛| 国产成人精欧美精品视频| 漂亮人妻被强中文字幕| 在线天天看片视频免费观看 | 国产乱码字幕精品高清AV| 日韩精品一区二区三区中文| 40岁的寡妇下面紧不紧|