当前位置: 首页 > news >正文

从bootloader跳到APP需要几步?

一、bootloader 程序

在这里插入图片描述

1.1 FLASH 内存映射图

在这里插入图片描述

1.2 boot程序解析

在这里插入图片描述

1.3 提问:从boot跳转到app前,如果发生了中断,请问这个中断会被响应么?

答案:否、

处理方法:在跳转到app之前,先把中断关闭,在进入app设置中断NVIC中断向量偏移之后,重新打开中断开关即可。

二、app程序

2.1 app程序源码

在这里插入图片描述
这里之所以要设置中断向量偏移表,是因为我们的app程序不是放在0x0800 0000 的默认位置的

主要原因是我们产品需要有一段bootloader程序占用了这段代码空间。

所以我们真实的app应用程序是存放在0x0800 0000 + 0x800 这个位置的。

所以我们的cpu去获取中断向量地址的时候,就不能直接从0x0800 0000 + 4 之后开始获取。

而要从app程序基于bootloader代码在flash中的偏移量的地址处开始获取。

提问

stm32 在开发ota产品时,为什么中断向量表是存放在flash的起始地址+4的这个相对位置? 而不是flash的绝对位置?

这个问题触及了 AR

相关文章:

  • JavaSE: 数组详解
  • [直播推流] rtmpdump 库学习
  • 严格三角形方程组
  • Unity中的transform.Translate
  • MySQL-DCL数据控制语言详解
  • gcc升级问题
  • Web第二次方向考核复盘
  • MacBook命令行提示符添加git分支信息
  • Git(三) Git 分支工作流管理模型探究与实践
  • C语言空指针异常在Java中的解决方案
  • 深入理解IOC与DI
  • CPU的异常处理
  • java读取yml配置文件2
  • iOS —— UI(2)
  • 机器学习模型评估与选择
  • java基础面试题。
  • Grdle版本与Android Gradle Plugin版本, Android Studio对应关系
  • GRPO训练布局感知的强化学习多模态文档解析框架-Infinity-Parser
  • 【速写】policy与reward分词器冲突问题(附XAI阅读推荐)
  • web性能优化
  • 排版设计素材/seo营销外包
  • 石家庄网站开发价格/百度竞价托管费用
  • 专业的设计网站有哪些/汽车品牌推广策划方案
  • 城乡建设部门户网站/广告投放平台排名
  • 生日快乐模板制作/seo技术公司
  • 网站建设如何记账/成都关键词优化报价