那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)應(yīng)用程序及配置文件的生產(chǎn)自動(dòng)拷貝簡(jiǎn)介

英創(chuàng)信息技術(shù) ? 來(lái)源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-02-07 11:03 ? 次閱讀

為了幫助用戶提高生產(chǎn)測(cè)試效率,我們提供了代為客戶拷貝應(yīng)用程序的服務(wù),在主板出廠之前我們會(huì)將用戶提交的所有程序和文件拷貝到用戶指定的系統(tǒng)目錄中,用戶拿到主板后可直接裝機(jī)測(cè)試,大大節(jié)省了生產(chǎn)測(cè)試時(shí)間。客戶也可參考此方法,在自己的整機(jī)生產(chǎn)中實(shí)現(xiàn)應(yīng)用程序及配置文件的自動(dòng)拷貝。本文以下介紹在CE平臺(tái)實(shí)現(xiàn)應(yīng)用程序及配置文件自動(dòng)拷貝的具體步驟。

英創(chuàng)主板處于調(diào)試模式啟動(dòng)時(shí),會(huì)查詢系統(tǒng)的usbdisk根目錄下是否有名為autotest.txt的配置文件,如果配置文件存在則會(huì)執(zhí)行文件中指定的exe程序,程序的拷貝正是利用系統(tǒng)的這一功能自動(dòng)實(shí)現(xiàn)的。

實(shí)現(xiàn)程序的自動(dòng)拷貝需要以下幾個(gè)步驟:

1、編寫autotest.txt配置文件

配置文件中需要指定要啟動(dòng)的exe完整路徑,同時(shí)可配置系統(tǒng)網(wǎng)口1的網(wǎng)絡(luò)參數(shù),下面是示例配置。

[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、編寫自動(dòng)配置程序

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

AutoCopy函數(shù)實(shí)現(xiàn)將當(dāng)前執(zhí)行的配置程序所在目錄的全部文件拷貝到系統(tǒng)的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;
}

英創(chuàng)主板支持開(kāi)機(jī)畫面在線更新,《WinCE工控主板在線更新開(kāi)機(jī)畫面(2017新版)》中提到的lu程序,用戶也可以在配置程序中直接調(diào)用實(shí)現(xiàn)開(kāi)機(jī)畫面的自動(dòng)更新,下面是利用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 )
{
//執(zhí)行失敗...
}

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

4、將U盤連接到英創(chuàng)主板,主板在調(diào)試模式啟動(dòng)后會(huì)自動(dòng)執(zhí)行用戶指定的配置程序,完成系統(tǒng)配置工作。

系統(tǒng)默認(rèn)只會(huì)執(zhí)行一次查詢autotest.txt啟動(dòng)配置程序的過(guò)程,如果希望這個(gè)功能總是有效,可在配置程序開(kāi)始處增加一個(gè)清除注冊(cè)表標(biāo)志的工作,當(dāng)系統(tǒng)注冊(cè)表項(xiàng)HKEY_LOCAL_MACHINE\Emtronix或HKEY_LOCAL_MACHINE\Wstartup下的Count等于0時(shí),系統(tǒng)在調(diào)試模式下就會(huì)查詢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
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6086

    瀏覽量

    35617
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何導(dǎo)出交換機(jī)的配置文件

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

    配置Skywalking告警

    Skywalking環(huán)境 對(duì)接.NET6 程序 接入微服務(wù)網(wǎng)關(guān)+后臺(tái)微服務(wù) 添加依賴 拷貝配置文件并簡(jiǎn)單修改 在launch
    的頭像 發(fā)表于 01-16 10:58 ?130次閱讀
    <b class='flag-5'>配置</b>Skywalking告警

    迅為RK3568開(kāi)發(fā)板篇OpenHarmony配置HDF驅(qū)動(dòng)控制LED-配置創(chuàng)建私有配置文件

    私有配置文件,用來(lái)填寫一些驅(qū)動(dòng)的默認(rèn)配置信息。HDF 框架在加載驅(qū)動(dòng)時(shí),會(huì)獲取相應(yīng)的配置信息并將其保存在 HdfDeviceObject 的 property 中。這些配置信息通過(guò) B
    發(fā)表于 01-10 11:13

    linux網(wǎng)卡配置文件

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

    docker-compose配置文件內(nèi)容詳解以及常用命令介紹

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

    中科創(chuàng)達(dá)榮獲2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)

    及前百家企業(yè)”名單。中科創(chuàng)達(dá)憑借非凡的技術(shù)實(shí)力與持續(xù)的創(chuàng)新能力,成功入選“2024年度軟件和信息技術(shù)服務(wù)競(jìng)爭(zhēng)力百?gòu)?qiáng)企業(yè)”以及“2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)”。
    的頭像 發(fā)表于 10-30 11:44 ?557次閱讀

    springboot的項(xiàng)目如何既要用jar包啟動(dòng),同時(shí)還可以為不同的機(jī)房設(shè)置不同的配置文件

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

    如何使用SCP和Rsync遠(yuǎn)程拷貝文件

    scp是secure copy的簡(jiǎn)寫,用于在Linux下進(jìn)行遠(yuǎn)程拷貝文件的命令,和它類似的命令有cp,不過(guò)cp只是在本機(jī)進(jìn)行拷貝不能跨服務(wù)器,而且scp傳輸是加密的。可能會(huì)稍微影響一下速度。當(dāng)你
    的頭像 發(fā)表于 09-29 15:54 ?485次閱讀

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

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

    確定LDO的任務(wù)配置文件兼容性

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

    鴻蒙開(kāi)發(fā)Ability Kit程序框架服務(wù):FA模型應(yīng)用配置文件

    應(yīng)用配置文件中包含應(yīng)用配置信息、應(yīng)用組件信息、權(quán)限信息、開(kāi)發(fā)者自定義信息等,這些信息在編譯構(gòu)建、
    的頭像 發(fā)表于 06-24 14:49 ?412次閱讀
    鴻蒙開(kāi)發(fā)Ability Kit<b class='flag-5'>程序</b>框架服務(wù):FA模型應(yīng)用<b class='flag-5'>配置文件</b>

    鴻蒙開(kāi)發(fā):【Stage模型應(yīng)用配置文件

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

    使用Docker部署Go Web應(yīng)用程序步驟

    大多數(shù)情況下Go應(yīng)用程序被編譯成單個(gè)二進(jìn)制文件,web應(yīng)用程序則會(huì)包括模版和配置文件。而當(dāng)一個(gè)項(xiàng)目中有很多文件的時(shí)候,由于很多
    發(fā)表于 04-20 09:33 ?552次閱讀
    使用Docker部署Go Web<b class='flag-5'>應(yīng)用程序</b>步驟

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

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

    支持CiA402驅(qū)動(dòng)器配置文件的示例程序用于通過(guò)EtherCAT?通信進(jìn)行電機(jī)控制

    電子發(fā)燒友網(wǎng)站提供《支持CiA402驅(qū)動(dòng)器配置文件的示例程序用于通過(guò)EtherCAT?通信進(jìn)行電機(jī)控制.pdf》資料免費(fèi)下載
    發(fā)表于 02-21 14:21 ?2次下載
    支持CiA402驅(qū)動(dòng)器<b class='flag-5'>配置文件</b>的示例<b class='flag-5'>程序</b>用于通過(guò)EtherCAT?通信進(jìn)行電機(jī)控制
    澳门百家乐官网投注法| 土豪百家乐的玩法技巧和规则| 百家乐官网开户送百元| 金殿百家乐的玩法技巧和规则| 视频百家乐官网攻略| 大发888娱乐登陆| 百家乐官网不锈钢| 安龙县| 百家乐百博亚洲| 新锦江百家乐官网娱乐平台| 皇冠现金| 百家乐必知技巧| 百家乐官网赌博技巧论坛| 太阳城娱乐城备用网址| 百家乐稳赢技法| 百家乐官网赌博网址| 宝马会娱乐城官网| 百家乐大小点桌子| 百家乐官网跟路技巧| 998棋牌游戏| 百家乐赌博论坛博客| 中国百家乐官网技巧软件| 易胜国际| 同花顺百家乐娱乐城| 四方百家乐官网的玩法技巧和规则| 新田县| 全讯网开奖| 阳宅64卦与24山| 象山县| 大发888娱乐城充值| 博E百百家乐娱乐城| 百家乐官网贴| 鼎尊国际娱乐| 金牌百家乐的玩法技巧和规则 | 百家乐官网赌博分析网| 投注平台出租| 安卓水果机游戏| 百家乐烫金筹码| 百家乐官网视频连连看| 棋牌下载| 百家乐看图赢钱|