讨论:怎样实现应用程序的在线远程升级

发布时间:2024-12-01 02:11

在线会议软件如Zoom、Teams实现远程协作 #生活常识# #科技应用#


讨论:怎样实现应用程序的在线远程升级

菜鸟

2002-10-10 19:27:23    打赏

最近一直在考虑应用程序的远程升级问题,因为通过远程的方式对于那些不方便直接“接触”的终端设备的升级几乎是必须的。设想:机场里面有几十个乃至上百个嵌入式终端监控器,且挂在天花板上,要对这些终端升级,不可能找一个梯子一个一个地爬上去接上笔记本电脑升级吧?   更可行、更好的方法就是:把笔记本电脑接入终端所在局域网找到相应终端的IP,逐个升级。如果放在flash上的代码是采用bootable这种三合一(bootrom + vxworks + application),则可能造成万一升级失败发生灾难性事故的情况。   所以我的基本思路是:采用TFFS文件系统(我已经在S3C4510B上实现了,包括文件的打开,读写,删除,列目录等,等一段时间我会专门写一篇文章),最终代码分成三个部分,1.bootrom 2.vxworks内核映象 3.应用程序.out。上电时三部分依次启动,升级时只需升级.out部分就可以了。因为TFFS文件系统具有文件写的安全措施,我们就可以不用担心应用程序升级失败了。但我还没有搞清楚关键的一步:从2到3是怎样实现的,也就是说怎样在vxworks起来后运行应用程序。其实这个过程就相当于模拟调试时的downloadable模式。真心希望大家能就此进行讨论,我想如果把这个问题解决了,对大家的水平都会有很大的提高!   先谢了!

关键词:讨论    怎样    实现    应用程序    在线    远程    升级

NXP基于i.MX处理器的工业解决方案 ,快来看看吧>>

菜鸟

2002-10-11 00:57:00    打赏

是否可以这样: BOOTROM+VxWorks Image( coff/elf )。 Target启动后,从Flash Rom的某一位置把VxWorks Image读到 Ram中开始执行,在BOOTROM中写一段擦写Flash Rom的程序,在升级的时候使用。 我在一个uClinux系统上看到的BOOTLOAD就是这么做的。


技术培训:结合超宽带测距和雷达功能以实现高级物联网应用

菜鸟

2002-10-11 01:34:00    打赏

[quote][b]以下是引用[i]xiaohua在2002-10-10 16:57:59[/i]的发言:[/b] 是否可以这样: BOOTROM+VxWorks Image( coff/elf )。 Target启动后,从Flash Rom的某一位置把VxWorks Image读到 Ram中开始执行,在BOOTROM中写一段擦写Flash Rom的程序,在升级的时候使用。 我在一个uClinux系统上看到的BOOTLOAD就是这么做的。 [/quote] 你所指的vxworks Image是只包括vxworks内核和应用程序代码吗? 这样的image该怎样生成? 好象tornado2.0只能生成bootable和downloadable两种格式的映象,不是三合一,就是赤裸裸的应用程序代码.out。


低功耗Wi-Fi解决方案在智能家居的应用和发展

菜鸟

2002-10-11 04:12:00    打赏

明白了,你的意思是用一个bootrom来启动一个带有bootrom的bootable格式的映象文件(三合一)。但我以前试过,好象这样的话系统根本起不来!我明天再试试。另,我找到将.out文件调入内存的系统调用:loadModule( )或loadModuleAt( ),它可以重定位.txt,.data,.bss段,并且可以添加系统symbol表。它可以返回三个段地址,我想.txt应该是程序入口吧(如果错了不要笑哦)?它的功能相当于debug时的download ".out"文件。但现在还是存在怎样从vxworks跳到.txt的问题。我又研究了一下bootConfig.c,它有如下一段代码: “printf ("\nauto-booting...\n\n");if (bootLoad (BOOT_LINE_ADRS, &entry) == OK) go (entry);/* ... and never return */ ” 它在bootLoad()中调用了各种启动方式下的内核文件读取,在bootLoadModule()中得到入口地址entry,然后调用go(entry)就进去了,正如它的注释一样:再也不返回了!这就是问题的所在了!接下来我们就无从由此进入我们的.out的.txt了! My god!怎么办呢?[em20][em20]


UWB - 智能物联的未来之星,快来与muRata和Qorvo聊聊你怎么看>>

菜鸟

2002-10-11 06:36:00    打赏

我的做法是, 起两次vxworks, 第一个vxworks是ROMable的, 放在flash中. 第二个vxworks 是RAMable的, 放在DOC或TFFS的flash中, 带有应用程序, 由第一个vxworks将其装入ram. 升级时, 只需升级第二个vxworks.


关于FluxLink通信技术>>

菜鸟

2002-10-11 19:32:00    打赏

好消息,我用bootrom引导采用bootable生成的项目文件vxworks居然成功了!想不到我犯了一个大大的错误:我以前生成的Image是vxworks_romCompress,当然不能成功,而生成的vxworks映象人家明明有说明: “RAM based VxWorks image, linked to RAM_LOW_ADRS. It is loaded into RAM via some external program such as a bootROM. This is the default development image.”唉,差点误人又误己!sorry! 总结一下,远程升级可采用如下方法:1。实现TFFS文件系统,在flash起始地址为bootrom保留一段空间,其余则通通作为TFFS的管理的空间。2。通过FTAG或者其它方法把已经生成的以tffs作为启动方式的bootrom文件写入flash,而vxworks内核+application则以文件的方式写入flash。3。在application中作一个守护程序,如果接收到升级的命令、密码,则将接收到的vxworks内核+application文件通过TFFS写入flash(即使失败系统也不会崩溃,重启就好了)。4。重启。   非常感谢xiaohua,gdtsunyu,AresChen,ryansheng的大力帮助!谢谢!


来Pl BridgeSwitch™ 技术中心探秘半桥电机驱动器新技术>>

菜鸟

2002-10-11 19:48:00    打赏

问题: 当我把BOOTROM写入Flash中后,怎么样实现“而vxworks内核+application则以文件的方式写入flash”? 我没有成功的做出TFFS,所以请指教! 谢谢!


更新的安森美储能、电动汽车技术看这里>>

回复

网址:讨论:怎样实现应用程序的在线远程升级 https://www.yuejiaxmz.com/news/view/330175

相关内容

python毕设百货超市在线购物小程序小程序端程序+论文
使用瘦脸应用程序在线瘦脸照片
在线分组讨论:提升在线教育互动性的有效方法
远程控制怎么样实现?在哪些场景中需要远程控制?
在线上课的小程序
24款坦克300升级的远程控制功能,你觉得表现怎么样?
远程控制软件的应用场景
程序员理想中的工作环境是什么样的?
26 个改善心理健康的应用程序
手机一按就能远程控制传祺车,原来是这样实现的

随便看看