共4条
1/1 1 跳转至页
TFFS和在线升级

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文件系统?
实现在线升级,有没有更好的方法?
关键词: 在线升级

实现在线升级的方法有很多。之所以用bootrom+VxWorks是因为想把固化的东西最小化,而达到最大可调节的效果。其实,如果Vxworks映像配置得足够小的话,可以考虑一次启动VxWorks。因为,毕竟bootrom本身就是一个VxWorks系统,bootrom+VxWorks相当于两次启动了VxWorks系统。如果单次启动的话,可以考虑把不能固化,经常需要修改的部分不编译到OS映像中,而是启动之后,等MMU CACHE都使能之后,在动态加载,至于如何加载,可以通过编写配置文件和配置解析器来实现,这样一来,系统启动速度快,可配置性强,OS映像的作用是提供一个OS该有的软件性功能和最基本的硬件驱动,而与应用相关的驱动,中间件,和应用程序则放在与OS映像不同的地方,要么是磁盘文件,如果可以实现任何形式的非易失性文件系统的话,要么是FLASH中的一段地址。。仅供参考。哎,在内蒙出差,上网困难,苦啊。
共4条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
【STM32F769】AI之与本地deepseek对接被打赏50分 | |
Buck电路工作在CCM模式下电感电流的计算公式是什么?被打赏5分 | |
buck电路工作原理被打赏5分 | |
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏100分 | |
我想要一部加热台+多合一调试工具被打赏18分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 | |
【换取手持数字示波器】树莓派PICO调试器官方固件本地化部署实践被打赏24分 | |
【换取手持数字示波器】分享一个KEIL无法识别CMSIS-DAP调试器的解决办法被打赏20分 | |
【换取手持数字示波器】分享一个自制的ArduinoNano扩展板底板被打赏23分 | |
【换取手持示波器】树莓派PICOW网页烟花被打赏18分 |