STM32 IAP与APP配置详解:向量表映射与内存分配
需积分: 14 77 浏览量
更新于2024-08-28
收藏 367KB DOC 举报
"本文档详细介绍了在STM32上实现IAP(In-Application Programming)时,关于应用程序(APP)的向量表映射配置。主要针对MDK(Keil uVision)环境下,STM32F103RE芯片进行配置讲解。IAP程序起始于0x08000000,而APP起始于0x08005400,因此在APP部分必须正确映射向量表以避免程序跑飞。"
在STM32的IAP过程中,应用程序的正确配置至关重要。首先,IAP程序的选项配置中,IROM1的设置应确保不与APP的存储空间重叠。在配置芯片选项时,编程算法的大小可以设置为最大容量(例如0x00080000,对应512KB),这不会影响程序运行。
对于APP的配置,其IROM1的起始地址和大小是关键。它必须从0x08005400开始,且大小不能超过芯片的总闪存大小。同时,确保APP的配置中,IROM1的结束地址与IAP的结束地址之和等于芯片的总闪存大小,防止空间重叠。此外,RAM和编程算法的空间大小可以根据需要调整,但文档中的默认设置已经能够满足需求。
中断向量表的映射是避免程序跑飞的关键。在APP中,通过NVIC_SetVectorTable函数将向量表映射到实际的起始地址0x08005400,即NVIC_VectTab_FLASH加上偏移量0x5400。这样,当IAP程序跳转到APP执行时,中断处理能够正确找到相应的中断服务函数,保证程序的正常运行。
在配置过程中,还要注意MDK的其他相关设置,如芯片选择、RAM和Flash的分配等,但这些通常不会直接影响IAP和APP的运行,可以根据项目具体需求进行调整。
总结来说,STM32的IAP应用程序配置涉及到的主要知识点包括:
1. 向量表的映射:根据APP的起始地址正确设置NVIC_SetVectorTable。
2. IAP和APP的存储空间划分:确保IAP和APP的IROM1区域无重叠,并不超过芯片的总闪存。
3. MDK环境下的工程配置:正确设置IAP和APP的optionbyte、芯片选项、编程算法大小等。
4. 中断处理:确保中断服务函数在APP启动后能够正常工作。
理解并正确实施这些配置步骤,是成功实现STM32 IAP应用程序的关键。
2021-10-02 上传
2022-07-13 上传
2022-07-15 上传
2022-07-14 上传
2022-09-24 上传
2022-07-15 上传
2022-07-15 上传
2022-09-20 上传
2022-09-23 上传
shengsg
- 粉丝: 4
- 资源: 8
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载