环球电气之家-午夜精彩视频-中国专业电气电子产品行业服务网站!

產品分類

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

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

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

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

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

推薦產品

更多
主站蜘蛛池模板: 点焊机-缝焊机-闪光对焊机-电阻焊设备生产厂家-上海骏腾发智能设备有限公司 | KBX-220倾斜开关|KBW-220P/L跑偏开关|拉绳开关|DHJY-I隔爆打滑开关|溜槽堵塞开关|欠速开关|声光报警器-山东卓信有限公司 | 杭州实验室尾气处理_实验台_实验室家具_杭州秋叶实验设备有限公司 | 新疆十佳旅行社_新疆旅游报价_新疆自驾跟团游-新疆中西部国际旅行社 | 大米加工设备|大米加工机械|碾米成套设备|大米加工成套设备-河南成立粮油机械有限公司 | 无锡门窗-系统门窗-阳光房-封阳台-断桥铝门窗厂[窗致美] | 金环宇|金环宇电线|金环宇电缆|金环宇电线电缆|深圳市金环宇电线电缆有限公司|金环宇电缆集团 | 橡胶膜片,夹布膜片,橡胶隔膜密封,泵阀设备密封膜片-衡水汉丰橡塑科技公司网站 | 杭州成人高考_浙江省成人高考网上报名| 风淋室生产厂家报价_传递窗|送风口|臭氧机|FFU-山东盛之源净化设备 | 桂林腻子粉_内墙外墙抗裂砂浆腻子粉推荐广西鑫达涂料厂家供应 | 航空铝型材,7系铝型材挤压,硬质阳*氧化-余润铝制品 | 无锡网站建设_小程序制作_网站设计公司_无锡网络公司_网站制作 | 定做大型恒温循环水浴槽-工业用不锈钢恒温水箱-大容量低温恒温水槽-常州精达仪器 | 智慧农业|农业物联网|现代农业物联网-托普云农物联网官方网站 | 压片机_高速_单冲_双层_花篮式_多功能旋转压片机-上海天九压片机厂家 | 飞歌臭氧发生器厂家_水处理臭氧发生器_十大臭氧消毒机品牌 | 皮带输送机-大倾角皮带输送机-皮带输送机厂家-河南坤威机械 | 挤出熔体泵_高温熔体泵_熔体出料泵_郑州海科熔体泵有限公司 | 余姚生活网_余姚论坛_余姚市综合门户网站 | 立式_复合式_壁挂式智能化电伴热洗眼器-上海达傲洗眼器生产厂家 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 鲸鱼视觉 -数字展厅多媒体互动展示制作公司| 德国BOSCH电磁阀-德国HERION电磁阀-JOUCOMATIC电磁阀|乾拓百科 | 糖衣机,除尘式糖衣机,全自动糖衣机,泰州市长江制药机械有限公司 体感VRAR全息沉浸式3D投影多媒体展厅展会游戏互动-万展互动 | 碳纤维布-植筋胶-灌缝胶-固特嘉加固材料公司 | 北京中航时代-耐电压击穿试验仪厂家-电压击穿试验机 | 单电机制砂机,BHS制砂机,制沙机设备,制砂机价格-正升制砂机厂家 单级/双级旋片式真空泵厂家,2xz旋片真空泵-浙江台州求精真空泵有限公司 | 杭州火蝠电商_京东代运营_拼多多全托管代运营【天猫代运营】 | 软文世界-软文推广-软文营销-新闻稿发布-一站式软文自助发稿平台 | 浙江栓钉_焊钉_剪力钉厂家批发_杭州八建五金制造有限公司 | IIS7站长之家-站长工具-爱网站请使用IIS7站长综合查询工具,中国站长【WWW.IIS7.COM】 | RV减速机-蜗轮蜗杆减速机-洗车机减速机-减速机厂家-艾思捷 | CE认证_产品欧盟ROHS-REACH检测机构-商通检测 | 电脑知识|软件|系统|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网 | 缓蚀除垢剂_循环水阻垢剂_反渗透锅炉阻垢剂_有机硫化物-郑州威大水处理材料有限公司 | 六自由度平台_六自由度运动平台_三自由度摇摆台—南京全控科技 | 苗木价格-苗木批发-沭阳苗木基地-沭阳花木-长之鸿园林苗木场 | 信阳网站建设专家-信阳时代网联-【信阳网站建设百度推广优质服务提供商】信阳网站建设|信阳网络公司|信阳网络营销推广 | 浙江华锤电器有限公司_地磅称重设备_防作弊地磅_浙江地磅售后维修_无人值守扫码过磅系统_浙江源头地磅厂家_浙江工厂直营地磅 | 茶叶百科网-茶叶知识与茶文化探讨分享平台| 北京森语科技有限公司-模型制作专家-展览展示-沙盘模型设计制作-多媒体模型软硬件开发-三维地理信息交互沙盘 |