成人sese/国产免费人成视频在线观看/九色 在线/免费观看又色又爽又黄的/啪在线视频/日日做日日摸夜夜爽

首頁 新聞 > 創新 > 正文

了解和使用no-OS及平臺驅動程序

作者:ADI公司高級軟件工程師??? Mahesh Phalke

快速發展的技術需要軟件支持(固件驅動程序和代碼示例)來簡化設計導入過程。本文介紹如何利用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.平臺驅動程序差異

作者簡介

Mahesh Phalke是ADI公司位于印度班加羅爾的精密轉換器技術軟件部門的高級軟件工程師。2011年畢業于瀑內大學,獲電子工程學士學位。聯系方式:mahesh.phalke@analog.com。

關鍵詞: 驅動程序 微控制器 操作系統

最近更新

關于本站 管理團隊 版權申明 網站地圖 聯系合作 招聘信息

Copyright © 2005-2018 創投網 - m.zhigu.net.cn All rights reserved
聯系我們:33 92 950@qq.com
豫ICP備2020035879號-12

 

主站蜘蛛池模板: 一区二区三区免费看 | 国内精品自国内精品自线电影 | 日本爽快片18禁免费看 | 日韩二级毛片 | 亚洲区第一页 | 精品久久欧美熟妇www | 亚洲综合色区另类av | 丰满少妇被猛烈进入高清app | 国产稚嫩高中生呻吟激情在线视频 | 国产av国片精品jk制服丝袜 | 麻豆chinese帅男男 | 嫩草影院ncyy入口 | 日韩一级特黄毛片 | 99av在线 | 老司机久久一区二区三区 | 日本喷潮 | 黄色激情视频在线观看 | 亚洲第一女人av | 乱人伦人妻中文字幕在线入口 | 四虎亚洲欧美成人网站 | 中文字幕无线观看中文字幕 | 亚洲欧美日韩精品久久 | 亚洲激情首页 | 美妇颤抖双乳呻吟求欢视频 | 国产精品一区二区久久乐夜夜嗨 | 中文字幕精品久久久 | 99热热热 | 日韩欧美一级黄色片 | 91精品专区| 青青操久久| 国产美女爽到喷出水来视频 | 国产精品久久久免费 | 国产精品三级赵丽颖 | 中文字幕丰满人伦在线 | 久久久久亚洲 | 少妇中文字幕 | 亚洲第一免费网站 | 久久月本道色综合久久 | 午夜视频日韩 | 在线观看欧美精品 | 精品国产欧美一区二区 | 亚洲人免费视频 | 日韩精品免费一区二区三区 | 国产综合在线播放 | 天天人人综合 | av加勒比在线 | 午夜日韩在线 | 久久久久久91 | 国产女人抽搐喷浆视频 | 国产精品福利视频 | 午夜性色福利在线观看视频 | 粉嫩av淫片一区二区三区 | 欧美大胸视频 | aaa极品在线| 色五丁香 | 漂亮人妻被黑人久久精品 | 免费午夜无码18禁无码影院 | 国产做爰xxxⅹ久久久 | 国产精品久久久久久久午夜片 | 主站蜘蛛池模板: 蛛词}| 免费特黄夫妻生活片 | 亚洲精品无码aⅴ中文字幕蜜桃 | 粉嫩少妇内射浓精videos | 久久久久蜜桃精品成人片公司 | 人妻系列无码专区无码专区 | 婷婷网色偷偷亚洲男人甘肃 | 人妻av无码系列一区二区三区 | 亚洲色图.com| 在线观看人成视频免费 | 夜夜夜高潮夜夜爽夜夜爰爰 | 亚洲页 | 无码日韩人妻精品久久蜜桃 | 色猫咪免费人成网站在线观看 | 亚洲欧美不卡高清在线观看 | 激情综合色五月六月婷婷 | 中文字幕精品亚洲无线码一区应用 | 2023国产精品一卡2卡三卡4卡 | 久久精品中文騷妇女内射 | 激情综合色五月丁香六月亚洲 | 成人一区二区三区视频 | 久久福利影院 | 黄色大片aaa | 欧美白丰满老太aaa片 | 天干天干天啪啪夜爽爽av小说 | 亚洲国产良家在线观看 | 国产在线午夜卡精品影院 | 欧美大尺度裸体床戏 | 一级丰满大乳hd高清 | 国产一级免费在线 | 99av国产精品欲麻豆 | 亚洲高清免费在线观看 | 午夜剧院免费观看 | 伊人久久综合狼伊人久久 | 亚洲乱码日产精品bd在线观看 | 夜夜春很很躁夜夜躁 | 日日摸日日添日日碰9学生露脸 | 中文字幕婷婷 | 久久久久久久久久久免费精品 | 亚洲激情网 | 亚洲愉拍99热成人精品 | 日本欧美大码aⅴ在线播放 欧美日韩一区二区三区视频 | 久久久久女教师免费一区 | 伊人超碰在线 | 性色欲情网站 | 欧美亚洲偷图色综合 | 五月天婷婷激情 | 超碰www| 香蕉毛片 | 国内视频一区二区 | 啄木乌法国一区二区三区 | 亚洲天堂午夜 | 99国产精品99 | 国产精品久久自在自线不卡 | 男女猛烈无遮挡免费视频在线观看 | 国产精品欧美久久久久一区二区 | 国产成+人+综合+亚洲欧美丁香花 | 欧美日韩综合网 | 综合婷婷 | aⅴ天堂网| 主站蜘蛛池模板: 蛛词}| 最新精品国偷自产在线老年人 | 国产一区二区在线视频 | 日本欧美视频在线观看 | 久久精品一区二区av999 | 亚洲第一页在线 | 四虎影院免费观看 | 男男又爽又黄又无遮挡网站 | 99久久99久久精品国产片桃花 | 高清精品xnxxcom | 国产精品一区二区6 | blacked蜜桃精品一区 | 国产免费又色又爽又黄女性同恋 | 国产精品久久中文字幕 | 黄色片在线免费看 | 青青草伊人网 | 东京热人妻丝袜无码av一二三区观 | 老妇激情毛片视频 | 国产成人久久精品 | 欧美日韩福利 | 韩国精品一区二区三区无码视频 | 亚洲国产精品久久久久秋霞蜜臀 | 国产成本人片无码免费2020 | 在线观看欧美激情 | 深爱激情站 | jzzijzzij亚洲农村妇女 | 精品国产午夜福利精品推荐 | 一区二区三区四区在线 | 欧洲 | 久久精品私人影院免费看 | 国产精久久久久 | 91看片淫黄大片91桃色 | 秋霞无码久久久精品交换 | 亚洲成a人片在线观看无码专区 | 黄www在线观看 | 极品欧美jiizzhd欧美18 | 在线播放侵犯新任女学生 | 亚洲熟妇无码久久精品 | 久热这里只有精品99国产6 | 久久婷婷日日澡天天添 | 少妇被黑人4p到惨叫欧美人 | 中文天堂最新版资源www | 精品黑人一区二区三区久久 | 拍国产乱人伦偷精品视频 | 潘金莲一级淫片aaaaa免费看 | 日韩精品无码区免费专区 | 一级欧美日韩 | 精品av天堂毛片久久久 | 久久人妻天天av | 伊人春色影院 | 久久亚洲色www成爱色 | 亚洲欧洲日产韩国无码 | 80s毛片| 欧美人与动牲交a欧美 | 中文字幕视频免费 | 欧美香蕉在线 | 欧美日韩精品一区二区三区高清视频 | 各种少妇正面着bbw撒尿视频 | 福利视频h| 日韩脚交footjobhd | 久久久国产乱子伦精品 | 主站蜘蛛池模板: 蛛词}| 97干视频| 精品欧美一区二区久久久伦 | 日韩欧美在线观看一区二区视频 | 亚洲成av人片在线播放无码 | 欧美成人精品福利视频 | 福利资源导航 | 五月天久久久 | 男人你懂的| 成人小视频在线免费观看 | 老师粉嫩小泬喷水视频90 | 三上悠亚精品二区 | 久久精品无码一区二区www | 久久久亚洲欧洲日产国码二区 | 国产高清乱理伦片 | 天天射天天摸 | 国模精品视频一区二区 | 2024国产精品视频 | 成人免费泡妞 | 午夜精彩视频 | 亚洲人成绝网站色www | 亚洲精品一区14p | 日韩欧美国产一区二区三区在线观看 | 又爽又黄又无遮挡的激情视频免费 | 91精品国产综合久久国产大片 | 国产a一级 | 欧美牲交videossexeso欧美 | 国产美熟女乱又伦av果冻传媒 | 青青青国产精品国产精品美女 | 国产精品亚洲精品日韩已方 | 国产刺激出水片 | 国产日产欧美精品 | 国产偷人妻精品一区 | 狠狠色成人一区二区三区 | 国产在线综合视频 | 伊人免费视频 | 亚洲va在线va天堂va欧美va | 69久久99精品久久久久婷婷 | 2021在线精品自偷自拍无码 | 日本少妇内射视频播放舔 | 国产足控福利视频一区 | 中文字幕精品一区二区精品 | 久久精品无码一区二区无码 | 国产综合久久亚洲综合 | 久久综合九色综合97伊人 | 免费国产va在线观看中文字 | 国产精品久久久久婷婷二区次 | 免费精品人在线二线三线 | 亚洲福利国产网曝 | 少妇一级1淫片 | 中文字幕手机在线视频 | 无码射肉在线播放视频 | 成人夜夜 | jzzijzzij亚洲成熟少妇 | 亚洲精品国产精品制服丝袜 | 俄罗斯女人体内谢和精 | 午夜阳光精品一区二区三区 | 国产精品久久久久久久久久直播 | 色婷婷久久久swag精品 | 美日欧激情av大片免费观看 | 主站蜘蛛池模板: 蛛词}| 色综合久久久久综合一本到桃花网 | 国产女人的高潮国语对白 | 日本二区三区欧美亚洲国产 | 91网入口| 天天狠天天透天天伊人 | 久久不见久久见免费影院视频观看 | 亚洲中文字幕码在线电影 | 国产三级精品在线观看 | 91精品国产亚一区二区三区老牛 | 四虎精品国产永久在线观看 | 国产精品1234 | 青青青国产视频 | 鲁一鲁在线| 国产精品一品二区三区的使用体验 | 中文字幕在线观看视频www | 国产毛片毛片毛片毛片毛片毛片 | 激情小说图片视频 | 色爱区综合五月激情 | 一本一道中文字幕无码东京热 | 国产成人综合自拍 | 午夜av福利在线 | 国内揄拍国内精品人妻浪潮av | 亚洲高清国产拍精品熟女 | 亚洲日韩av无码美腿丝袜 | 国产精品嫩草影院8vv8 | 欧美97 | 怡春院国产精品视频 | 国产色a在线观看 | 亚洲成av人综合在线观看 | 76少妇精品导航 | 香蕉精品亚洲二区在线观看 | 娇小萝被两个黑人用半米长 | 国产中的精品av涩差av | 成人国产精品色哟哟 | 国产麻豆剧传媒精品av | 久久91精品国产91久久小草 | 五月综合网亚洲乱妇久久 | 深夜福利gif动态图158期 | 色欲aⅴ亚洲情无码av | 国产真实乱对白精彩久久 | 欧美人与禽z0zo牲伦交 | 亚洲成色在线综合网站2018 | 乱老年女人伦免费视频 | 国产情侣激情呻吟露脸高清短视频 | 人妻丰满熟妇av无码在线电影 | 久拍国产在线观看 | 国产精品无码专区在线观看 | 午夜少妇性影院私人影院在线 | 国产裸体裸美女无遮挡网站 | 伊人久久大香线蕉av一区 | 女同免费毛片在线播放 | 国产在线精品一区二区不卡麻豆 | 亚洲中文字幕国产综合 | 亚欧毛片 | 高潮迭起av乳颜射后入 | 高潮久久久久久 | 日本老熟欧美老熟妇 | 国产黑色丝袜高跟在线视频 | 国产精品亚洲精品一区二区三区 |