发 帖  
原厂入驻New
[资料] 适用于S08PB16的SCI引导程序!
2020-8-31 12:10:09  113 单片机 程序 存储器
分享
1引言
引导加载程序是微控制器(MCU)中的一小段闪存驻留代码,用于将应用程序代码下载到S08PB系列的片上非易失性闪存中。用户仅使用通信接口(例如SCI)来升级MCU固件,而不使用专用的调试接口。在这种情况下,引导加载程序要求该工具使用串行通信接口下载用户应用程序代码,而无需使用P&E Multilink或CodeWarrior IDE。此文档介绍了如何使用AN2295SW软件包(​​可从恩智浦官网获得)中的PC工具win_hc08sprg.exe在S08PB16-EVK板上通过SCI接口实现引导加载程序。该文档还演示了如何配置引导加载程序代码和应用程​​序代码的示例。S08PB16的SCI引导加载程序的实现基于CodeWarrior 11.1开发环境(您必须安装Service Pack:适用于S08PB和S08PLS的CodeWarrior MCU 11.1 Service Pack ),SCI引导程序代码,s19文件(应用程序代码)和S08PB16-EVK板。
2概述
您可以从NXP官网/S08PB16-EVK获得有关开发板S08PB16-EVK的详细信息。 图1显示了工具以及可以从NXP网站下载的代码。

•PC工具:win_hc08sprg.exe是PC中使用的主机GUI软件工具。它是AN2295SW软件中提供的免费工具包。可以在NXP官网上找到此软件包。你可以在文件夹... \ AN2295SW中获得win_hc08sprg.exe工具。\ masters \ release。在本文档中,工具win_hc08sprg.exe被称为PC工具。 PC工具用于解码s19文件,并通过SCI接口将应用程序代码传输到目标MCU,该接口在S08产品中广泛用于为MCU实现引导加载程序。有关详细的开发信息和说明,请参考AN2295应用笔记。PC工具。
•SCI引导加载程序代码:SCI引导加载程序代码作为驻留代码下载到MCU,该代码在MCU复位后执行。该代码可以与PC工具进行通信,以检查是否有需要下载的应用程序代码才能闪存记忆。

2.1 SCI引导程序过程
PC工具与FC协议兼容,并通过SCI接口与MCU通信。 该协议之所以称为FC协议,是因为使用了一个重要字符(确认或ACK)0xFC或11111100b。 FC协议在PC和MCU之间通信以重新编程MCU。 有关FC协议的详细信息,请参见AN2295应用笔记。引导加载程序命令ident / read / write / erase / quit由PC工具发送到MCU以对s19文件进行编程。 图2显示了使用PC工具时的SCI引导加载程序过程。 该过程使用AN2295SW中提供的引导程序命令来对MCU进行编程。

21.png
以下是SCI引导加载程序过程:
1.重置MCU时,启动加载程序过程开始。然后,MCU跳转到从向量0(0xFFFE:0xFFFF)加载的地址,以执行SCI引导加载程序代码。
2. MCU发送0xFC与PC工具连接。当PC工具从MCU接收到正确的字符0xFC时,MCU和PC工具之间的连接成功。然后PC工具立即将0xFC发送回MCU。如果MCU和PC工具在指定时间内连接失败,则MCU引导加载程序过程结束。 MCU跳至应用程序代码,并且后续步骤将无法执行。
3.当MCU校准为正确的时钟或MCU以正确的数据速率运行时,它将ACK字符0xFC发送到PC工具以停止校准过程。然后,PC工具将IDENT命令发送到MCU,MCU会发回引导程序代码中预定义的信息。
4. PC工具将s19文件中的中断向量表的内容复制到新地址。原始向量表中的内容无效。 s19文件中的中断向量表已重定位。
5. MCU从PC工具接收到READ,ERASE和WRITE命令,以操作闪存并下载s19文件。
6.当s19文件成功下载到MCU时,PC工具会将QUIT命令发送到MCU。 MCU跳到s19文件重定位复位向量的地址以执行应用程序代码,并且MCU Bootloader进程结束。

2.2内存分配
S08PB16中的片上存储器由1 KB RAM和16 KB闪存程序,I / O和控制/状态寄存器组成。 RAM地址空间为0x0040-0043F,闪存地址空间为0xC000-0xFFFF。对于闪存分配,为SCI引导加载程序代码保留了3 KB闪存空间0xF400-0xFF9F。 在将应用程序代码下载到MCU之前,PC工具会解码s19文件(应用程序代码),并将地址空间0xFFB0-0xFFFF的内容复制到地址0xF3B0-0xF3FF。 地址空间0xFFB0-0xFFFF的内容对于s19文件无效。

注意:在RAM地址空间中,SCI引导加载程序代码中保留了3个字节的RAM 0x43D-0x43F用于引导加载程序矢量重定向,因此应用程序代码无法使用它们。 引导加载程序代码地址和重定位的中断向量表地址不能在同一扇区中分配。 否则,部分引导程序代码将被删除。
有关SCI引导加载程序代码和应用程序代码内存的具体分配和配置,请参阅本文档的第3.1.1章和第3.2.1章。下图3显示了SCI引导加载程序代码和应用程序代码的内存分配。
22.png
2.3应用程序代码的中断响应过程
  对于应用程序代码mtim.abs.s19文件,mtim0每秒生成一次中断请求。 引导加载程序成功将mtim.abs.s19文件下载到MCU后,MCU中断响应过程如图4所示。

23.png
应用程序代码中断响应的过程总结如下:
25.png
24.png
由于手册内容较多,请自行下载查阅!
3

适用于S08PB16的SCI引导程序.pdf

下载积分: 积分 -1 分

834.93 KB, 下载次数: 0, 下载积分: 积分 -1 分

分享淘帖 显示全部楼层

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发资料
关闭

站长推荐 上一条 /8 下一条

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