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

基于STM32 OTA的代码跳转

[复制链接]
攻城狮Melo 发布时间:2023-3-21 16:45
1. 简述
5 g8 ^( m) d& u$ |, P9 U( E+ C通过配置MDK,分别在不同地址写入BootLoader和App,BootLoader执行跳转函数,验证跳转App是否成功。
( c) p- d7 [, L* m5 L+ M
* _) x; o8 ^2 c0 {, p8 A5 n
22SL}O9B48~M0H1(N45{Z{3.png
; {2 a. o  ?1 l$ ?% G
* c& r9 Z" A$ B 175853c9f51f4d438fd09cb7972ea0a7.png 9 [! y4 P+ b0 E# V8 j; N' C
" X5 ^1 j' c1 y# H5 D6 d0 g2 _
2. 跳转代码
6 ]9 a& u- l. D  G8 U  U. ?. \
  1. typedef void (*boot_jump)(void); 2 u" M5 K1 A* K* h" J

  2. ( `1 [7 r/ j, ]" N( Y! e* v1 m' z
  3. boot_jump boot_jump_app;
    ' W. F8 t# t; k' X
  4. * X. [' b+ S+ G* d/ \, C
  5. __asm void MSR_MSP(uint32_t addr)
    ; `3 I* F, e! J6 r, C! B2 k/ W
  6. {
    . V# d" E, C0 V) B( I
  7.     MSR MSP, r0                        
    9 Z9 Z( D% ?; ?/ G7 {& \
  8.     BX r14
    2 {, c% ~- U4 }7 o! F
  9. }
    ' f" U! I) X. g1 \# l. v* Y, _! [

  10. # S/ Z3 N$ g  O9 |- ]; [- F9 {
  11. void bsp_iap_jump(uint32_t addr)
    1 }, u7 q- @9 w- \
  12. {' |" x0 l; ?9 V: X- m% V$ I) ]5 K
  13.         5 m. D6 L" P/ F
  14.         if(((*(__IO uint32_t*)addr)&0x2FFE0000)==0x20000000) 3 P8 {7 K3 x- _+ r+ [
  15.         { # s* ]; a7 ^2 p& l
  16.                 boot_jump_app = (boot_jump )*(__IO uint32_t*)(addr+4);                9 G0 g) w$ q* Z+ J" ^
  17.                 MSR_MSP(*(__IO uint32_t*)addr);                                        6 K0 y, K0 |1 R9 V9 ~8 q
  18.                 jump2app();                                                                             
    " N4 e3 v. O; p. ]  x! U7 f
  19.         }
    ; @5 Y6 K/ y2 X0 ~
  20. }
    ) F" q& e% [! {& \) r! A* w
复制代码

" n% ]. x! c: R& G, o# iBootLoader程序,执行bsp_iap_jump(0x08020000)函数,验证是否跳转到App执行。
& Q. J" i4 v7 f) O! {7 h- r————————————————
) k3 g+ Q4 Y6 l3 v! T版权声明:lljwork2021, u% h1 J$ Z! m/ |: q
如有侵权请联系删除
) u0 M, ^& X' e3 c' S0 ^% j
1 q) q8 m$ i2 z6 ~! O7 q( D# V" l# t  ?# ~1 f$ W& a
+ ]* ]* v+ J1 Z/ Y, `
赞 收藏 评论0 发布时间:2023-3-21 16:45

举报

0个回答

所属标签

相似技术帖

官网相关资源

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