介绍
这篇应用笔记介绍了为 基于180nm技术的 S12和S12X微控制器家族 编写的一个bootloader程序的运行和使用。
使用这bootloader可以很方便地实现生产中编程或者“在线系统(in-system)”编程,特别是应用于那些 无法使用HCS12背景调试接口(BDM)的场合。用户必须在生产准备阶段或在编程供应商那把bootloader预先烧写进S12(X)。Bootloader会留存在MCU中以供未来使用。
这个bootloader实现支持通过SCI串口将用户软件下载进MCU flash内存中。
这篇文档中描述的bootloader只是一个示例,由其产生的任何后果我们概不负责,并且我们不提供技术支持。
硬件兼容性
有两个版本的bootloader:
第一个是为S12系列(S12P、S12HY、S12HA和S12G)写的。
第二个是为S12X系列(S12XS、S12XE和S12XF)写的。
除非特别标注,这篇应用笔记中的内容适用于所有两个版本。
这个bootloader没有为最小的设备进行优化。因此,不支持MC9S12GN16。
当前不支持对D-Flash或说EEPROM的编程。
需求
为了成功运行这个bootloader,需要满足一些需求。
输入引脚
有许多种方式确定是要启动bootloader还是用户应用程序。比如可以选择通过判断输入引脚的状态、通过EEPROM内存中的某个变量的状态或者通过从通讯接口收到的命令。
这个bootloader使用第一种方式。在重置之后,bootloader会使能PP0引脚的上拉寄存器并且读取PP0引脚的状态以确定是否你想要运行bootloader。
可能这个引脚的外部电路是这样的:一个开关、跳线或者一个按钮与可选的上拉电阻器。
图 1.引脚连接
串行接口
所有的S12(X)微控制器都有集成串行通信接口。注意,需要RS232电平转换器以与PC通信。
默认的,串行通信会设为这个格式:
8数据位
1起始位
1停止位
0校验位
Xon/Xoff 流控制
默认的波特率是9600。可以在bootloader的菜单中修改其为38400、57600或115200 bps。
终端模拟程序
可以使用串口调试助手来与PC通信。这个串口调试器必须支持串行COM口通信、Xon/Xoff流控制以及必须支持发送文本文件。
振荡器
S12微控制器不需要外部晶振。bootloader会使用S12微控制器内部的一个1MHz的RC震荡电路。Bootloader设置总线频率为25MHz以支持高速率通信。
S12X微控制器需要晶振或者外部振荡器。在bootloader内配置PLL以达到40MHz的总线时钟频率。这是为了提高通信速率以加快代码下载速度。
功能描述
bootloader的运作方式很直白。这个部分仅描述了最重要的和最特殊的那些。
运作
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)