公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

连续操作 DFLASH 时,其他原因会导致程序重置。

此时,程序 CAN不恢复运行并不断复位,即使程序被重写或再次上电也是如此。擦除DFLASH后,程序 CAN 运行。

调试发现,在初始化 DMU 时,程序调用了 Reset to Read 序列命令并输入了 TRAP(trap4,TIN3)。DATR 寄存器的 SBE 位为 1。

此时观察 DFLASH,发现其中一页为 0,其中一页包含数据。

当我抹掉 0xaf020000-0xaf020FFF 部分时,也会出现同样的问题,那就是程序无法运行并且会不断重置。

我的程序是BT程序和APP程序,两者都会调用来初始化DMU。当我屏蔽BT中的初始化DMU程序时,程序 CAN 正常运行。

我目前正在使用 TC377 芯片。

 

下面的代码是 Reset to Read sequence 命令,它会进入陷阱。

yangyong_1-1691811627058.png

我 CAN 如何解决这个问题?

 

 

     

 

    

0 点赞
1 回复
Translation_Bot
Community Manager
Community Manager
Community Manager

由于您的解释不够明确,建议执行以下概述的基本操作:

  1. 擦除单个扇区。
  2. 将数据写入 8 页。
  3. 从 8 页中读取数据以验证准确性。

CAN 以下链接中找到说明性代码示例:GitHub 示例代码

0 点赞