新闻中心

EEPW首页 > 物联网与传感器 > 设计应用 > S12单片机模块应用及程序下载调试

S12单片机模块应用及程序下载调试

作者:清华大学Freescale单片机/DSP应用开发研究中心 安鹏 马伟时间:2009-06-23来源:电子产品世界收藏

  下载用户程序至片内资源是监控程序的基本功能。清华大学Freescale MCU & DSP应用研发中心开发的基于MC9S12DG128的监控程序代码小于4KB,起始地址为$F000处,它把$FF80的中断向量表移到EF80处,顺序不变。用户可以使用$EF80处的中断向量表,此中断向量表和MC9S12DG128手册上的中断向量表顺序相同,只是从$FF80移到了$EF80。监控程序起来时,如果串口在4秒内没有收到数据,就会检查$EFFE-$EFFF(用户复位向量表)是否为FFFF,如果不是,说明FLASH中有用户程序。程序自动调转到$EFFE-$EFFF所指向的用户程序。如果程序起来4秒内串口接到数据或者$EFFE-$EFFF为$FFFF,则进入DEBUG监控程序。

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

  该监控程序中F命令下载程序到FLASH中,可识别S1或S2格式的S19文件。按“F”键后,开发板上的单片机等待接收来自串行口的数据文件。然后选择“发送” -→“发送文本文件”,找到要下载的*.S19文件,按“打开(O)”,这样,就把文件下载到FLASH中去了。注意,文件类型应选“所有文件”。待再次出现提示符说明程序已下载完成。

  从PC寄存器的地址处,开始运行程序。可以用Ctrl P 命令修改PC指针到拟运行程序的起始地址。如果是汇编的代码从下载地址开始执行即可;但如果是C语言编译生成的代码,需要加29后的地址再执行。这是因为工程是从START12.C开始执行,然后再执行用户的main.c。这是codewarrior内部规定的。用户只需要知道就可以了。用户程序的入口地址是用户在default.prm文件中定义的代码地址加上29。

  然后键入“G”命令。这时便可以执行用户程序了。如果用户程序中无法从主循环中跳出,需要停止用户程序的时候按一下复位键即可。

  5 利用“BDM for S12(TBDML)”调试程序

  当用户在监控程序的帮助下,熟悉了S12单片机的性能和结构,并能初步开始软硬件的设计后,就可以脱离监控程序了,尤其是对于一个完整的项目,就更要直接对硬件进行调试而脱离监控程序。S12系列单片机采用BDM(Background Debug Mode,背景调试模式)调试方式。在BDM模式下主要可以实现3方面的功能:

  • 应用程序的下载与在线更新
  • 单片机内部资源的配置与修复
  • 应用程序的动态调试

  本中心提供面向S12系列单片机的BDM工具,即“BDM for S12(TBDML)”。该工具的硬件由本中心设计,软件采用Daniel Malik设计的TBDML(forums.freescale.com)。本文仅从用户的角度,讲述“BDM for S12(TBDML)”的使用方法以及常见问题的解决办法。详情请登陆本中心网站,并下载最新版本的“BDM for S12(TBDML)”用户手册。

  5.1 BDM for S12(TBDML)硬件设置说明:

  BDM for S12(TBDML)设计了跳线开关,允许用户对BDM for S12(TBDML)进行一些特定的设置,以此满足用户的特定要求。打开BDM for S12(TBDML)硬件包装盒,可以看到有3个跳线可以进行设置,分别是J4、J5和J6。

  BDM引脚定义(跳线J4)
  跳线J4用于选择BDM电缆的信号定义。
  默认状态为J4闭合。

  • 当J4闭合(有跳线)时,BDM电缆的信号定义如图1所示;
  • 当J4断开(无跳线)时,BDM电缆的信号定义如图2所示。  

 

  注意:图3是Motorola(Freescale)对HC/S12 BDM的定义,即引脚1为BKGD信号,在这种定义方式,一旦BDM插头被接反,则目标CPU的BKGD引脚会被短接到VDD上,由此将会造成芯片烧毁。因此,BDM for S12(TBDML)建议用户在设计目标S12系统时,采用J4断开,即图2所示的BDM电缆信号定义方式。为兼容过去的BDM定义,BDM for S12(TBDML)设计了图1所示的BDM兼容模式。

  目标板供电方式选择 ( 跳线J5和J6)

  默认状态是目标板由+5V外部电源供电。跳线J5、J6用于选择目标板的工作电压,以及供电方式。J5、J6跳线具体设置如表1所示。



评论


相关推荐

技术专区

关闭