中文字幕第二一区_久久久久在线视频_精品国产自在现线看久久_亚洲精品一区二区三区电影网

產品分類

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

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

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

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

  • 關鍵詞:                                                                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

推薦產品

更多
中文字幕第二一区_久久久久在线视频_精品国产自在现线看久久_亚洲精品一区二区三区电影网

      欧美成人dvd在线视频| 亚洲精品欧美激情| 欧美日韩美女一区二区| 久久精品人人爽| 这里只有精品视频| 亚洲高清一二三区| 国产精品中文字幕欧美| 欧美日韩四区| 欧美精品午夜视频| 美日韩精品视频| 久久国产天堂福利天堂| 亚洲午夜精品国产| 亚洲美女毛片| 亚洲区一区二| 亚洲国产欧美日韩精品| 国产一区二区三区高清在线观看 | 9久re热视频在线精品| 在线观看中文字幕不卡| 国产亚洲一区二区三区| 国产片一区二区| 国产毛片精品国产一区二区三区| 欧美日韩 国产精品| 欧美精品不卡| 欧美精品18+| 欧美日韩精品久久久| 欧美激情视频在线播放| 欧美另类视频| 国产精品国产三级国产a| 欧美日韩福利在线观看| 欧美日韩日本网| 欧美人成网站| 国产精品老牛| 国产欧美日韩| 激情亚洲成人| 最新69国产成人精品视频免费| 亚洲电影免费观看高清完整版在线观看 | 久久久精品日韩欧美| 欧美中文字幕视频在线观看| 欧美一区国产二区| 久久婷婷av| 欧美成人伊人久久综合网| 欧美 日韩 国产在线| 欧美高清免费| 欧美视频在线不卡| 国产精品一区久久久久| 国产中文一区二区| 亚洲欧洲综合另类在线| 99视频精品| 久久成人精品无人区| 免费观看成人www动漫视频| 欧美激情精品久久久久久变态 | 一区二区三区四区五区精品| 国产精品99久久久久久久vr| 午夜精品在线| 欧美国产精品一区| 国产精品久久久久久久久久久久久 | 久久人人97超碰精品888| 欧美高清影院| 国产欧美精品xxxx另类| 影视先锋久久| 亚洲一区二区在线看| 美女性感视频久久久| 欧美日韩精品一区二区三区| 国产在线视频欧美| 夜夜爽99久久国产综合精品女不卡| 这里只有精品在线播放| 久久综合伊人77777尤物| 欧美日韩亚洲综合| 樱花yy私人影院亚洲| 亚洲视频一区在线| 亚洲精品一区二区三区在线观看| 久久免费视频在线观看| 欧美日韩在线一区| 在线观看视频一区二区| 亚洲综合激情| 欧美日韩喷水| 亚洲日本免费电影| 久久在线91| 好吊日精品视频| 午夜精品久久久久久99热| 欧美激情亚洲视频| 激情小说另类小说亚洲欧美 | 99综合电影在线视频| 久久米奇亚洲| 国产欧美日韩在线播放| 亚洲免费在线精品一区| 欧美午夜大胆人体| 99精品欧美一区二区三区| 麻豆视频一区二区| 一区二区三区无毛| 久久精品国产99国产精品| 国产精品一区免费观看| 亚洲午夜羞羞片| 欧美三级不卡| 一本色道久久综合| 欧美精品在线观看| 亚洲精品在线观| 欧美日韩亚洲一区二区三区在线观看 | 亚洲精品国产拍免费91在线| 久久影视精品| 影音先锋久久资源网| 久久久人成影片一区二区三区| 国产色产综合色产在线视频| 欧美在线播放| 一区在线视频| 欧美大片免费观看在线观看网站推荐| 亚洲电影免费在线| 欧美精品97| 亚洲小说春色综合另类电影| 欧美日韩在线观看一区二区| 中文在线不卡| 国产三区二区一区久久| 久久久久久亚洲精品杨幂换脸| 激情欧美国产欧美| 欧美不卡在线视频| 亚洲视频视频在线| 国产日韩欧美在线一区| 美女精品在线观看| 一本大道久久a久久精二百| 国产精品久久久久婷婷| 久久精品国产一区二区电影| 在线观看国产一区二区| 欧美精品色综合| 小黄鸭精品密入口导航| 韩曰欧美视频免费观看| 欧美日韩精品免费观看视频| 亚洲综合成人婷婷小说| 激情久久久久久久| 欧美精品aa| 久久精品国产免费| 亚洲国产精品久久91精品| 国产精品久久久久久久9999 | 美女主播精品视频一二三四| 99精品免费网| 国产一区深夜福利| 欧美老女人xx| 玖玖在线精品| 欧美影视一区| 艳女tv在线观看国产一区| 国产一区二区中文| 国产精品高潮呻吟久久av无限 | 亚洲精品一区二| 国产性色一区二区| 欧美日韩免费观看一区| 毛片基地黄久久久久久天堂| 一区二区三区欧美在线观看| 在线视频国产日韩| 国产视频在线观看一区 | 亚洲深夜福利视频| 亚洲激情视频在线观看| 国产综合亚洲精品一区二| 欧美视频在线观看| 欧美日韩1234| 欧美成人一二三| 久久视频一区| 久久久高清一区二区三区| 午夜精品福利在线| 一区二区三区精品在线| 91久久综合亚洲鲁鲁五月天| 很黄很黄激情成人| 国产亚洲精品一区二区| 国产精品久久久久久久久免费桃花| 欧美精品一二三| 欧美成人免费播放| 欧美大片免费观看| 欧美黄色免费网站| 欧美激情一区二区三区在线| 欧美成人r级一区二区三区| 噜噜噜噜噜久久久久久91| 久久久五月婷婷| 久久综合国产精品台湾中文娱乐网| 久久国内精品视频| 久久国产精品电影| 久久久999精品| 久久夜色精品国产欧美乱| 久久综合综合久久综合| 欧美成人精品在线视频| 久久久久久香蕉网| 欧美亚洲系列| 看欧美日韩国产| 欧美日本一道本在线视频| 欧美日韩一二三区| 国产精品推荐精品| 国产在线麻豆精品观看| 在线日韩电影| 一本色道久久综合亚洲精品婷婷 | 亚洲天堂第二页| 欧美亚洲尤物久久| 久久亚洲精品一区| 欧美激情五月| 国产精品一二三视频| 国内外成人免费激情在线视频网站 | 中文亚洲欧美| 久久成人免费日本黄色| 久久综合九色99| 欧美日韩在线三区| 国产一区二区中文| 亚洲最新合集| 久久精品免费| 欧美日韩中文字幕在线视频|