完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
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进行编程。 以下是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引导加载程序代码和应用程序代码的内存分配。 2.3应用程序代码的中断响应过程 对于应用程序代码mtim.abs.s19文件,mtim0每秒生成一次中断请求。 引导加载程序成功将mtim.abs.s19文件下载到MCU后,MCU中断响应过程如图4所示。 |
|
相关推荐
|
|
386 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1670 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
1123 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
1005 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1229 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12018 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 12:27 , Processed in 0.701743 second(s), Total 63, Slave 45 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号