微控制器的bootloader程序的运行和使用

微控制器的bootloader程序的运行和使用,第1张

介绍

这篇应用笔记介绍了为 基于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。

可能这个引脚的外部电路是这样的:一个开关跳线或者一个按钮与可选的上拉电阻器

 

微控制器的bootloader程序的运行和使用,微控制器的bootloader程序的运行和使用,第2张

 

图 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的运作方式很直白。这个部分仅描述了最重要的和最特殊的那些。

运作

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2585437.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-08
下一篇 2022-08-08

发表评论

登录后才能评论

评论列表(0条)

保存