N32系列MCU BOOT跳转应用技巧解析

5星 · 超过95%的资源 需积分: 50 7 下载量 85 浏览量 更新于2024-08-05 收藏 1.14MB PDF 举报
"AN_N32G43x&N32L43x&N32L40x系列BOOT跳转应用笔记V1.0.pdf" 本文档主要针对国民技术(NationTech)的N32G43x、N32L43x和N32L40x系列微控制器(MCU)的BOOT跳转应用进行了详尽的阐述。这些MCU内部集成了自举程序,存储在SystemMemory区域,可以利用USART1或USB-FS接口(采用DFU协议的全速USB设备)对用户程序的FLASH部分进行编程更新。 在通常的应用场景中,MCU会设置为Flash启动模式(BOOT0引脚为低电平)。若要利用内建的自举程序,需要将启动模式切换到SystemMemory模式(BOOT0为高电平,BOOT1为低电平),然后重新上电,或者通过选项字节的软件BOOT功能实现。具体的启动模式配置详情可参考对应MCU的用户手册。 文档中提出了一种BOOT跳转技术,允许用户在不改变启动模式的情况下,也能使用自举模式。以下是具体的操作步骤和相关参数定义: 1. **硬件需求**:自举程序依赖于USART1(PA9和PA10引脚)或USB-FS(PA11和PA12引脚),确保这些端口连接正常。 2. **参数定义**: - **函数指针**:定义一个无参数的函数指针类型`pFunction`,用于指向需要执行的代码。 - **必要参数**:包括`N32_RAM_SIZE`定义了SRAM的大小(32KB),`RAM_VECTOR_WORD_SIZE`是中断向量表的字节数(54个字节),`BOOT_MARK1_ADDR`、`BOOT_MARK2_ADDR`和`BOOT_MARK3_ADDR`是用于标记和验证自举状态的内存地址。 3. **操作方法**: - **2.1 参数定义**:这部分详细介绍了如何定义和初始化上述参数。 - **2.2 使用方法**:涵盖了系统时钟的设置以及相关API函数的使用。 - **2.2.1 系统时钟设置**:为了确保自举程序的正常运行,需要正确配置MCU的系统时钟。 - **2.2.2 API函数**:文档可能列出了用于BOOT跳转的相关函数及其用法。 - **2.3 应用示例**:给出了实际应用中的例子,帮助开发者理解和实施BOOT跳转。 4. **历史版本**:文档可能记录了不同版本的更新内容和改进。 5. **声明**:可能包含版权信息和其他法律声明。 这篇应用笔记为开发者提供了在N32G43x、N32L43x和N32L40x系列MCU上实现BOOT跳转的详细指南,有助于在不改变启动模式的前提下,灵活地使用和更新用户程序。