Hi,all
I meet a problem, I set the project S32K142 from BOOT TO APP, app address:0x0010000,boot:0x0000,
I see the App sends the can message, I think it works,but when I download the app again, I find the APP does not response the diagnosis message.
I debug the App project individually,it can response diagnosis message and communication message.
But It has the problem when I download the app through the bootloader,App sends communication message,but it can not respond the diagnosis message.
What should I check to solve the problem?
11 01 reset the project ,then jump to app , but it has no responds.
解決済! 解決策の投稿を見る。
您好,
问题已经解决,应该与can配置有关。
Hi,Jim
问题已经解决,can的初始化重新配置,buffer重新配置后,可以收到,可能是buffer一直被通信报文tx占用,rx buffer无法使用导致。
好的收到,这个也是一个问题, 之前没遇到过,我这里会记录下来,写在以后的note里面。
是不是中断向量表位置放错了,你试下呢,有进展给我回复一下,这个是我之前BOOT代码
Hi,Jim
尝试修改了,但是仍然不行。现象依旧。
Hi,Jim
这个是我配置的,ld文件修改的内容,稍后试一下你说的内容,这个0x10400是vector的起始位置吗?
11服务没用响应是允许的,这个是没有问题的。你自己想想,如果我没复位成功,我还可以给你发个否定响应,如果成功,ECU复位了,如何给你响应呢?每个服务它肯定是在成功执行服务请求后再发响应码,11服务特殊,它复位了,不发肯定响应码是对的。ISO14229中还有几个功能寻址的服务也没有响应码,详细的你可以看看ISO14229.(具体在什么地方我记不得,但是对于11服务没用肯定响应码这个我记忆犹新,而且我的上一个项目我也测试过,11服务成功是没用响应的。)
祝好!
Jim.
Hi,Jim.
问题不在于11的响应,而是第一次刷写后,已经跳转到APP了,可是这时候APP可以发出通信周期报文,可是诊断没有回复响应。而且这种情况只存在于boot跳转到APP的情况,现在通过boot烧录的app无法进行刷写流程。
如果我单独调试APP工程,我诊断是有响应的,我怀疑跳转的时候,出现了某些问题,请看看我跳转方式或者跳转前后需要调整哪些内容,来避免这个问题。
这个不应该哎,APP按你的描述,APP还是可以正常工作,只是诊断没响应,这个怎么也说不过去阿。跳转到APP,除了诊断异常,其它工作正常嘛?,跳到APP的时候时钟从新更新下呢,APP和BOOT关于CAN的设置配置成一样试试。我花点时间看看我之前的工程,我给你找点我自前的配置。