8665|1

1148

帖子

0

TA的资源

纯净的硅(高级)

楼主
 

S12单片机模块应用及程序下载调试 [复制链接]

摘要:    本文对邀请赛选用的主控芯片MC9S12DG128单片机的一些外围接口模块作了介绍,包括功能上的描述和例程及初始化的过程,对一些参赛队伍中遇到的Flash锁死问题也提供了解决的方案。
关键词:     MC9S12DG128;CodeWarrior;TBDML;Flash解密

本次智能车邀请赛采用的MC9S12DG128(以下简称DG128)是Freescale公司推出的S12系列单片机中的一款增强型16位单片机,片内资源丰富,接口模块包括SPI、SCI、IIC、A/D、PWM等,在汽车电子应用领域具有广泛的用途。DG128在Flash存储控制及加密方面也有很强的功能,加解密可配合第三方软件使用。


DG128单片机采用增强型16位HCS12 CPU,片内总线时钟最高可达25MHz;片内资源包括8K RAM、128K Flash、2K EEPROM; SCI、SPI、PWM串行接口模块;脉宽调制(PWM)模块可设置成4路8位或者2路16位,逻辑时钟选择频率宽。它包括两个8路10位精度A/D转换器,控制器局域网模块(CAN),增强型捕捉定时器并支持背景调试模式。DG128有112-pin和80-pin两种封装形式,80-pin封装的单片机没有引出用于扩展的端口,只引出了一个8路A/D接口。

常用接口模块及外部应用


PWM模块:PWM脉宽调制波是一种可用程序来控制波形占空比、周期、相位的波形。它在电机驱动、D/A变换等场合有着广泛的应用。


A/D模块:A/D(模数转换)模块内部可分为三个部分:IP总线接口、转换模式控制/寄存器列表、自定义模拟量。

Codewarrior软件使用


大赛中采用Codewarrior 3.1 for HCS12作为推荐的程序编译软件。"CodeWarrior for S12" 是面向以HC12或S12为CPU的单片机嵌入式应用开发的软件包。包括集成开发环境IDE、处理器专家库、全芯片仿真、可视化参数显示工具、项目工程管理器、C交叉编译器、汇编器、链接器以及调试器。在Codewarrior软件中可以使用汇编语言或C语言,以及两种语言的混合编程。

利用监控程序下载用户程序


监控程序(Monitor)的主要功能是对应用系统硬件及底层软件进行调试,也称为Debug程序,是最基本的调试工具。MC9S12DG128的Flash有128K,RAM有8K,而监控程序源代码占用不到3K FLASH,占用23字节RAM。这对用户程序的空间影响并不大。异步串行口是要用来做与PC通讯服务的,监控程序可以用,应用程序当然也可以使用。

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


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


?应用程序的下载与在线更新
?单片机内部资源的配置与修复
?应用程序的动态调试
【常见问题之一】正确安装了BDM for S12(TBDML)的驱动程序和动态链接库后,并用BDM连接了目标单片机后,在Hiwave.exe的“TBDML HCS12”菜单中,没有出现“Flash...”项,无法对目标单片机进行调试。


解决办法:首先,用户应该确保目标板供电正常,BDM for S12(TBDML)默认的电源工作方式是目标板自供电;如果,还有问题,用户应该打开BDM的包装小盒,查看跳线J4是否已经短接,原因见上文。


【常见问题之二】驱动程序安装正常,跳线也没有问题,目标板也供电了,但BDM还是不工作。


解决办法:出现这一问题,最大的可能是,用户的CodeWarrio版本不对,没有利用CodeWarrio V4.1以上的版本进行调试。安装高版本的CodeWarrio即可解决问题。


【常见问题之三】BDM调试目标板基本正常,能够下载程序、擦除Flash、设断点调试,但是,在某次使用中Flash突然被“锁死”,之后目标板无法继续使用。


解决办法:Freescale 公司的HCS12 系列单片机具有片内Flash的加密功能,对于加密或保护后的Flash,用户是无法通过BDM 调试工具对其Flash进行诸如程序擦除、读取等操作。同时,如果用户在利用BDM 调试单片机时操作不当,同样会使单片机出现Flash无法读取、擦除和下载等问题。我们的监控程序在$F000 到$$FFFF,这一段加了保护,但并没有加密。即使对加了密的S12,也可以使用我们生产的串行接口地BDM 工具方便的解锁和擦除。在2005 年第4 期《电子产品世界》杂志中,我中心曾经撰文讲述了HCS12 单片机Flash 保护和加解密的原理和注意事项。在决定擦除保护了的程序时,请想好在出现单片机被锁定的情况下有没有能力解锁。对于Flash没有进入“保护模式”的单片机,如果利用BDM for S12 (TBDML)调试单片机,当用户点击“TBDML HCS12”菜单下的“Flash...”命令时,会出现如图12所示的正常情况。从图中可以看出,当前目标板的单片机的FLASH_C000存储区域已下载有程序,状态为“Programmed”;其余模块为空,状态为“Blank”。因此,可以继续对该单片机的Flash进行读取、擦除Erase和下载Load等操作。但是,在出现上述Flash加密问题后,HCS12系列单片机就进入了“Flash保护模式”,即Secure Mode。这时,如果利用BDM for S12(TBDML)调试单片机,当用户点击“TBDML HCS12”菜单下的“Flash...”命令时,部分FLASH区域的状态就会显示为“Skipped”。此时,用户便无法再对FLASH进行正常操作。因此,需要解除Flash的“保护模式”,执行Unsecure的操作。BDM for S12(TBDML)提供了Unsecure的功能,具体的操作过程较为复杂,请参阅用户手册。

此帖出自汽车电子论坛

最新回复

顶一下  详情 回复 发表于 2011-5-10 10:32
点赞 关注

回复
举报

888

帖子

3

TA的资源

五彩晶圆(初级)

沙发
 
顶一下
此帖出自汽车电子论坛
个人签名邮箱:ternence.hsu@foxmail.com
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表