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

基于STM32进行IAP跳转死机在FREEOS经验分享

[复制链接]
攻城狮Melo 发布时间:2023-4-16 17:47
现象:/ ^; F4 E: ]7 p  g
STM32使用串口IAP进行跳转,发现APP程序用freeos编写的时候,程序跳转完成后就死机了。# e- f& t) q: _1 p3 G# h5 f# F0 N
IAP程序在跳转前都关闭了中断和复位了使用的外设。已经验证跳转到裸机程序没有问题。! A" F, Q: v- P  y

# M2 s' ^  |/ p7 _  @' o7 N
* W! _( a' ~! q& E- g& [/ J
FREEOS的程序在main函数开始就进行了开启中断和复位向量表。) q' ?0 v2 g$ O( Y1 S* V* S
int main(void)
2 P! [- I/ f$ L3 c" `1 E0 @{4 ]% K9 x5 @% e4 \# T
/* USER CODE BEGIN 1 /* z" i0 D  A5 }0 o! Y5 w
__enable_irq();
3 ~# q9 W& p3 Z4 K& z9 v- E6 NSCB->VTOR = FLASH_BASE | 0X00004000;
1 m- I7 Z% |/ n/ USER CODE END 1 */7 v  B$ a: ^5 a; T: ^! p
/…略…" O" k+ ^) W- \9 K& E% J% |

" ~8 J/ Q( g( U( R9 w2 u- z

9 `9 @6 P& Y; N- i( r方案:
5 A+ ^1 Y. q% e! Y/ c1 s2 n2 h经过跳转,将__enable_irq();这个函数设置到主循环开始前可以解决。' l% ^% k( L: p

4 e% l! x4 }" c8 U' O/ a8 X
5 v  g8 C1 _) O: Y: m
/* Call init function for freertos objects (in freertos.c) /
  v" h5 k& e# VMX_FREERTOS_Init();
; a' W) U% T9 o) Y$ X- b/ Start scheduler */
. b: ]5 o" I+ m* p6 W9 IosKernelStart();
( V$ {0 A+ D: f  Y+ K" A' e__enable_irq();9 p4 W% x& ~6 v' Z5 c; |6 ]6 k1 k
; ^, d# j6 |  N7 ^$ r% b

8 h0 [' |- j; w0 }8 l$ O/* We should never get here as control is now taken by the scheduler /
6 W0 D9 U$ W( v! d% x/ Infinite loop /# a  U2 V2 b8 d+ q6 R3 a
/ USER CODE BEGIN WHILE /, x" ]' \* @* h) r- J/ w
while (1)
# U+ H5 Y5 P" V{  n( a! C1 p7 K' o, a4 B% _% Y, u8 v0 T
/ USER CODE END WHILE */
; }* _" B: z0 X3 M) e9 Y3 Z6 O" \4 b: _* x3 G6 K

- d% |* _; l0 ^' J/ }/ c4 g* E/* USER CODE BEGIN 3 */* K( H2 e# }, O; t. P. c- a4 ]% K
}
1 C6 B* P6 M  Z$ k& `/* USER CODE END 3 */
3 F+ j+ |0 j7 B$ h) q; ?( J————————————————- V. e( a! c7 G! x$ z. e
版权声明:路过羊圈的狼% N0 a0 f! ]! x- W- z) t7 d2 w
) c6 \% L& X6 U  ?# L. L5 q9 L, A: p: e
如有侵权请联系删除; ^+ R, @/ c$ v
3 M. N1 t% N5 O* S5 v0 ~

3 ~2 k9 G$ H4 }9 }
赞 收藏 评论0 发布时间:2023-4-16 17:47

举报

0个回答

所属标签

相似技术帖

官网相关资源

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