这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » [原创]TFFS和在线升级

共5条 1/1 1 跳转至

[原创]TFFS和在线升级

菜鸟
2007-05-23 16:29:52     打赏

1 TFFS文件系统。使用FLASH有三个目的:保存bootRom 保存vxWorks镜像 保存数据。

bootRom通过判断输入(@)或程序中的开关来决定自启动还是从FLASH或其他如硬盘启动;

如果有bootRom,则保存的是vxWorks,如果没有bootRom,则是vxWorks_rom类型;

在应用中使用TFFS对FLASH进行操作,用来删除或保存数据。

2 在线升级。产品的最终版本应该是bootRom+vxWorks。在bootRom中,在bootCmdLoop中,检测硬件开关或 跳 线,判断是从TFFS加载vxWorks还是从网口加载,如果是从网口加载,则意味着要更新vxWorks。此时在bootLoad之后,不调用go (entry),而是将下载到RAM中的vxWorks再写到FLASH中。这样就完成了在线升级。

3 疑问。从RAM中拷贝vxWorks时,还要判断文件的大小,有点麻烦。
如何实现TFFS文件系统?
实现在线升级,有没有更好的方法?




关键词: 原创     在线升级    

菜鸟
2007-05-23 20:00:00     打赏
2楼

按照你的做法,ftp(或者tftp)下载vxworks文件是可以从中获取文件大小的。

不过既然有文件系统,系统升级可以不用这么麻烦:通常情况下(不出现故障),始终使用tffs启动系统,在VxWorks映象中添加ftp服务器,用windows的ftp客户端上传vxworks文件即可。下载完重启就好了。


菜鸟
2007-05-23 22:45:00     打赏
3楼
谢谢!但是一旦上传失败怎么办?VxWorks镜像就会不正常。

菜鸟
2007-05-24 00:13:00     打赏
4楼
对,你可以做一些规则, 修改一下ftp服务器的源码,检测如果是VxWorks系统映象文件的话,就做一下文件校验,校验成功再修改,也可以强制不能覆盖原来文件,上传上去后,必须手动删除原来的,把新的重名,都可以在ftp客户端里面进行。甚至可以添加一个文件校验的自定义ftp命令,也比较方便。

菜鸟
2007-05-24 20:52:00     打赏
5楼

yaopg斑竹的方法很好!很高级!!!

不过我觉得可以有一个比较简单的方法(但必须保证FTP功能是完善的),一旦上传失败(FTP完善的话这只是偶尔现象),你可以从网口加载新的映像,这样系统起来后,再利用FTP上传新的映像到指定文件系统中!我试过的,不错!

说明:FTP(完善)上传基本没有失败的情况出现,有的只是自己的应用程序代码出现错误导致系统启动错误,只能从网口加载了~~


共5条 1/1 1 跳转至

回复

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