英創公司的ARM9工控主板系列產品均預裝了正版的Window CE操作系統,支持客戶采用強大的微軟開發工具直接開發應用程序。Windows CE是目前針對嵌入式應用的主流操作系統之一,具有靈活的可裁剪性能,以支持客戶對應用功能的不同選擇。在實際應用中,客戶的需求一方面可能反映在對CE不同功能的選擇上,另一方面會反映在英創公司對產品的BSP的不斷改進與完善之中。而不論是CE功能的刪減添加,還是驅動程序的升級,對客戶來講都是更新系統的內核。為了及時滿足客戶需求的變化,英創公司針對不同的主板類型設計了相應的內核更新軟件工具。英創公司將把當前內核文件通過互聯網發給需要的客戶,客戶再利用相關工具,就可方便的把新的內核文件直接寫入英創工控主板中。
在實際應用中的另外一個問題是,作為工控產品一般都具有較長的產品生命周期,往往會出現一部分產品已經投入市場,而針對某些應用又產生了新的需求,因此需要對這一部分的產品進行內核更新的工作。這時就需要了解當前主板產品的內核版本信息,而內核版本信息一般很難從主板外觀上看出。為此英創公司從2009年12月起,為新出品的主板產品加入了內核的時間標簽作為版本信息。客戶若需查看內核時間標簽,可通過以太網Telnet登錄到主板,然后運行“\》BTS”命令,就可讀到系統的時間標簽信息,格式如下:
Emtronix Built at Dec 1 2009 12:30:00
客戶的應用程序也可通過以下代碼讀取相應的時間標簽字串:
// GetBuiltStamp.cpp : Defines the entry point for the application.
//
#include ‘stdafx.h’
#include
#define IOCTL_KLIB_USER 256 // where OEM defined IOCTL starts.
#define HAL_EM9XXX_BUILT_STAMP_READ 117
#define IOCTL_EM9XXX_BUILT_STAMP_READ \
CTL_CODE(FILE_DEVICE_HAL, \
IOCTL_KLIB_USER+HAL_EM9XXX_BUILT_STAMP_READ, \
METHOD_BUFFERED, FILE_ANY_ACCESS)
extern ‘C’ __declspec(dllimport) BOOL KernelIoControl( DWORD dwIoControlCode,
LPVOID pInBuffer,
DWORD InSize,
LPVOID pOutBuffer,
DWORD OutSize,
LPDWORD pReturnBytes);
int WINAPI WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
char StampString[128];
DWORD dwOutBufSize;
DWORD dwReturnBytes;
BOOL bRet;
dwOutBufSize = 128;
bRet = KernelIoControl(IOCTL_EM9XXX_BUILT_STAMP_READ,
NULL,
0,
(LPVOID)StampString,
dwOutBufSize,
&dwReturnBytes);
if(!bRet)
{
printf(‘Kernel Built Stamp is unavailable\r\n’);
}
else
{
StampString[dwReturnBytes] = ‘\0’;
printf(‘%s\r\n’, StampString);
}
return 0;
}
-
WINDOWS
+關注
關注
4文章
3564瀏覽量
89106 -
嵌入式主板
+關注
關注
7文章
6086瀏覽量
35523
發布評論請先 登錄
相關推薦
評論