英飞凌
直播中

王银喜

7年用户 2397经验值
私信 关注

TC367 SYS RESET/APP RESET之后RAM不会清除怎么解决?

我看了单片机干货|AURIX™ TC3xx 复位后RAM不初始化方法 - 知乎 (zhihu.com) 这篇文章,并且设置了UCB(仅仅设置了DFLASH_ORIG)

然后设置了一些变量:

触发SYS RESET或者APPLICAtiON RESET


此时程序PC指针在代码起始位置,程序未执行

但是0x7010A000的变量被清除了,0x90005665的变量却没有被清除,请问是哪里配置不正确吗?


                                                                                                                                                                                                                                                                                                                                                                                                

回帖(1)

663597

2024-7-24 17:36:46
根据您的描述,您已经尝试了设置UCB(DFLASH_ORIG)并配置了一些变量。在执行SYS RESET或APP RESET后,您发现0x7010A000的变量被清除,而0x90005665的变量没有被清除。以下是一些建议和可能的原因:

1. 确保您的配置是正确的。请检查您的配置文件和代码,确保所有相关的设置都已正确设置。

2. 检查RAM区域。确保您在代码中使用的RAM区域是正确的。如果0x90005665的变量没有被清除,可能是因为它位于一个不同的RAM区域,该区域在复位后不会被清除。

3. 检查初始化代码。确保在程序开始时,您已经正确地初始化了所有需要的变量。如果某些变量没有被初始化,它们可能会保留之前的值。

4. 检查中断和复位处理。确保在执行SYS RESET或APP RESET时,中断和复位处理是正确的。如果中断或复位处理不正确,可能会导致某些变量没有被清除。

5. 使用调试工具。使用调试工具(如仿真器)来检查程序的执行过程。这可以帮助您找到问题所在,以及为什么某些变量没有被清除。

6. 参考官方文档。请查阅AURIX™ TC3xx的官方文档,了解有关复位和RAM初始化的详细信息。这可能会帮助您找到问题的原因。

7. 尝试其他方法。如果上述方法都不能解决问题,您可以尝试使用其他方法来实现RAM的初始化。例如,您可以在程序开始时手动清除RAM区域,或者使用其他硬件或软件方法来确保RAM在复位后被正确初始化。

总之,要解决这个问题,您需要仔细检查配置、代码和硬件设置,确保所有相关部分都已正确设置。同时,使用调试工具和参考官方文档可能会帮助您找到问题的原因。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分