在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

英創信息技術應用程序及配置文件的生產自動拷貝簡介

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2020-02-07 11:03 ? 次閱讀

為了幫助用戶提高生產測試效率,我們提供了代為客戶拷貝應用程序的服務,在主板出廠之前我們會將用戶提交的所有程序和文件拷貝到用戶指定的系統目錄中,用戶拿到主板后可直接裝機測試,大大節省了生產測試時間。客戶也可參考此方法,在自己的整機生產中實現應用程序及配置文件的自動拷貝。本文以下介紹在CE平臺實現應用程序及配置文件自動拷貝的具體步驟。

英創主板處于調試模式啟動時,會查詢系統的usbdisk根目錄下是否有名為autotest.txt的配置文件,如果配置文件存在則會執行文件中指定的exe程序,程序的拷貝正是利用系統的這一功能自動實現的。

實現程序的自動拷貝需要以下幾個步驟:

1、編寫autotest.txt配置文件

配置文件中需要指定要啟動的exe完整路徑,同時可配置系統網口1的網絡參數,下面是示例配置。

[LOCAL_MACHINE]
DefaultGateway="192.168.201.19"
IPAddress="192.168.201.220"
SubnetMask="255.255.255.0"
[USER_EXE]
Name="\usbdisk\autocfg.exe"
Parameters=""
[SYSTEM]
Store="25"

2、編寫自動配置程序

配置程序autocft.exe一般需要實現將應用程序拷貝到主板指定目錄的功能,同時也可完成用戶自定義的一些配置功能,比如增加特定注冊表、燒寫開機畫面等。下面是一些示例代碼可供用戶參考。

AutoCopy函數實現將當前執行的配置程序所在目錄的全部文件拷貝到系統的nandflash目錄中。

DWORD AutoCopy( )
{
DWORD dwResult;
TCHAR szCurrentDir[MAX_PATH];
TCHAR szLocalFile[MAX_PATH];
TCHAR szNewFile[MAX_PATH];
TCHAR szDisFolder[MAX_PATH];
CHAR localFile[MAX_PATH];
CHAR newFile[MAX_PATH];
int i1, diskType;
dwResult = GetModuleFileName( NULL,szCurrentDir, sizeof( szCurrentDir ) );
if( 0 == dwResult )
{
printf("GetModuleFileName failure!\r\n" );
return -1;
}
TCHAR *pch = _tcsrchr( szCurrentDir, '\\' );
*(pch+1) = '\0';
_tcslwr(szCurrentDir);
pch = _tcsstr( szCurrentDir, _T("usb") );
if( NULL != pch )
{
_tcscpy( szLocalFile, szCurrentDir );
_tcscat( szLocalFile, _T("*.*"));
diskType = 1;
GetFolderName(diskType, szDisFolder);
HANDLE hFind;
WIN32_FIND_DATA FindFileData;
BOOL BFind;
hFind = FindFirstFile( szLocalFile, &FindFileData);
if(hFind != INVALID_HANDLE_VALUE)
{
BFind = TRUE;
while( BFind )
{
if( FindFileData.dwFileAttributes != FILE_ATTRIBUTE_DIRECTORY )
{
_tcscpy( szLocalFile, szCurrentDir );
_tcscat( szLocalFile, FindFileData.cFileName );
_stprintf(szNewFile, _T("\\%s\"), szDisFolder);
_tcscat( szNewFile, FindFileData.cFileName );
dwResult = CopyFile( szLocalFile, szNewFile, FALSE );
memset( localFile, 0, sizeof(localFile));
i1 = wcslen( szLocalFile );
wcstombs( localFile, szLocalFile, i1 );
memset( newFile, 0, sizeof(newFile));
i1 = wcslen( szNewFile );
wcstombs( newFile, szNewFile, i1 );
if( dwResult == 0 )
{
printf("Copy %s to %s failure!\r\n", localFile, newFile );
return -1;
}
else
{
printf("Copy %s to %s successful!\r\n", localFile, newFile );
}
}
BFind = FindNextFile( hFind, &FindFileData );
}
}
FindClose( hFind );
}
return 0;
}
// Get "Folder" name from register.
// type = 0: SDMemory
// type = 1: Nand
// type = 2: USB
// type = 3: EMMC
//
void GetFolderName( int type, LPWSTR szName )
{
HKEY hKey = NULL;
DWORD dwType=REG_SZ;
DWORD size=100;
DWORD ret;
TCHAR szFolderPath[80];
switch( type )
{
case 0:
_tcscpy( szFolderPath, REG_SDFOLDER_PATH );
break;
case 1:
_tcscpy( szFolderPath, REG_NANDFOLDER_PATH );
break;
case 2:
_tcscpy( szFolderPath, REG_USBFOLDER_PATH );
break;
case 3:
_tcscpy( szFolderPath, REG_EMMC_PATH );
break;
default:
return;
}
//get the folder Name from registry in case BSP is using non-default name
if (ERROR_SUCCESS == RegCreateKeyEx(HKEY_LOCAL_MACHINE, (LPWSTR)szFolderPath,
0, NULL, REG_OPTION_NON_VOLATILE, 0, NULL, &hKey, NULL))
{
ret=RegQueryValueEx(hKey, L"Folder", 0, &dwType, (BYTE*)szName, &size);
if (ret!=ERROR_SUCCESS)
RETAILMSG(1,(L"RegQueryValueEx returned error %d dwType=%d size=%dbufSz=%d\r\n", ret,dwType,size,sizeof(szName)));
}
if( hKey!=NULL )
RegCloseKey(hKey);
return;
}

英創主板支持開機畫面在線更新,《WinCE工控主板在線更新開機畫面(2017新版)》中提到的lu程序,用戶也可以在配置程序中直接調用實現開機畫面的自動更新,下面是利用lu更新U盤目錄下usersplash800480.bmp圖片的示例代碼。

PROCESS_INFORMATION processInfo;
TCHAR szProgram[] = _T("lu.exe");
TCHAR szCmdLine[100] = _T("usbdisk\\usersplash800480.bmp");
BOOL result = CreateProcess( szProgram, szCmdLine,NULL, NULL, FALSE,CREATE_NEW_CONSOLE, NULL, NULL, NULL, &processInfo );
if( result == 0 )
{
//執行失敗...
}

3、將autotest.txt放在U盤根目錄,同時將配置程序autocft.exe和需要拷貝到主板上的應用程序及文件放在U盤指定目錄中。

4、將U盤連接到英創主板,主板在調試模式啟動后會自動執行用戶指定的配置程序,完成系統配置工作。

系統默認只會執行一次查詢autotest.txt啟動配置程序的過程,如果希望這個功能總是有效,可在配置程序開始處增加一個清除注冊表標志的工作,當系統注冊表項HKEY_LOCAL_MACHINE\Emtronix或HKEY_LOCAL_MACHINE\Wstartup下的Count等于0時,系統在調試模式下就會查詢U盤中的autotest.txt配置文件。下面是count清零代碼。

HKEY hKey;
DWORD dwVal, dwRet;
DWORD dwType = REG_DWORD;
DWORD dwBufLen = sizeof(DWORD);
if((dwRet = RegOpenKeyEx( HKEY_LOCAL_MACHINE, _T("Emtronix"), 0, 0, &hKey)) != ERROR_SUCCESS)
{
dwRet = RegOpenKeyEx( HKEY_LOCAL_MACHINE, _T("Wstartup"), 0, 0, &hKey);
}
if(dwRet == ERROR_SUCCESS)
{
dwVal = 0;
RegSetValueEx(hKey, _T("Count"), 0, dwType, (BYTE*)&dwVal, dwBufLen);
RegCloseKey(hKey); // close registry
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6086

    瀏覽量

    35616
收藏 人收藏

    評論

    相關推薦

    如何導出交換機的配置文件

    在網絡管理中,導出交換機的配置文件是一項關鍵任務,它有助于備份、審計、遷移或恢復網絡配置。本文將詳細介紹如何導出交換機配置文件,涵蓋多種方法,適用于不同場景和需求。文章內容將圍繞幾種常見的導出方法展開,包括通過命令行接口(CLI
    的頭像 發表于 02-02 17:20 ?149次閱讀

    配置Skywalking告警

    Skywalking環境 對接.NET6 程序 接入微服務網關+后臺微服務 添加依賴 拷貝配置文件并簡單修改 在launch
    的頭像 發表于 01-16 10:58 ?130次閱讀
    <b class='flag-5'>配置</b>Skywalking告警

    迅為RK3568開發板篇OpenHarmony配置HDF驅動控制LED-配置創建私有配置文件

    私有配置文件,用來填寫一些驅動的默認配置信息。HDF 框架在加載驅動時,會獲取相應的配置信息并將其保存在 HdfDeviceObject 的 property 中。這些配置信息通過 B
    發表于 01-10 11:13

    linux網卡配置文件

    網卡配置文件 ? ? 網卡目錄[root@localhost opt]# ls /etc/sysconfig/network-scripts/網卡文件名字,和我們ifconfig看到的一樣
    的頭像 發表于 12-10 10:09 ?290次閱讀

    docker-compose配置文件內容詳解以及常用命令介紹

    一、Docker Compose 簡介 Docker Compose是一種用于定義和運行多容器Docker應用程序的工具。通過一個? docker-compose.yml ?文件,您可以配置
    的頭像 發表于 12-02 09:29 ?1124次閱讀
    docker-compose<b class='flag-5'>配置文件</b>內容詳解以及常用命令介紹

    中科達榮獲2024年軟件和信息技術服務優秀企業

    及前百家企業”名單。中科達憑借非凡的技術實力與持續的創新能力,成功入選“2024年度軟件和信息技術服務競爭力百強企業”以及“2024年軟件和信息技術服務優秀企業”。
    的頭像 發表于 10-30 11:44 ?557次閱讀

    springboot的項目如何既要用jar包啟動,同時還可以為不同的機房設置不同的配置文件

    作者:京東科技 李意文 1、首先先把配置文件從jar中抽離 示例代碼: ? org.apache.maven.plugins maven-jar-plugin 3.2.0
    的頭像 發表于 10-19 16:48 ?584次閱讀
    springboot的項目如何既要用jar包啟動,同時還可以為不同的機房設置不同的<b class='flag-5'>配置文件</b>

    HID over GATT配置文件(HOGP)低功耗藍牙

    電子發燒友網站提供《HID over GATT配置文件(HOGP)低功耗藍牙.pdf》資料免費下載
    發表于 09-26 11:01 ?1次下載
    HID over GATT<b class='flag-5'>配置文件</b>(HOGP)低功耗藍牙

    確定LDO的任務配置文件兼容性

    電子發燒友網站提供《確定LDO的任務配置文件兼容性.pdf》資料免費下載
    發表于 09-24 10:44 ?0次下載
    確定LDO的任務<b class='flag-5'>配置文件</b>兼容性

    鴻蒙開發Ability Kit程序框架服務:FA模型應用配置文件

    應用配置文件中包含應用配置信息、應用組件信息、權限信息、開發者自定義信息等,這些信息在編譯構建、
    的頭像 發表于 06-24 14:49 ?411次閱讀
    鴻蒙開發Ability Kit<b class='flag-5'>程序</b>框架服務:FA模型應用<b class='flag-5'>配置文件</b>

    鴻蒙開發:【Stage模型應用配置文件

    應用配置文件中包含應用配置信息、應用組件信息、權限信息、開發者自定義信息等,這些信息在編譯構建、
    的頭像 發表于 06-15 09:15 ?1779次閱讀
    鴻蒙開發:【Stage模型應用<b class='flag-5'>配置文件</b>】

    使用Docker部署Go Web應用程序步驟

    大多數情況下Go應用程序被編譯成單個二進制文件,web應用程序則會包括模版和配置文件。而當一個項目中有很多文件的時候,由于很多
    發表于 04-20 09:33 ?550次閱讀
    使用Docker部署Go Web<b class='flag-5'>應用程序</b>步驟

    RX78M組 EtherCAT ETG.5003示例程序固件信息技術

    電子發燒友網站提供《RX78M組 EtherCAT ETG.5003示例程序固件信息技術.pdf》資料免費下載
    發表于 02-21 14:22 ?1次下載
    RX78M組  EtherCAT ETG.5003示例<b class='flag-5'>程序</b>固件<b class='flag-5'>信息技術</b>

    支持CiA402驅動器配置文件的示例程序用于通過EtherCAT?通信進行電機控制

    電子發燒友網站提供《支持CiA402驅動器配置文件的示例程序用于通過EtherCAT?通信進行電機控制.pdf》資料免費下載
    發表于 02-21 14:21 ?2次下載
    支持CiA402驅動器<b class='flag-5'>配置文件</b>的示例<b class='flag-5'>程序</b>用于通過EtherCAT?通信進行電機控制

    Linux系統中的配置文件

    系統文件,用于配置主機名與 IP 地址的映射關系。當系統需要解析主機名時,會首先查找 /etc/hosts 文件,如果在該文件中找到了相應的映射關系,則直接使用對應的 IP 地址進行通
    發表于 02-19 17:36 ?1393次閱讀
    主站蜘蛛池模板: 天天干狠狠插 | 深夜网站免费 | 国产三级一区 | 女人被男人免费播放网站 | 涩涩高清无乱码在线观看 | 国产精品亚洲色图 | 成人国产一区 | 免费一级毛片清高播放 | 亚洲精品456人成在线 | 丁香六月激情 | 夜夜bb | 免费在线观看黄 | 特级全毛片 | 国产特黄1级毛片 | 俄罗斯一级成人毛片 | 噜噜噜噜天天狠狠 | 亚洲一区二区三区中文字幕5566 | 国产色啪午夜免费视频 | yy6080亚洲半夜理论一级毛片 | 午夜老司机永久免费看片 | 97视频碰碰车 | 欧美精品一级 | 特级全黄一级毛片视频 | 在线观看免费xx高清视频 | 五月情婷婷 | 国产综合图片 | 亚洲精品久久片久久 | 黄色四虎影院 | 黄色网址大全免费 | 波多野结衣在线网站 | 成 人 色综合 | 亚洲色图综合在线 | 久久天天躁夜夜躁狠狠85麻豆 | 日本黄色激情视频 | 在线天天干 | 国产女人在线观看 | 久久久久久久久久久9精品视频 | 精品精品国产自在久久高清 | 三级色网站 | 精品二区| 午夜69成人做爰视频网站 |