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

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

[复制链接]
攻城狮Melo 发布时间:2023-4-16 17:47
现象:
& S/ s: K, a) Z  y: |STM32使用串口IAP进行跳转,发现APP程序用freeos编写的时候,程序跳转完成后就死机了。
/ g; o4 G2 U& W! Q) y$ kIAP程序在跳转前都关闭了中断和复位了使用的外设。已经验证跳转到裸机程序没有问题。6 S8 n5 W$ D$ c7 S4 u  B9 a5 r! q" c7 B

7 t& ~- D, S" T! {8 p3 F
& U" z3 u: N# G2 Z) a( f# ?8 s
FREEOS的程序在main函数开始就进行了开启中断和复位向量表。
& _' b1 r  @; P* Iint main(void)8 O) k9 ^+ V# _2 D4 s# ~, n! y2 D
{
1 A& e" r) B$ ?/* USER CODE BEGIN 1 /
7 m' |, G7 G; V8 J9 ]__enable_irq();
1 Z$ F+ Y1 j7 I, z1 pSCB->VTOR = FLASH_BASE | 0X00004000;
% v8 Y, o/ G; O: k$ x% r* p2 ^/ USER CODE END 1 */7 E/ G, o/ c& i" N# ]+ ^
/…略…
! W# _& P4 W& W5 b" q4 g- m+ Z
6 N+ R, Z( J' e9 q' T( d

+ D! B1 g; u' Q; _1 g2 w6 f" V方案:0 ]% \& _  l2 f- `6 g
经过跳转,将__enable_irq();这个函数设置到主循环开始前可以解决。
+ Z# `2 E* n& W2 N" r
/ h- v0 y+ t& J6 p, W) _

2 \' T  v% }  e0 o/* Call init function for freertos objects (in freertos.c) /
2 C7 W# Y4 ?3 w  y9 D1 R8 t" }MX_FREERTOS_Init();* i9 p1 s8 Q- m; O
/ Start scheduler */
  W& `7 ?2 _/ g9 |3 @osKernelStart();: D8 @6 C5 V) E# C8 J' @
__enable_irq();  d6 y3 e+ T2 i, |4 I

& R2 e  Q6 B- {; g, y

7 j3 T* _6 j" P+ C- o/* We should never get here as control is now taken by the scheduler /' r/ t/ R$ y/ x% h1 g, z
/ Infinite loop /
: t- [# c4 k: n) P/ USER CODE BEGIN WHILE /! @" g& U3 r/ m. X5 f% D
while (1). P% ?- s4 p+ F  s) R
{) b' w: |4 l; v/ o, ^: K% k/ V
/ USER CODE END WHILE */  q" ~, w5 d0 r3 G% ^- y1 t

" u; j, p; x- ]9 \

! \1 S: |/ F" E5 {/* USER CODE BEGIN 3 */4 Y3 N" a) O& U9 }9 r9 C* \9 V
}) Q* G6 F) \9 |
/* USER CODE END 3 */
. L( e8 Q( G5 U4 w& e————————————————
3 ^, \8 [& ?7 Q  z版权声明:路过羊圈的狼, t) C0 r8 N. i) y1 D; J% Q

% E  N& U3 H8 }; z  s  u0 u如有侵权请联系删除
; J$ Y  A/ C+ ?5 _6 }) p1 G1 x) {( n. n
2 X/ |& J8 `* Y( K7 p/ x; {$ w' B) N3 M3 x
赞 收藏 评论0 发布时间:2023-4-16 17:47

举报

0个回答

所属标签

相似技术帖

官网相关资源

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