www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] 看到有很多網(wǎng)友詢問在vxworks下如何實(shí)現(xiàn)在線升級,逐一答復(fù)了多次,還是沒能說明白。因此決定把自己以前實(shí)際做的過程描述一下,希望能對大家有所幫助。如有不妥之處,請指

 看到有很多網(wǎng)友詢問在vxworks下如何實(shí)現(xiàn)在線升級,逐一答復(fù)了多次,還是沒能說明白。因此決定把自己以前實(shí)際做的過程描述一下,希望能對大家有所幫助。如有不妥之處,請指出。本人曾經(jīng)在ppc860T, ppc850, pentium-pc104(加doc2000)的目標(biāo)機(jī)上實(shí)現(xiàn)過。

1 首先,需要在目標(biāo)機(jī)上實(shí)現(xiàn)文件系統(tǒng),比如使用trueFFS,用dosFS初始化tffs設(shè)備。在完成tffs驅(qū)動之后,可以調(diào)用usrTffsConfig(0,0,"/flash");如果成功,在shell下調(diào)用devs命令,應(yīng)該能夠看到 /flash設(shè)備。

2 板子上首先應(yīng)該有bootrom,如果沒有,使用仿真器寫入。

3 讓板子flash中的bootrom啟動,通過網(wǎng)絡(luò)加載vxworks。更新vxworks,應(yīng)該使目標(biāo)機(jī)在vxworks操作系統(tǒng)的支撐之下。即在運(yùn)行vxworks時更

新存儲在flash中的vxworks映象。

該vxworks中應(yīng)該包含tffs組件,并用usrTffsConfig創(chuàng)建一個tffs設(shè)備。如果創(chuàng)建不成功,先調(diào)用sysTffsFormat格式化該設(shè)備,再創(chuàng)建。

這個vxworks中,應(yīng)該包含下列代碼(也可以啟動完畢之后,通過target server動態(tài)下載):

STATUS myftp(char* host, char* user, char* passwd, char* srcFile, char* desFile)

{

int fd, total = 0;

int ctrlSock;

int dataSock;

char buf [1024];

int nBytes;

remove ( desFile);

fd=open(desFile,0x202,0);

if (ERROR==fd)

{

return ERROR;

}

if (ftpXfer (host,user,passwd , "", "RETR %s",NULL, srcFile, &ctrlSock, &dataSock) == ERROR)

{

return (ERROR);

}

while ((nBytes = read (dataSock, buf, 512)) > 0)

{

total += nBytes;

write(fd, buf, nBytes);

}

close(fd);

close (dataSock);

close (ctrlSock);

if(total > 0)

{

return ERROR;

}

return OK;

}

各參數(shù)的含義為:

char* host: 主機(jī)ip地址,該主機(jī)上存放了最新的vxworks映象。

char* user: ftp的用戶名。

char* passwd: ftp的密碼。

char* srcFile: 主機(jī)上vxworks映象的文件名,通常為vxworks。

char* desFile: 目標(biāo)機(jī)上存放的vxworks文件名,通常為vxworks。

4 由于后面vxworks將從tffs中加載,而不是通過網(wǎng)絡(luò),因此應(yīng)該在usrAppInit中初始化網(wǎng)絡(luò)接口。

在tornado2.0.x下可以這樣做:

usrNetEndDevStart("cpm",0);

usrNetIfConfig("cpm",0,"192.168.0.240","cpm",0xffffff00);

在tornado2.2.x下,可以這樣做:

ipAttach(0,"cpm");

ifMaskSet ("cpm0", 0xffffff00);

ifAddrSet ("cpm0","192.168.0.240");

5 目標(biāo)機(jī)啟動完畢之后,在某一臺主機(jī)上打開ftp server,該主機(jī)上存放了最新的vxworks映象文件。此外,還應(yīng)該創(chuàng)建一個用戶,比如用戶名和密碼均為“target”,設(shè)置它的home directory為最新的vxworks的路徑。

6 在目標(biāo)機(jī)的target shell中執(zhí)行myftp,比如:myftp("192.168.0.1", "target", "target", "vxWorks", "vxWorks")如果執(zhí)行成功,返回OK(0),否則為ERROR(-1)。不成功,則檢查網(wǎng)絡(luò)和ftp服務(wù)器端的服務(wù)和配置。

這樣,新的vxworks就存放于tffs設(shè)備中,需要重新啟動目標(biāo)機(jī),使其運(yùn)行新的vxworks(本文中的vxworks既包含了操作系統(tǒng),也包含了用戶應(yīng)用程序)。

7 我們需要更新bootrom,使目標(biāo)機(jī)加電后直接從tffs設(shè)備中加載vxworks。為此,修改bsp的config.h文件:

#define DEFAULT_BOOT_LINE \

"tffs=0,0(0,0)host:/flash/vxWorks h=192.168.0.118 e=192.168.0.120 u=target pw=target"

#define INCLUDE_TFFS

#define INCLUDE_DOSFS

如果是在tornado2.0.x下,還需要修改 \target\config\comps\src\net\usrNetBoot.c文件:

if ( (strncmp (sysBootParams.bootDev, "scsi", 4) == 0)

|| (strncmp (sysBootParams.bootDev, "ide", 3) == 0)

|| (strncmp (sysBootParams.bootDev, "ata", 3) == 0)

|| (strncmp (sysBootParams.bootDev, "fd", 2) == 0))

改為:

if ( (strncmp (sysBootParams.bootDev, "scsi", 4) == 0)

|| (strncmp (sysBootParams.bootDev, "ide", 3) == 0)

|| (strncmp (sysBootParams.bootDev, "ata", 3) == 0)

|| (strncmp (sysBootParams.bootDev, "tffs", 4) == 0)

|| (strncmp (sysBootParams.bootDev, "fd", 2) == 0))

8 build bootrom,生成可以使用的bootrom.bin文件。在這一步之前,應(yīng)該首先make clean。

9 更新bootrom時,我們可以直接使用vxworks中FTP Client和Network Remote I/O Support組件。為此,需要使當(dāng)前正在運(yùn)行的vxworks是通

過網(wǎng)絡(luò)加載的,這樣vxworks啟動完畢之后,當(dāng)前默認(rèn)路徑是主機(jī)上vxworks映象文件所在的目錄,可以用pwd和ls命令查看。把上一步中生成的

bootrom.bin文件拷貝到該目錄下。該主機(jī)上同樣需要啟動ftp server服務(wù)。

10 在目標(biāo)機(jī)的target shell中執(zhí)行

tffsBootImagePut 0,0x100,"bootrom.bin"

正常情況下就可以通過tffs文件系統(tǒng)在線更新了bootrom,使其從tffs設(shè)備中加載vxworks。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

中國深圳2025年8月26日 /美通社/ -- 2025年8月26日,中集車輛(301039.SZ)召開2025年中期業(yè)績說明會。2025年上半年,中集車輛穩(wěn)健前行,實(shí)現(xiàn)營收97.5億元,毛利達(dá)14.6億元,加速演化成星...

關(guān)鍵字: 電動 EV 新能源 供應(yīng)鏈

上海2025年7月28日 /美通社/ -- 為期四天的2025國際低空經(jīng)濟(jì)博覽會于7月26日圓滿落幕。作為聚焦低空經(jīng)濟(jì)全產(chǎn)業(yè)鏈為核心的國際性展會,本屆博覽會以"啟航低空經(jīng)濟(jì),賦能千行百業(yè)"為主題,吸引...

關(guān)鍵字: EV 無人機(jī) 飛機(jī) 飛行器

上海2025年7月25日 /美通社/ -- 昨日,在首屆上海國際低空經(jīng)濟(jì)博覽會現(xiàn)場,昂際智航與翊飛航空科技正式簽署ES1000型號鐵鳥及101工程實(shí)驗(yàn)樣機(jī)飛控電子集成和試飛支持合同。此次采購合同簽署標(biāo)志著雙方自2024年...

關(guān)鍵字: 運(yùn)輸機(jī) 飛控系統(tǒng) EV ST

以 AI 為核心的智能汽車平臺將加速向軟件定義出行的轉(zhuǎn)型進(jìn)程 德國埃朗根 2025年6月25日 /美通社/ -- Elektrobit 今日宣布與全球領(lǐng)先的電子制造商之一——鴻??萍技瘓F(tuán)(富士康)...

關(guān)鍵字: 汽車 軟件定義 OS EV

5月19日消息,據(jù)日經(jīng)中文報道,日產(chǎn)汽車5月9日發(fā)布消息稱,將放棄在日本國內(nèi)建設(shè)該公司首座純電動汽車(EV)電池工廠的計劃。由于業(yè)績不佳,日產(chǎn)認(rèn)為很難進(jìn)行巨額投資。

關(guān)鍵字: EV 新能源

-CleverTap收購rehook.ai,加強(qiáng)人工智能驅(qū)動的促銷和客戶留存能力 整合rehook.ai的創(chuàng)新促銷引擎,統(tǒng)一分析、互動和促銷,促進(jìn)人工智能驅(qū)動的營銷活動和客戶留存 舊金山和印度孟買2025年4月16日...

關(guān)鍵字: EV AI 智能驅(qū)動 人工智能

北京2025年4月9日 /美通社/ -- 隸屬于AVEVA 劍維軟件集團(tuán)旗下的泰爾文特控制系統(tǒng)(中國)有限公司(以下簡稱"泰爾文特")獲得"北京市外資研發(fā)中心"認(rèn)定,并于2025中...

關(guān)鍵字: 控制系統(tǒng) 研發(fā)中心 軟件 EV

蘇州2025年3月31日 /美通社/ -- 在生育友好消息頻傳之際,專注于生育健康全產(chǎn)業(yè)鏈的輔助生殖IVD第一股貝康醫(yī)療發(fā)布2024年度成績單,表現(xiàn)亮眼。公司全年實(shí)現(xiàn)收入近3億元,同比激增44%,標(biāo)志著其國際化全產(chǎn)業(yè)鏈戰(zhàn)...

關(guān)鍵字: 管線 EV 網(wǎng)絡(luò) 矩陣

上海2025年1月20日 /美通社/ -- 近日,奕行智能科技(廣州)有限公司(以下簡稱"奕行智能")宣布完成數(shù)億元人民幣A輪融資。本輪融資由老股東東方富海管理的國家中小企業(yè)發(fā)展基金領(lǐng)投,獅城資本和火...

關(guān)鍵字: 芯片 RISC-V EV 創(chuàng)始人

拉斯維加斯2025年1月10日 /美通社/ -- CES 2025期間,黑芝麻智能與自動駕駛技術(shù)公司Nullmax達(dá)成重要合作里程碑。雙方基于黑芝麻智能武當(dāng)C1200家族芯片推出BEV無圖方案,實(shí)現(xiàn)NOA領(lǐng)航輔助、記憶行...

關(guān)鍵字: 芯片 LM EV 智能汽車
關(guān)閉