新闻中心

EEPW首页 > 汽车电子 > 设计应用 > 56F8013程序Flash的在线可编程特性及应用

56F8013程序Flash的在线可编程特性及应用

作者:卓晴时间:2012-08-21来源:电子产品世界

  摘要: 本文在介绍56F8013的Flash编程方法的基础之上,描述一种它的自举程序()实现方法。该方法应用在竞赛直立车模控制系统开发过程中,加快了车模现场调试的过程。该方法原理同样适应于公司数字信号控制器系列其它单片机开发。

本文引用地址:http://www.eepw.com.cn/article/135966.htm

  竞赛要求必须采用公司的微控制器作为控制单元的核心芯片,数字信号控制器(DSC)系列具有运算速度快、功耗低、外围设备丰富等特点,非常适合竞赛车模控制。在竞赛秘书处提供的直立车模控制参考方案中就采用了DSC56F8013芯片组成控制核心电路[1]。该芯片不仅内部硬件资源可以满足车模控制要求,而且它的软件开发环境Codewarrior中的PE(Processor Expert)可以自动生成芯片中各硬件模块的接口代码,使得开发者只需关注应用软件的开发,这样便可以提高软件的开发效率和准确性。

  在DSC56F8013的程序开发和调试中,可以使用专用的JTEG调试工具,这种方式在车模控制系统开发中具有一定缺点。车模现场调试中,单片机的代码和参数需要频繁的进行更新,使用JTEG调试工具,调试接头的引线很多,插拔接头不便。特别是无法在车模运行时实时监测内部程序控制参数。

  自举程序()设计

  实现IAP过程中,一般将更新程序功能的代码设计成独立的自举程序()模块。将它烧写在单片机内部特定的位置。

  通过自举程序下载单片机程序的系统硬件连接如图1所示。  

 

  56F8013电路板通过串口电平转换器与上位计算机相连。这个串口既可以下载单片机应用程序,同时也可以对单片机程序运行进行监控。实现Bootloader功能包括单片机程序和上位计算机的下载程序两部分,下面分别进行介绍。

  Bootloader程序的功能描述和开发

  根据上述代码空间划定,单片机在复位之后,首先执行Bootloader程序,在Bootloader程序中,先检查在一定时间内(一般设置为100ms左右)是否接受到用户通过串口发送的0x55数据。如果受到了0x55数据,并在最后由0xaa数据结束,便进入Bootloader命令状态,接受相应的程序下载指令,进行程序的更新。否则便从0x1AFF读取用户程序的起始地址,开始执行用户程序。具体的启动过程如图3所示。  

 

  也可以通过设定一定的触发条件从用户程序直接跳转至Bootloader程序。在Bootloader命令状态下,可以接收上位计算机发送一组处理命令,如表1所示。上位机程序通过上述三个基本命令便可以完成对56F8013内部Flash的编程。  

 

  开发Bootloader程序可以在CodeWarrior提供创建新工程文件serial_bootloader模板基础上进行改写完成。模板serial_bootloader提供了Bootloader程序所必需的串口通讯、Flash读写子程序[3]。特别是Flash访问程序比起PE生成的子程序更加简捷。虽然在serial_bootloader模板中已经可以直接接收通过超级终端发送的S-记录格式的单片机程序完成程序的下载功能,但效率低,而且用户程序开发不方便。通过重新改写之后,可以直接下载程序的二进制代码,可以提高下载速度,方便用户程序开发。


上一页 1 2 下一页

评论

技术专区

关闭