基于uds的bootloader开发中的意外情况

基于uds的bootloader开发中的意外情况

1、flash擦除过程中意外断电。

此时,可能导致flash不能被读,一旦对其进行读操作后会陷入exception。

bt中需要提供一种防止flash变砖的机制。
2、uds-bt运行中(正在执行实质性任务)意外断电

需要防止app意外被执行。
3、uds协议栈缺陷
4、上位机流程未按照符合uds的刷写流程进行。

刷写流程需要不多不少。防止多余的动作导致刷写异常。

以下是开发中需要考虑的问题:

对uds的自动化测试用例。
对uds的can报文的自动解析。

不同的单片机的从一个完整的bt跳转到一个完整的app的机制是不太一样的。初始化程序一般都会被再次运行。中断的处理和中断的安装需要一定技巧,否则可能会陷入异常。

由于从bt跳到app,app得以运行,和一上电就运行app是不同的。从bt跳转到app,需要将bt对app的影响降到最低。

在源代码级别的调试中,有以下全局变量需要关注:

CanTp_RuntimeData[0]

DcmComStatus

DcmRunTime

原文地址:https://www.cnblogs.com/praiseslow/p/12872662.html