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

【经验分享】学习SMT32_bootloader(一)

[复制链接]
STMCU小助手 发布时间:2022-6-22 21:00
【经验分享】SMT32_bootloader(一)

% H* g* p' x& W' {
开始写一个通过CAN,UDS协议的bootloader。
, e0 m" o4 j7 V$ o0 z' x! H* F. a
先搭个框架。
下图是memory layout.
]0QXNU6BGJHEY][P]OCM70B.png
下图是基本的程序流程图。
~VFJEOGUPA2Y~`LP`X{O7V5.png

% H+ J& F  N, x
几个注意点:
  • 对于asw,由于程序起始地址为0x08010000,需要相应设置向量表偏移寄存器(VTOR)。( a& m* x- o, f9 ^' w
  • 在bootloader和asw都定义同样的变量prog_flag代表是否有刷写请求,定义在相同的地址。bootloader不能初始化该变量。
  • 上电后如果没有刷写请求,bootloader跳到asw的复位向量地址,并初始化栈顶地址。(bootloader已经使用了堆栈,需要重新初始化)
  • bootloader和asw的两个hex合并后一起刷写,将asw的hex复制,覆盖bootloader的hex最后一行(文件结束)。

    / [8 ], z$ ^, r0 k
    % c8 p6 f0 Z) |" |) F
4 D  h8 d. [: Y+ {
赞 收藏 评论0 发布时间:2022-6-22 21:00

举报

0个回答

所属标签

相似技术帖

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