这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 讨论:怎样实现应用程序的在线远程升级

共16条 2/2 1 2 跳转至
菜鸟
2002-10-11 20:24:00     打赏
11楼
我的想法是: 1。用bootrom通过网络下载debug时的vxworks内核映象,建立调试环境,bootrom中已经创建了TFFS文件系统。 2。建立一个downloadable的项目,加入通过ftp获取PC机上的vxworks内核+application映象文件的代码。 3。用常规的文件打开,写,关闭完成映象文件写入flash。 4。更改bootrom的启动方式(从网络改为tffs),写入,OK。 是有点麻烦,以后更新就很方便了。不知还有没有更好的方法??我现在还没试过从tffs上启动内核,不知xiaohua兄作过没有? [em21][em21]

菜鸟
2002-10-14 19:13:00     打赏
12楼
Thank you for your reply, and it's a good advice! But how can I spawn a task [color=#DC143C]linked [/color]with vxworks kernel? Best Regards

菜鸟
2002-10-15 01:51:00     打赏
13楼
这和我们前面讨论的方法非常接近,谢谢!

菜鸟
2002-10-18 18:05:00     打赏
14楼
我马上试试,非常感谢vxfree兄的帮助!每次都能从你那儿学到一些新东西,真是太高兴了![em27][em27]

菜鸟
2002-10-18 22:03:00     打赏
15楼
成功啦!超级终端打印出“ld_test_obj called, param=beef”的信息。 厉害!!!vxfree兄,我对你的佩服如滔滔江水奔流不息,如黄河泛滥一发不可收拾□□□□□(此处省掉5000字)。   言归正传,现在远程升级应用程序的基本方法可以归纳如下。 第一种方法:采用bootrom + vxworks + application   1。创建tffs文件系统。   2。创建bootable型的一个项目,在usrAppInit()中加入vxfree兄的test代码(对入口程序名自行更改),生成vxworks映象。   3。创建downloadable型的一个项目,这就是你的application!生成.out文件。   4。通过网络将这两个文件写入已经创建了tffs文件系统的flash。   5。更改bootrom的引导行(见前面的帖子),使其从tffs引导系统。   6。通过编译器烧写bootrom.hex到bootrom芯片(或者和vxworks共用一片flash但要用tffsBootImagePut()来完成)。   7。重启,OK。   以后直接通过网络更新tffs下的.out文件,重启就完成升级。这种方法的缺点在于占用vxworks空间较大,光vxworks映象就有1M多点,bootrom又是1百多K,优点在于启动速度快! 第二种方法: vxworks_romCompress + application 1。创建tffs文件系统。   2。创建bootable型的一个项目,在usrAppInit()中加入vxfree兄的test代码(对入口程序名自行更改),生成vxworks_romCompress 映象。 3。创建downloadable型的一个项目,这就是你的application!生成.out文件。 4。通过网络用tffsBootImagePut()来将vxworks_romCompress写入已经创建了tffs文件系统的flash,而.out文件则直接用文件操作写入。   5。重启,OK。   以后更新应用程序同第一种方法。这种方法的优点在于省空间,缺点是启动慢一点,因为要解压。这种方法我没有试过,只是按理论来说的,应该可行。   问一个问题:如果要把第一种方式的映象进行压缩,然后解压运行,不知该如何进行?? ----------------------------------------------------------------------------- 刚才不知怎么连不上论坛了,害得我帖了N遍。。。。:(

工程师
2002-10-19 00:01:00     打赏
16楼
呵呵,恭喜!!

共16条 2/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]