根据您的描述,您已经尝试了设置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在复位后被正确初始化。
总之,要解决这个问题,您需要仔细检查配置、代码和硬件设置,确保所有相关部分都已正确设置。同时,使用调试工具和参考官方文档可能会帮助您找到问题的原因。
根据您的描述,您已经尝试了设置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在复位后被正确初始化。
总之,要解决这个问题,您需要仔细检查配置、代码和硬件设置,确保所有相关部分都已正确设置。同时,使用调试工具和参考官方文档可能会帮助您找到问题的原因。
举报