英创嵌入式
400万+工程师在用
华为|鸿蒙开发者日
直播报名
400万+工程师在用
华为|鸿蒙开发者日
直播报名

emtronix

4年用户 413经验值
擅长:嵌入式技术
私信 关注
[热门应用]

WinCE应用程序在英创主板上的可靠启动

2016-12-22 10:04

  ESM335x是一款面向工业领域的高性价比嵌入式主板,以ti的AM3354为其硬件核心,ESM335x通过预装完整的操作系统接口驱动,为用户构造了可直接使用的通用嵌入式核心平台。


  WEC7系统平台下,用户应用程序开发直接使用microsoft提供的著名软件开发工具Visual Studio 2008进行, 用户应用程序开发完成后,参考《ESM335x工控主板使用必读(WEC7)》一文可设置板卡自动运行用户应用程序模式。在实际应用中,由于种种原因可能会导致用户应用程序的损坏或丢失,从而导致用户程序无法正常启动,本文着重介绍一个确保应用程序安全启动的方案以及操作过程。


  在这个方案中首先是要考虑用户应用程序的备份,在运行模式下,用户程序都是下载到335x系统的\\Nandflash目录进行启动的,安全启动用户程序的方案中需要用一个外设存储器microsd卡或USB,首选用MicroSD卡,用来存储应用程序以及相关文件的备份,备份目录的名称统一为\\update。


  在SD卡或USB上建好\\update 目录,然后将所有应用程序及相关文件复制到该目录下,注意该目录下一定要包含有userinfo.txt。


  应用程序启动失败一般有两种情况,一种是userinfo.txt或者应用程序exe文件丢失,一种是应用程序exe文件损坏。该方案均可实现这两种异常情况的自动恢复功能,其中exe文件是否损坏是通过验证exe文件的CRC32来进行判断,对执行文件exe进行CRC验证不是系统的缺省配置,需要调用系统内部的工具程序gcrc32.exe对CRC32验证功能进行使能。使能的方法为:telnet登录到ESM335x板卡,然后执行gcrc32程序,如:



  gcrc32所带参数为用户应用程序的文件名(这里为sysinfo.exe),文件名称无需带上所在存储设备的路径名称,即该文件在\\Nandflash 、\\SDMemory或\\USBDisk 目录下,gcrc32.exe运行完成后,则会在user.exe所在目录下自动生成对应的user.crc文件,并同时启动了应用程序CRC32验证功能。


  在出现上述的两种启动异常的情况下,系统则会执行自动复制备份文件到\\Nandflash 下的功能,来进行应用程序的自动恢复,如果备份文件不存在,则无法完成自动恢复功能。若在进行备份文件复制过程中出现文件COPY失败,系统则会自动对\\Nandflash进行格式化的操作,格式化后系统重启再重新进行备份文件的自动恢复。备份文件恢复成功后,系统将自动重启,重新进入到应用程序正常启动的状态。


  本方案对于EM335x、EM3352等335x系列主板同样有效。


回帖(1)

更多回帖

打开APP