美女网站一区二区_在线观看日韩毛片_成人在线视频首页_欧美精品一区二区三区久久久_国产精品亚洲一区二区三区在线_日本免费新一区视频_日本美女一区二区三区_精品亚洲成a人_久久不见久久见免费视频1_91首页免费视频_欧美一区二区在线看_91精品91久久久中77777_天堂蜜桃一区二区三区_av在线一区二区_欧美不卡一区二区_欧美影视一区二区三区

產品分類

當前位置: 首頁 > 工業電氣產品 > 工業開關 > 風壓開關

類型分類:
科普知識
數據分類:
風壓開關

Toradex WinCE 庫演進:新的庫文件方法說明

發布日期:2022-04-26 點擊率:143

  • 關鍵詞:                                                                ARM                                                                WinCE                                                                library

  • 摘要:Windows十多年之前,為了演示我們的 計算機模塊 ,或者稱為 系統模塊(SoM),我們編寫了一些 WinCE 的代碼。例如 GPIO、I2C、模擬輸入等。當時我們只是為了純粹的演示目的,并沒有關系諸如維護、不同模塊之間的兼容性等問題。然而,這些演示程序卻被大量 Windows Embedded Compact 用戶所采用。我們收到越來越多的技術支持和功能要求,于是我們開始將其集成到演示代碼中去。最終,我們有了今天的針對基于 PXA 和 Tegra? 系統模塊的庫文件包。通過這些庫文件可以可靠和方便地使用我們的模塊。但是,迭代維護和為新功能提供 API 卻沒有那么容易。


1). 概述

Windows十多年之前,為了演示我們的 計算機模塊 ,或者稱為 系統模塊(SoM),我們編寫了一些WinCE 的代碼。例如 GPIO、I2C、模擬輸入等。當時我們只是為了純粹的演示目的,并沒有關系諸如維護、不同模塊之間的兼容性等問題。然而,這些演示程序卻被大量 Windows Embedded Compact 用戶所采用。我們收到越來越多的技術支持和功能要求,于是我們開始將其集成到演示代碼中去。最終,我們有了今天的針對基于 PXA 和 Tegra? 系統模塊的庫文件包。通過這些庫文件可以可靠和方便地使用我們的模塊。但是,迭代維護和為新功能提供 API 卻沒有那么容易。


當我們為我們的模塊系列家族添加新的處理器(片上系統或者 SoC),我們決定停止擴展舊的 API,而是采用一套全新的 API,我們可以把過去獲得的經驗都傾注其中。我們稱這套新的庫文件包為“Toradex CE Libraries”。該庫文件包的目標和我們原來的一樣:使我們的用戶能夠方便地使用系統模塊的功能。


但是,我們三個非常重要的要求:


./ 可擴展,并可兼容的 API

./ 允許通過注冊表配置庫文件

./ 易于維護

我們將在新的庫文件包中滿足三個所有的要求。


2). 可擴展,并可兼容的API

為了保持我們的 API 滿足將來的需求,我們決定引入兩套調用 API。第一種是通常的做法,使用字符串或者整數將信息傳遞給庫。下面演示了如何將一個系統模塊的引腳設置為 GPIO 輸入,并調用 SetConfigString 函數激活下拉電阻:

-----------------------------

// Set pin to alternate function GPIO,Input with pull-down

success = Gpio_SetConfigString(hGpio, io1,NULL, L"altfn=ioAltFnGpio,dir=in,pull=down", StoreVolatile);

-----------------------------


另外一個例子是調用 SetConfigInt 函數將 I2C 控制器的速率設置為 400KHz:

-----------------------------

// Set I2C speed to 400KHz

success = I2c_SetConfigInt(i2c,L"BitRateHz", 400000, StoreVolatile);

-----------------------------

采用字符串的方法允許我們保持 API 的 100% 兼容,并且在將來可以添加現在系統模塊還沒有的更多功能。


第二套調用的 API 主要出于性能或者采用標準函數的原因。下面是一個 GPIO 庫文件中修改一個 GPIO 的函數例程。調用 SetConfigString 或者 Set ConfigInt 可以實現同樣的目的,出于性能考慮,我們提供了不需要字符串解析的函數。

-----------------------------

// Set it to Output,  High

Gpio_ConfigureAsGpio(hGpio, io1);

Gpio_SetDir         (hGpio, io1, ioOutput);

Gpio_SetLevel       (hGpio, io1, ioHigh);

-----------------------------


我們看看采用標準函數讀取 I2C 的例程。因為性能緣故,我們決定不采用一般字符串的方法(例如上的 Get/SetConfig),但是由于讀 I2C(以及類似的函數)已經固定,無法針對將來的 SoC 做改變。

-----------------------------

returnValue = I2c_Read(i2c, (DWORD*) data,8);

-----------------------------


3). 允許通過注冊表配置庫文件

正如前面看到的,我們可以通過字符串和整數配置庫文件。例如也可以在注冊表中配置 SPI 庫使用特定 SPI 接口、片選信號、波特率等,在你的應用啟動的時候加載配置。如果你采用下面的方法加載庫:

-----------------------------

hSPI = Spi_Init(L"SPI2");

-----------------------------

庫文件會自動從注冊表下面的位置加載配置:

-----------------------------

[HKEY_LOCAL_MACHINESOFTWAREToradexSPI2]

BitRateHz=500000

DmaEnable=1

etc.

-----------------------------

你也許會想,這有什么好處。其中一個很好的優勢是,可以針對不同設備只維護一個應用。例如,你可以在基于 NXP?(或者可以寫為高通)i.MX6 處理器以及 NXP Vybrid 系統模塊上使用相同的應用。模塊之間唯一的不同是引腳配置,現在這些可以保持在注冊表中。剩余的部分完全相同,因此允許你在不同的系統模塊上使用一個二進制應用,使得您的開發更加容易。


4). 易于維護

在本文的最后我想重點介紹“為維護而設計”方面。為了我們能夠簡單、安全地維護,我們根據每一種 SoC 將庫文件分為單獨的源代碼文件。這確保我們能夠在修復漏洞或者增加 SoC 相關功能的時候,保持其他 SoC 部分的代碼不變。這降低了破壞現有代碼的風險,因此也使得我們的軟件總體上更加穩健。


5). 參考

您可以在我們的開發者中心 中找到所支持功能的列表以及下載庫文件、API說明等。

同樣歡迎您查看我們的library roadmap,我們公開了所以已知的問題和我們計劃解決的時間。


下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

推薦產品

更多
美女网站一区二区_在线观看日韩毛片_成人在线视频首页_欧美精品一区二区三区久久久_国产精品亚洲一区二区三区在线_日本免费新一区视频_日本美女一区二区三区_精品亚洲成a人_久久不见久久见免费视频1_91首页免费视频_欧美一区二区在线看_91精品91久久久中77777_天堂蜜桃一区二区三区_av在线一区二区_欧美不卡一区二区_欧美影视一区二区三区


        日韩欧美第一区| 日韩资源av在线| 国产一区免费电影| 美女视频网站黄色亚洲| 久久99久久99小草精品免视看| 欧美aa在线视频| 精品在线播放午夜| 高清国产一区二区三区| 91在线云播放| 国产原创精品| 亚洲女人毛片| 欧美精品xxxxbbbb| 欧美xxxxx牲另类人与| 久久免费看少妇高潮| 国产精品伦一区| 亚洲图片一区二区| 精品一区二区三区欧美| 成a人片国产精品| 国产一区二区三区免费不卡| 欧美极品色图| 色一情一乱一乱一91av| 日韩一区和二区| 国产精品青草综合久久久久99| 尤物在线观看一区| 激情小说亚洲一区| 国产精品播放| 中文字幕中文字幕99| 51久久夜色精品国产麻豆| 国产三级久久久| 五月激情综合色| 成人av资源站| 亚洲国产激情一区二区三区| 91精品国产欧美一区二区| 中文字幕精品三区| 蜜桃一区二区三区在线观看| 91精品国产高清久久久久久91裸体 | 日本一区二区三区视频免费看| 亚洲成人在线视频网站| 欧美日韩免费一区二区三区| 国产亚洲成av人在线观看导航| 亚洲一级电影视频| 国产剧情一区二区| 久久99导航| 欧美日韩国产成人在线91| 国产精品久久毛片av大全日韩| 石原莉奈在线亚洲三区| 97视频资源在线观看| 色综合夜色一区| 中文字幕免费不卡在线| 日本成人在线一区| 国产欧美日韩亚洲| 欧美精品在线观看一区二区| 亚洲日本韩国一区| av一二三不卡影片| 欧美在线综合视频| 亚洲欧美精品午睡沙发| 国产.精品.日韩.另类.中文.在线.播放| 久久精品日产第一区二区三区精品版| 欧美日韩激情一区| 一级中文字幕一区二区| av动漫一区二区| 欧美四级电影在线观看| 一区二区三区日韩欧美精品 | 亚洲最新在线观看| 成人一区二区三区视频在线观看 | 999在线观看免费大全电视剧| 亚洲码国产岛国毛片在线| 国内外成人在线| 日韩一区不卡| 国产精品免费av| av不卡在线观看| 在线成人av影院| 美国毛片一区二区三区| 日韩久久不卡| 亚洲日本在线a| 91网站黄www| 日韩一级高清毛片| 蜜桃一区二区三区在线观看| 视频一区二区综合| 亚洲男人的天堂在线aⅴ视频| 99久久亚洲一区二区三区青草| 欧美视频一区二区三区四区| 亚洲五码中文字幕| 麻豆视频成人| 中文字幕一区二区视频| 不卡一区二区三区视频| 精品噜噜噜噜久久久久久久久试看| 久久超级碰视频| 在线一区二区观看| 亚洲超碰97人人做人人爱| 欧美日韩精品久久| 亚洲精品视频在线观看网站| 国产精品二区三区四区| 精品电影一区二区三区| 国产精品白丝jk黑袜喷水| 91精品国产综合久久国产大片| 欧美不卡一区二区三区四区| 亚洲最大色网站| 风间由美久久久| www国产成人| 波多野洁衣一区| 日韩欧美一二三| 国产成+人+日韩+欧美+亚洲| 欧美日韩在线电影| 麻豆成人av在线| 欧美中文字幕久久| 国产在线观看一区二区| 欧美精品日韩综合在线| 国产一区二区美女诱惑| 欧美日韩性生活| 黄色资源网久久资源365| 欧美三级电影在线看| 久久国产尿小便嘘嘘| 欧美日韩一级大片网址| 国产一区二区毛片| 精品国产伦一区二区三区观看方式| 成人av电影在线| 久久亚洲一级片| 国产精品久久久久久久久久久久冷 | 国产麻豆日韩| 一二三区精品福利视频| 91精彩视频在线观看| 国产精华液一区二区三区| 日韩美女主播在线视频一区二区三区| a在线欧美一区| 中文字幕在线一区免费| 日本在线观看一区二区三区| 热久久免费视频| 欧美一区二区精品| 国产精品国模大尺度私拍| 亚洲综合丁香婷婷六月香| 中国成人在线视频| 国产精品911| 国产欧美一区二区三区在线看蜜臀| 久久精品成人一区二区三区蜜臀| 亚洲一区在线免费观看| 在线观看视频91| 99在线精品视频| 一级日本不卡的影视| 欧美日韩国产高清一区二区| 成人激情av| 日韩av电影一区| 精品理论电影在线观看| 欧美中日韩免费视频| 麻豆91精品91久久久的内涵| 欧美大片在线观看| 日本一区二区三区免费看| 国产精品一区二区在线看| 中文字幕欧美国产| 欧美性xxxxx极品少妇| 91视视频在线观看入口直接观看www| 亚洲欧美国产77777| 欧美精品乱码久久久久久| 国产精品美女诱惑| 久久国产精品色婷婷| 国产精品久久久久桃色tv| 欧美性videosxxxxx| 精品一区二区国产| 精品在线你懂的| 亚洲精品成人悠悠色影视| 在线成人小视频| 日韩国产精品一区二区| 成人激情免费网站| 亚洲第一激情av| 国产午夜精品在线观看| 91成人在线观看喷潮| 国产精品一区二区三区免费观看 | 国产老肥熟一区二区三区| 亚洲毛片av在线| 久久综合成人精品亚洲另类欧美| 一区二区三区久久网| 国产精品对白刺激久久久| 国产美女久久久久| 亚洲国产精品麻豆| 国产精品色眯眯| 91精品国产综合久久久久久久| 亚洲国产精品123| 国产精品久久亚洲| 国产精品一区二区黑丝| 亚洲不卡在线观看| 国产精品久久久久一区二区三区 | 91精品国产91久久久久久最新毛片 | 色又黄又爽网站www久久| 国产伦精品一区二区三区照片91| 国产不卡一区视频| 免费成人小视频| 亚洲综合丁香婷婷六月香| 中文字幕精品三区| 亚洲精品一区二区三区香蕉| 精品视频999| 色婷婷久久久亚洲一区二区三区| 国产欧美一区二区三区另类精品| 粉嫩13p一区二区三区| 精品亚洲porn| 日本不卡视频在线观看| 亚洲一区二区视频| 亚洲三级电影网站| 国产精品成人免费| 久久精品这里都是精品| 欧美成人r级一区二区三区|