你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32G0 IAP

[复制链接]
攻城狮Melo 发布时间:2022-11-3 22:09
bootloader篇:) |1 g: v$ p2 ~. K6 s6 b
简要说明  v3 \( ~) Y6 I" ^  b$ d6 p5 E
这里没有什么特殊的要求,
; f5 q% X& q# R3 e一般含有:解析接收到的数据(可能是ymodem等等)、擦写app区域的flash,跳转等3 r2 F, x. b( ]# _6 B
一般会保存在0x0800 0000起始的一段地址中(上电后直接运行),
2 J. u& ~  g& ], T其中解析和擦写flash掠过
' z* [9 P+ Q9 ^8 C5 @- ~, [+ Y# `& ]2 r7 x2 {+ `
跳转代码如下:
  1. __disable_irq();
    4 ^' f  L2 ^0 u) \( `' n
  2.       /* Test if user code is programmed starting from address "APPLICATION_ADDRESS" */9 p$ U4 [  |# m: A1 N' F! z; F; i
  3.     if (((*(__IO uint32_t*)APPLICATION_ADDRESS) & 0x2FFE0000 ) == 0x20000000)0 P$ _. g5 H8 O; d) v
  4.     {) G% @1 a! W( k1 x8 i
  5.       /* Jump to user application */" V* m/ d0 k2 p3 `  ?
  6.       JumpAddress = *(__IO uint32_t*) (APPLICATION_ADDRESS + 4);. N  _1 ^( L  F% h9 }
  7.       JumpToApplication = (pFunction) JumpAddress;
    3 k$ t$ ^$ c6 T
  8.       /* Initialize user application's Stack Pointer */- A" q8 P2 X3 p( |
  9.       __set_MSP(*(__IO uint32_t*) APPLICATION_ADDRESS);1 k2 a! |2 e: U" x7 ?3 U
  10.       JumpToApplication();, S6 k1 T- Y5 L( }4 v  C. h& Y
  11.     }
    ' n9 y" }2 X! g9 z  Y/ T
复制代码

: y8 T% k/ R/ q* W上文中APPLICATION_ADDRESS是APP的起始地址,跳转之前关闭总中断,防止跳转时出错/ q+ ^" ?3 i! p! I
要注意,在APP里不要忘记打开总中断。
. N. w" `; a4 k  Y7 X6 k( L% V+ X* z* Y3 [. L/ a- t
APP篇3 x/ X1 U% x6 H" j+ [
以MDK为例  l& m+ r6 j' |" a  K
. D, G  Y" N( a1 [5 W
修改FLASH地址
9 L& n* t: K+ Q+ y3 Y% o, G* r8 n+ a& n' c& E6 l4 O' R. H
20210108105923339.png 0 y, f+ l! o: R& N3 V# J
! q! P: l, `5 {
代码上修改中断向量表偏移" D$ B. R9 X2 k! Y7 w) B% C' n! O
文件system_stm32g0xx.c中
) \) _$ @- d, X3 Z2 g+ s1 n
  1. #define VECT_TAB_OFFSET  0x5000U /*!< Vector Table base offset field.
    * W; I, `3 z2 \8 t8 k
  2.                                    This value must be a multiple of 0x100. */
复制代码

- m4 c: I9 t5 }' C  F此处改成实际偏移大小
, E7 W$ O* m6 x5 o4 H4 o, z+ _+ j: y
还有就是BOOT篇中说的,要开启全局中断哦# [* N4 y$ `0 D2 j, ]
  1. __enable_irq();
复制代码
————————————————
; d& U8 O0 |6 D9 j$ [4 Y) ^' }! l版权声明:Logan Li
$ @" o5 {& {3 }7 n7 j+ X" X, s
& m7 L2 G2 h# R3 s8 [4 v* u
赞 收藏 评论1 发布时间:2022-11-3 22:09

举报

1个回答
Roomen 回答时间:2022-11-4 16:00:45
文章出处 STM32G0 IAP

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版