英創ARM9工控主板的數據采集功能通常采用板上的GPIO實現數字輸入輸出、通過精簡ISA總線擴展相應的外部控制電路(如控制繼電器或AD或DA實現模擬數據的輸入輸出等)。由于英創ARM9嵌入式主板采用WinCE操作系統,很多客戶都選擇了界面友好、開發便利的C#語言(使用Visual Studio 2005.NET集成開發環境);以往用戶在使用C#操作控制GPIO以及ISA總線的時候,是使用英創提供的動態鏈接庫,采用傳統的DllImport方法,首先在程序開始的地方來進行函數申明,然后才能在程序中進行調用;而這個動態鏈接庫里面函數的EntryPoint由于系統的原因,往往是一個古怪的名字,而且英創每次在進行動態鏈接庫的升級后,這個EntryPoint的名字就可能發生變化,這對用戶程序的可維護性帶來極大的不便。為了解決這個問題,英創公司現在提供了操作精簡ISA總線的COM組件接口;用戶只需要在目標平臺上進行組件注冊,然后在C#程序開發的時候,對該COM組件添加引用,即可在程序里面自由地通過對象操作來使用函數,而不必反復費心地進行函數申明的工作。下面我們就以EM9000嵌入式主板為實例,在C#使用COM組件接口操作精簡ISA總線作一個說明:
一、在目標嵌入式主板上進行COM組件注冊
ISA COM組件的核心文件就是英創提供的EM9000_ISA_API_COM.dll動態鏈接庫文件,首先需要將它在目標嵌入式工控主板上注冊。用戶可以使用Visual Studio Remote Tools提供的“遠程文件查看器”連接目標嵌入式工控主板,并將英創提供的EM9000_ISA_API_COM.dll和REGSVR32.exe這兩個文件下載到目標主板的Flash存儲器上去(這里假設下載到EM9000的NandFlash)。然后在開發主機PC上使用Telnet連接目標工控主板(如圖),進入放置剛才下載這兩個文件的Flash存儲器目錄,運行:
REGSVR32 EM9000_ISA_API_COM.dll
即可完成COM組件注冊。
二、在C#工程中添加COM組件引用
接下來可以進入C# COM組件開發。首先將EM9000_ISA_API_COM.dll文件復制到用戶的C#工程目錄下,然后在Visual Studio 2005.NET集成開發環境中打開用戶工程。為了使用ISA總線COM組件,必須為該工程添加外部引用;用戶可在集成開發環境的右側的“解決方案資源管理器”中找到“引用”,對其單擊鼠標右鍵,然后單擊“添加引用”(如圖)。