MPC55xx/56xx内部闪存引导加载程序编写指南

1星 需积分: 11 15 下载量 139 浏览量 更新于2024-09-08 收藏 258KB PDF 举报
"本文档是关于如何为MPC55xx/56xx系列微控制器编写驻留式闪存引导加载程序的指南,由Lukas Zadrapa撰写,涵盖了Boot Assist Module (BAM)的功能及其在内部闪存和串行引导模式中的作用。" 在深入探讨如何编写闪存驻留引导加载程序之前,我们首先需要理解MPC55xx/56xx设备中的Boot Assist Module (BAM)。BAM是这些设备的一个关键特性,它支持两种启动模式:内部闪存启动模式和串行启动模式。 1. 内部闪存启动模式: 在这个模式下,用户需要设置RCHW(复位配置半字)并指定复位向量到闪存中的特定位置之一。系统复位后,BAM会搜索有效的RCHW。一旦找到有效的RCHW,位于复位向量地址的代码就会开始执行。如果未找到有效的RCHW,设备将进入静态模式。 2. 串行启动模式: 这种模式提供了一种机制,允许通过FlexCAN或LIN Flex/eSCI下载代码到微控制器的SRAM,然后执行该代码。这为远程更新或无硬件变更的固件升级提供了便利。 在编写引导加载程序时,以下几点是需要注意的: - **模板理解**:熟悉引导加载程序的基本结构和流程,包括启动检查、代码验证、加载和跳转等步骤。 - **避免常见问题**:如确保代码兼容BAM的搜索算法,防止在复位过程中出现异常。 - **交叉引用**:正确地管理程序中的引用,确保在不同部分之间能正确跳转。 - **列表**:使用清晰的列表来组织代码和指令,提高可读性和可维护性。 - **表格**:利用表格来表示数据结构或配置参数,使信息更直观易懂。 此外,遵循应用笔记的写作指南可以帮助创建更专业、更易于理解的文档,这对于开发者和维护者来说都是至关重要的。 编写MPC55xx/56xx的引导加载程序需要对微控制器的架构有深入的理解,包括其内存映射、中断系统、以及与BAM相关的寄存器操作。同时,为了确保代码的可靠性和安全性,应进行充分的测试和调试,以验证引导加载程序在各种条件下的正确运行。