DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1334|回复: 1
打印 上一主题 下一主题

[待整理] S12单片机模块应用及程序下载调试

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-5 11:13:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
S12单片机模块应用及程序下载调试

本次智能车邀请赛采用的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的功能,具体的操作过程较为复杂,请参阅用户手册。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-9-26 02:12 , 耗时 0.104036 秒, 17 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表