【AUTOSAR】Bootloader说明(一)---- 时序流程

文章详细描述了基于TITMS28xxDSP的软件执行流程,从复位后的boot-loader入口,经过RAM自检和应用软件完整性检查。在程序刷新过程中,利用15765-2和UDS标准,通过CAN模块通信。当需要刷新时,应用软件触发看门狗复位,进入boot-loader模式。此外,还讨论了在FLASH编程期间如何处理看门狗超时问题,使用定时器中断确保服务不断。

电机控制器选用TI TMS28xx DSP,包括boot-loader与应用软件两个部分。其中boot-loader包括下列内容:

  1. RAM自检
  2. 应用程序有效性检查
  3. UDS命令处理
  4. FLASH操作

下面分别说明DSP上电后整个软件运行流程及程序刷新过程。

    1. DSP软件执行流程

DSP复位后,将根据外部硬件配置选择boot-to-flash模式【参考8】:跳转到boot-loader入口,接着进行RAM自检。若自检成功并且监测到有有效的应用软件(检查应用软件完整性),将跳转到应用软件;不然,则进入boot-loader模式,等待刷新有效的应用软件。

当跳转到应用软件后,若有程序刷新请求,应用软件将擦除软件完整性标识字(实际是所在的整个扇区),然后触发软件看门狗复位。复位后,检测应用软件完整性信息,跳转到boot-loader模式。(到底应在应用程序中擦除完整性标识字还是跳转到boot-loader再擦除?TBD)

程序刷新结束后,外部Tester调用UDS服务,触发DSP软件看门狗复位。或进入死循环,等待硬件看门狗或软件看门狗复位。

 

1  DSP软件执行流程

    1. 程序刷新过程

DSP的刷新网络层基于15765-2,应用层基于15765-3及UDS(14229):当CAN模块接收到外部工具发送的UDS消息后,传递给网络层;网络层分析处理后,认为接收到有效的UDS命令再传递给应用层处理;应用层处理完毕,响应消息再通过网络层调用CAN驱动发送给外部工具。

应用层接收到有效的刷新数据后,调用TI的FLASH驱动库完成FLASH的编程。

在进入Boot-loader后,应周期性的调用网络层发送接收CAN消息及调用看门狗服务。

另外,由于FLASH编程时间较长,其运行时间有可能超过看门狗的溢出时间。所以在调用FALSH编程函数后,应使能一个定时器中断,在该定时器中断服务中调用看门狗服务。

 

2  程序刷新示意图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大道生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值