《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > EDA與制造 > 解決方案 > 了解和使用no-OS及平臺驅(qū)動程序

了解和使用no-OS及平臺驅(qū)動程序

2022-04-12
作者:ADI公司高級軟件工程師 Mahesh Phalke
來源:ADI公司
關(guān)鍵詞: no-OS ADI 平臺驅(qū)動程序

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

ADI公司提供基于no-OS驅(qū)動程序的嵌入式固件示例來支持精密變換器。no-OS驅(qū)動程序負責(zé)器件配置、轉(zhuǎn)換器數(shù)據(jù)采集、執(zhí)行校準(zhǔn)等,而基于no-OS驅(qū)動程序的固件示例則便于將數(shù)據(jù)傳輸?shù)街鳈C進行顯示、存儲和進一步處理。

no-OS和平臺驅(qū)動程序簡介

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

no-OS驅(qū)動程序利用平臺驅(qū)動程序?qū)觼碇С挚缍鄠€硬件/軟件平臺復(fù)用相同的no-OS驅(qū)動程序,使固件高度可移植。平臺驅(qū)動程序?qū)拥氖褂脤o-OS驅(qū)動程序隔絕開來,后者無需知道平臺特定接口(如SPI、I2C、GPIO等)的低級細節(jié),因此no-OS驅(qū)動程序不需要修改就能跨多個平臺復(fù)用。

1.jpg

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

典型的no-OS驅(qū)動程序圍繞一組常見功能來構(gòu)建:

?器件特定寄存器地址、位掩碼宏、器件配置枚舉、讀/寫器件特定參數(shù)(如過采樣、增益、基準(zhǔn)電壓等)的結(jié)構(gòu)的聲明。

?通過no-OS驅(qū)動程序的器件初始化/移除函數(shù)以及器件特定的初始化和驅(qū)動程序結(jié)構(gòu)與描述符初始化物理器件/解除器件初始化。

?使用器件寄存器讀/寫函數(shù)訪問器件存儲器映射或寄存器詳細信息,例如adxxxx_read_register()或adxxxx_write_register()。

no-OS驅(qū)動程序代碼使用

使用器件特定地址、位掩碼、參數(shù)配置枚舉和結(jié)構(gòu):

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

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

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

使用no-OS驅(qū)動程序結(jié)構(gòu)和初始化函數(shù)初始化器件:

2.jpg

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

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

平臺驅(qū)動程序

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

3.jpg

4.jpg

5.jpg

6.jpg

作者簡介

Mahesh Phalke是ADI公司位于印度班加羅爾的精密轉(zhuǎn)換器技術(shù)軟件部門的高級軟件工程師。2011年畢業(yè)于瀑內(nèi)大學(xué),獲電子工程學(xué)士學(xué)位。

AETweidian.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产欧美精品va在线观看| 欧美 日韩 国产在线| 午夜精品久久久久久久久 | 国产精品女人毛片| 欧美精品一区二| 欧美成人亚洲| 欧美a级一区| 女人天堂亚洲aⅴ在线观看| 久久欧美中文字幕| 久久久99国产精品免费| 欧美一区二区日韩一区二区| 亚洲一区网站| 亚洲婷婷在线| 亚洲一区二区免费| 亚洲免费小视频| 先锋亚洲精品| 欧美在线视频日韩| 久久久久久欧美| 久久午夜电影网| 美女黄网久久| 你懂的一区二区| 欧美激情影音先锋| 欧美噜噜久久久xxx| 欧美激情日韩| 欧美日韩一二三区| 国产精品av久久久久久麻豆网| 欧美三级黄美女| 欧美午夜一区| 国产精品视频自拍| 国产偷国产偷亚洲高清97cao| 国产亚洲一区在线播放| 激情亚洲成人| 亚洲国内欧美| 日韩亚洲成人av在线| 99在线热播精品免费99热| 亚洲午夜一区二区| 欧美亚洲综合网| 欧美一区网站| 久久精品一本| 亚洲精品久久久久久下一站| 99v久久综合狠狠综合久久| 亚洲午夜精品久久久久久app| 亚洲欧美色婷婷| 欧美呦呦网站| 免播放器亚洲一区| 欧美日韩一区免费| 国产日韩欧美夫妻视频在线观看| 国内偷自视频区视频综合| 亚洲国产91| 亚洲天堂av图片| 亚洲国产99精品国自产| av成人免费观看| 欧美在线免费看| 欧美电影免费观看网站| 国产精品久久久久久久久久ktv| 国产综合18久久久久久| 亚洲麻豆av| 性做久久久久久久久| 日韩午夜三级在线| 欧美制服第一页| 欧美激情1区2区| 国产精品综合av一区二区国产馆| 精品二区视频| 国产精品99久久久久久久vr| 久久精品一本久久99精品| 亚洲午夜日本在线观看| 久久久久久亚洲综合影院红桃| 欧美另类视频在线| 激情综合中文娱乐网| 在线视频你懂得一区| 亚洲国产人成综合网站| 国产精品综合不卡av| 伊人久久大香线| av成人手机在线| 亚洲第一页中文字幕| 亚洲精品一二区| 久久超碰97中文字幕| 欧美精品手机在线| 国产一区二区毛片| 一本色道**综合亚洲精品蜜桃冫| 欧美在线免费观看视频| 中文日韩在线| 久久婷婷人人澡人人喊人人爽| 欧美四级剧情无删版影片| 国内自拍视频一区二区三区| 国产精品99久久久久久白浆小说| 亚洲日本激情| 久久久精品一品道一区| 国产精品多人| 亚洲国产精品一区二区三区| 午夜激情一区| 亚洲网在线观看| 欧美成人久久| 国产一区香蕉久久| 亚洲视频第一页| 99伊人成综合| 免费国产自线拍一欧美视频| 国产日韩欧美中文| 一区二区三区视频在线播放| 日韩午夜精品| 欧美.日韩.国产.一区.二区| 国产精品一区二区在线观看不卡 | 国产日韩欧美一区二区三区四区| 日韩视频精品| 亚洲另类春色国产| 免费不卡中文字幕视频| 国产亚洲激情视频在线| 亚洲一区二区三区激情| 亚洲少妇在线| 欧美日韩精品二区| 最新国产成人在线观看| 91久久精品日日躁夜夜躁欧美 | 国产亚洲精品成人av久久ww| 亚洲一区二区三区视频| 中文欧美在线视频| 欧美日韩天天操| 亚洲精品在线一区二区| 亚洲精品一区二区三区在线观看| 久久综合色播五月| 好看不卡的中文字幕| 欧美一区二区三区男人的天堂| 翔田千里一区二区| 国产精品私拍pans大尺度在线| 亚洲网站视频| 香蕉久久夜色精品| 国产日韩欧美日韩大片| 午夜日韩激情| 久久aⅴ国产紧身牛仔裤| 国产九色精品成人porny| 亚洲欧美日韩国产成人| 久久er精品视频| 国产一区二区电影在线观看| 性欧美xxxx视频在线观看| 久久爱www久久做| 韩国一区二区在线观看| 亚洲高清免费| 欧美成人精品在线观看| 亚洲片在线资源| 亚洲午夜激情网页| 一区二区不卡在线视频 午夜欧美不卡在 | 国产女主播一区二区三区| 一本色道久久综合亚洲精品小说| 在线视频欧美一区| 欧美日韩mp4| 在线综合亚洲| 欧美在线免费视频| 国内一区二区三区| 亚洲国产清纯| 欧美黄色免费| 一本一本久久a久久精品综合麻豆| 亚洲免费视频一区二区| 国产亚洲精久久久久久| 91久久精品久久国产性色也91 | 在线观看欧美| 夜夜嗨av色一区二区不卡| 欧美日韩亚洲国产精品| 亚洲一区二区三区国产| 久久精品国产综合| 影音国产精品| 一本久久综合亚洲鲁鲁| 国产精品青草久久| 欧美自拍偷拍| 亚洲成人直播| 中文欧美日韩| 国产一区在线播放| 99re热这里只有精品免费视频| 国产精品theporn| 欧美在线一二三| 欧美激情自拍| 亚洲免费视频成人| 免费在线欧美黄色| 一区二区三区高清| 久久男人av资源网站| 日韩午夜黄色| 久久xxxx| 亚洲美女中出| 久久精品一本| 日韩视频专区| 久久久久久亚洲综合影院红桃 | 香蕉久久夜色精品| 最新成人在线| 性做久久久久久| 亚洲国产精品激情在线观看| 亚洲欧美日韩视频一区| 激情综合网激情| 亚洲免费人成在线视频观看| 亚洲大胆视频| 欧美一级视频| 亚洲精品视频在线| 久久久精品午夜少妇| 一区二区久久久久| 老牛影视一区二区三区| 亚洲午夜一二三区视频| 欧美精品一卡二卡| 久久国产精彩视频| 国产精品青草综合久久久久99 | 亚洲视频1区| 精久久久久久| 午夜天堂精品久久久久| 亚洲久久成人|