在线观看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

    文章

    6094

    瀏覽量

    36056
收藏 人收藏

    評論

    相關推薦

    Profibus DP主站轉Modbus TCP網關配置文件制作

    Profibus DP主站轉Modbus TCP網關配置文件制作
    的頭像 發表于 04-02 13:06 ?92次閱讀
    Profibus DP主站轉Modbus TCP網關<b class='flag-5'>配置文件</b>制作

    Web Bluetooth SPP(串行端口配置文件)示例

    電纜替代(Cable Replacement)通常指的是通過無線技術,如低功耗藍牙(Bluetooth LE)替代傳統的有線連接,例如串行端口配置文件(Serial Port Profile,簡稱SPP)。
    的頭像 發表于 02-28 09:40 ?359次閱讀

    基于HPM_SDK_ENV開發應用程序的升級處理

    )以及工程創建工具等文件。用戶基于HPM_SDK_ENV開發自己的應用程序時需要考慮如何維護板級配置文件應用程序文件的問題。以下3種維護方式:用戶將自己的板級
    的頭像 發表于 02-08 13:38 ?823次閱讀
    基于HPM_SDK_ENV開發<b class='flag-5'>應用程序</b>的升級處理

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

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

    配置Skywalking告警

    Skywalking環境 對接.NET6 程序 接入微服務網關+后臺微服務 添加依賴 拷貝配置文件并簡單修改 在launch
    的頭像 發表于 01-16 10:58 ?371次閱讀
    <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 ?566次閱讀

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

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

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

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

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

    作者:京東科技 李意文 1、首先先把配置文件從jar中抽離 示例代碼: ? org.apache.maven.plugins maven-jar-plugin 3.2.0
    的頭像 發表于 10-19 16:48 ?722次閱讀
    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 ?525次閱讀
    鴻蒙開發Ability Kit<b class='flag-5'>程序</b>框架服務:FA模型應用<b class='flag-5'>配置文件</b>

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

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

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

    大多數情況下Go應用程序被編譯成單個二進制文件,web應用程序則會包括模版和配置文件。而當一個項目中有很多文件的時候,由于很多
    發表于 04-20 09:33 ?654次閱讀
    使用Docker部署Go Web<b class='flag-5'>應用程序</b>步驟
    主站蜘蛛池模板: 天天草综合 | 午夜肉伦伦影院在线观看 | 色午夜在线 | 黑人一区二区三区中文字幕 | 亚洲国产成人久久笫一页 | 三级网站在线播放 | aaa视频| 激情六月网 | 澳门久久精品 | 丝袜紧身裙国产在线播放 | 99久久免费精品高清特色大片 | 在线视频 一区二区 | 狠狠色丁香婷婷综合最新地址 | 欧美一区二区三区免费高 | 欧美人与z0zoxxxx特 | 亚洲理论片 | 午夜视频你懂的 | 日本特黄色大片 | 看逼网址 | 奇米777狠狠| 种子 在线播放 | 青青草99热久久 | 午夜视频你懂的 | 国产精品久线观看视频 | 久久亚洲国产欧洲精品一 | 永久免费人成网ww555kkk手机 | 久久在精品线影院精品国产 | 夜夜春夜夜夜夜猛噜噜噜噜噜 | 日日夜夜狠狠干 | 首页 亚洲 欧美 制服 丝腿 | 免费精品一区二区三区在线观看 | 国产精品莉莉欧美自在线线 | 男校霸把男校草玩出水男男 | 人与牲动交bbbbxxxx | 国产精品久久精品牛牛影视 | 日本s色大片在线观看 | 亚洲国产精品国产自在在线 | 在线精品91青草国产在线观看 | 日日夜夜操天天干 | 成年黄网站免费大全毛片 | 校园 春色 欧美 另类 小说 |