没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
开发人员的串行引导加载程序为用户提供在Freescale 大多数微控制器上在线更新现有硬件的最简单方法。在线编程不能替代任何调试和开发工具,它仅可用作一个通过串行异步端口或USB 对嵌入式系统进行重编程的简单选项。开发人员的串行引导加载程序所支持的微处理器包括8 位系列HC08和HCS08 以及32 位系列的ColdFire 和Kinetis。全新Kinetis 系列支持K 系列和L 系列。
资源推荐
资源详情
资源评论
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/release/download_crawler_static/15448906/bg1.jpg)
飞思卡尔半导体
应用笔记
Document Number: AN2295
Rev. 13, 10/2013
目录
© 2013 Freescale Semiconductor, Inc. All rights reserved.
1 项目目标
开发人员的串行引导加载程序为用户提供在
Freescale 大多数微控制器上在线更新现有硬件的最
简单方法。在线编程不能替代任何调试和开发工
具,它仅可用作一个通过串行异步端口或 USB 对嵌
入式系统进行重编程的简单选项。开发人员的串行
引导加载程序所支持的微处理器包括 8 位系列 HC08
和 HCS08 以及 32 位系列的 ColdFire 和 Kinetis。全
新 Kinetis 系列支持 K 系列和 L 系列。
本应用笔记适用于关注替代性重编程工具的嵌入式
软件开发人员。引导加载程序因其能在线修改 MCU
存储器而成为开发应用过程中可能非常有用的实用
程序。
开发人员的串行引导加载程序对于演示用或最初用
MMDS 开发并需要做较小在线修改的应用来说是一
种补充的实用程序。串行引导加载程序为已配备串
行接口且 SCI 引脚外接至连接器的应用提供零成本
解决方案。本文档还介绍其他编程技术:
• 使用 ROM 程序的 FLASH 重编程
• 简单的软件 SCI
1 项目目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2FC协议介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3FC协议,版本 1, M68HC908 实施 . . . . . . . . . . . . . . 12
4FC协议,版本 2, HC9S08 实施 . . . . . . . . . . . . . . . . 18
5FC协议,版本 3,大 M68HC08 实施 . . . . . . . . . . . . . 22
6FC协议,版本 4, ColdFire (V1) . . . . . . . . . . . . . . . . 22
7FC协议,版本 5, Kinetis . . . . . . . . . . . . . . . . . . . . . . 29
8MCU从机软件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
9PC引导加载程序主机软件 . . . . . . . . . . . . . . . . . . . . . . 57
10 主机应用程序用户指南 . . . . . . . . . . . . . . . . . . . . . . . . . 62
11 合并引导加载程序和应用程序映像 . . . . . . . . . . . . . . . . 70
12 参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
开发人员的串行引导加载程序
作者:Pavel Lajsner, Pavel Krenek, Petr Gargulak
![](https://csdnimg.cn/release/download_crawler_static/15448906/bg2.jpg)
开发人员的串行引导加载程序 , Rev. 13
项目目标
飞思卡尔半导体
2
• 适用于 USB (HC08JW、 HCS08JM 和 MCF51JM MCU)的软件
• 内部时钟发生器的使用
•PLL时钟编程
• EEPROM 编程 (AS/AZ HC08 系列)
• CRC 串行协议保护选项
图 1. 顶层视图
1.1 项目目标
飞思卡尔半导体 M68HC08 MCU 使用标准监控模式接口进行 FLASH 编程。配置监控模式需要在
MCU 启动后将一个特定的时钟和高电压 (进入监控模式的电压 V
TST
= V
DD
+2.5 = 8V)外接到
IRQ 引脚上。此外,建立监控模式通信需要使用若干引脚。如果应用程序已使用标准串行 SCI 接
口进行通信,那么重编程可以使用不同的代码(串行引导加载程序)通过相同的接口与 PC 通信。
引导加载程序仅可用于重编程,不可用于在线调试。引导加载程序是一个低成本的在线编程解决
方案。
1.2 引导加载程序应用要求
以下几点介绍了引导加载程序应用的重要参数:
• 使用的存储空间少— 引导加载程序必须使用尽可能少的存储空间。其他版本的引导加载程
序使用的内存大于 1KB,这对于可用内存为 3KB的器件 (例如 MC68HC908JK3)来说
是不可接受的。本文档中介绍的解决方案尽可能地简单实施除校验和等之外的所有特性。
对于 8 位 MCU 来说,目标大小不到 500 B。USB 版本的引导加载程序包括适合于通过 USB
进行通信的驱动程序。因此,引导加载程序需要 8KB 的可用内存 (HCS08JM 和
MCF51JM)。 Kinetis K 系列和 L 系列的大小相似 (小于 2 KB)。
• 低引脚数 — 该引导加载程序使用的是已实施的标准通信方式 (通常板载 SCI 主要用于通
信)。标准 SCI 使用两根线:RxD 和 TxD。无需额外用线即可启动引导加载程序。
![](https://csdnimg.cn/release/download_crawler_static/15448906/bg3.jpg)
FC 协议介绍
开发人员的串行引导加载程序 , Rev. 13
飞思卡尔半导体
3
• 有关用户 S19 文件的透明度 — 整个应用程序应当对用户代码 S19 文件透明。这意味着无需
在 S19 文件中进行任何调整。其他 M68HC08、HCS08 和 ColdFire V1 引导加载程序应用需
要修改中断向量或对 S19 文件作其他修改以便其接受引导加载程序。
1.3 引导加载程序应用的演示特性
本文档介绍 M68HC(S)08、 ColdFire V1 (CFV1) 和 Kinetis 这几种不同引导加载程序的实施,它们
主要因目标 M68HC(S)08、 CFV1 和 Kinetis MCU 所具有的特性不同而各异。此外,还演示了
M68HC(S)08、 CFV1 和 Kinetis 系列的若干特性,因此本文档非常有用,适用范围更广,不仅
仅局限于只需要引导加载程序的受众。 M68HC(S)08、 CFV1 和 Kinetis 的不同实施还表现为以下
特性:
• 使用内置 ROM 例程进行 FLASH 自编程 (另请参见参考文献中的 AN1831、 AN2545 和
AN2635)。
• 在MC68HC908GP系列或MC9S08GB/GT系列等无ROM的MCU上由用户实施在线重编程例
程。
• 使用不同的FLASH模块保护技术实施(MC68HC908GP、MC68HC908GR、MC68HC908EY,
与 MC68HC908JK/JL 系列相比)。
• 在 MC68HC908JK/JL 系列等无 SCI 的 MCU 上实施软件 SCI。
• 对于HCS08系列(MC9S08GB/GT),使用内部时钟发生器及其调整功能(适用于MC68HC908KX
系列)。
• EEPROM 编程 (适用于 MC68HC908AB/AS/AZ 系列)。
• 在MC68HC908JW系列、HCS08JM和MCF51JM系列等USB2.0全速HS08 MCU上实施USB
通信。
• 使用适用于HCS08和ColdFire (V1)器件的Flash编程实施(另请参见参考文献中的AN3492)。
2FC协议介绍
如引导加载程序应用要求中所述,实施必须简单且尽可能少使用内存。因此,主机 PC 和从机
MCU 之间运行的协议也非常简单。之所以称之为 FC 协议,是因为使用了一个标志字符(应当或
ACK) 0xFC 或 11111100b。
本节介绍对 MCU 进行重编程时 PC 和 MCU 之间通信所使用的协议。在简介之后会对特定于系列
的实施特性加以说明。
下图为简单的状态图,显示本文档中介绍的引导加载程序的各种状态:
![](https://csdnimg.cn/release/download_crawler_static/15448906/bg4.jpg)
开发人员的串行引导加载程序 , Rev. 13
FC 协议介绍
飞思卡尔半导体
4
图 2. 引导加载程序的简化流程图
2.1 初始连接
可使用几种方法进入引导加载程序模式。其他一些解决方案使用 “
特定引脚采用特定电平”
方
法。例如,如果在 MCU 启动过程中 IRQ 引脚上出现逻辑 0,则引导加载程序代码启动,否则,
用户代码会启动。
由于所使用的引脚数必须最少,因此开发人员的串行加载引导程序使用 “
特定时间采用特定字
符”
的方法。这意味着 MCU 通过串行接口发出 ACK 字符并等待响应。如果在指定时间内未接收
到任何字符 (连接超时),则该进程采用用户代码继续。
如果该情况出于任何原因而成为限制,则用户可修改引导加载程序代码以满足应用需求 (例如,
可在启动时另外实施简单的 IRQ 引脚检测)。更多详情,请参见 M68HC08 系统限制。
2.2 时钟源
FC 协议允许两种情形,具体取决于 MCU 是以已知的精确频率运行还是使用 RC(寄存器、电容)
时钟或内部时钟 (或任何编译时未知的时钟)。
2.2.1 未知 MCU 通信速度
如果频率不确定 (编译时间未知), MCU 不会检查接收到的 ACK 字符是否仅符合 0xFC 模式。
由于 MCU 时钟存在误差,某些字符的解读可能与 PC (图 3)发送的原始 0xFC 不同。对 MCU
侧进行的 0xFC 模式检查可以完全省略,这样可节省 MCU 内存。
复位
命令
校准
连接通信
读
写
擦除
退出
复位源检测
代码
用户
上电
超时
识别
![](https://csdnimg.cn/release/download_crawler_static/15448906/bg5.jpg)
FC 协议介绍
开发人员的串行引导加载程序 , Rev. 13
飞思卡尔半导体
5
图 3. 匹配不同的通信速度
下表显示的是当传送速度和接收速度不相等时可正确接收 (无成帧或噪声错误)的字符:
如果 MCU 以不匹配的数据速率传送至 PC,则 PC 接收到的(和接受的)字符与 0xFC 字符不同。
PC 接受来自括号中所述字符集(0xFF、0xFE、0xFC、0xF8、0xF0、0xE0、0xC0、0x80 和 0x00)
的所有字符。如果已接收到字符,则 ACK 会被立即发送回 MCU。 MCU 识别出该响应后,就会
进入下一阶段:从机频率校准。
表 1. PC 至 MCU 传送 — 数据速率不匹配
PC 数据速率 MCU 数据速率
以二进制形式接
收的字符
以十六进制形式
接收的字符
9600 9600*1/3 11111111b 0xFF
9600 9600*2/3 11111110b 0xFE
9600 9600*3/3 11111100b 0xFC
9600 9600*4/3 11111000b 0xF8
9600 9600*5/3 11110000b 0xF0
9600 9600*6/3 11100000b 0xE0
9600 9600*7/3 11000000b 0xC0
9600 9600*8/3 10000000b 0x80
9600 9600*9/3 00000000b 0x00
D0 D1 D2 D3 D4
D5 D6
D7 停止
开始
空闲
MCU 和 PC
数据速率相等
MCU 接收 0XFC
MCU 时钟
快 3 倍
MCU 接收 0X0
MCU 时钟
慢 3 倍
MCU 接收 0XFF
时间
D0
D1
D2
D3
D4
D5
D6
D7
停止
开始
空闲
D0 D1开始
空闲
PC 以适当的数据速率传送 0XFC 字符 :
剩余73页未读,继续阅读
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/124ada42e0984270b9211e1ca61b9011_oja911.jpg!1)
oja911
- 粉丝: 3
- 资源: 19
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- 基于Spring Boot框架的资源管理系统.zip
- 管道通信源码,希望大家一起学习
- 特色软著登记-源代码生成器:输入项目路径即可自动生成所需-`docx`-文档-china-softwps软件下载
- 干货分享基于SSM的体育场管理系统的开题报告(附源码下载地址
- 这里是我的《算法竞赛进阶指南》笔记及源代码
- 串口通信调试助手源码,请自取
- 基于Spring Boot框架的论坛管理系统.zip
- 基于Spring Boot框架的订单管理系统21e11038396313c7a5e6fdde47d0b61b.zip
- [Xilinx-Vivado官方手册]UG910-vivado-getting-started-en-us-2024.1
- pythonsoftware.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)