英飞凌
直播中

飞毛腿452

8年用户 906经验值
擅长:电源/新能源
私信 关注

boot跳转不同APP地址,reset handle地址没有变,导致跳转目标地址与预期不一致怎么解决?

在使用Psoc ble 062 kit开发时遇到一个问题,从boot跳转到app时,传入不同的app地址,发现程序一直运行0x10020400地址处的程序,debug发现虽然传入app地址不同,但reset_handle地址是相同的,我想这个可能是运行不到0x10080400地址处程序的原因,有没有大佬知道什么原因怎么解决?
最诚挚的问候!





                                                                                                                                                                                                                                                                                                                                                                                                        
                                                        

回帖(1)

李晶

2024-7-23 17:35:22
您好!根据您的描述,您在使用PSoC BLE 062 Kit开发时遇到了一个问题,即在从boot跳转到app时,传入不同的app地址,但程序总是运行在0x10020400地址处的程序。您怀疑这是因为reset_handle地址没有变化导致的。以下是一些建议来解决这个问题:

1. **检查跳转逻辑**:首先,请确保您的跳转逻辑是正确的。在跳转之前,确保已经正确地设置了跳转目标地址。您可以在跳转之前打印出跳转目标地址,以确保它与预期一致。

2. **检查中断向量表**:确保中断向量表中的reset_handler指向正确的地址。如果reset_handler指向了错误的地址,那么在跳转时,程序可能会执行错误的代码。

3. **检查内存布局**:请检查您的内存布局文件(如ld文件),确保app的代码和数据被放置在正确的地址。如果内存布局不正确,可能会导致程序执行错误的代码。

4. **使用调试器**:使用调试器(如Keil uVision)来逐步执行代码,观察程序在跳转时的行为。这可以帮助您确定问题出在哪个环节。

5. **检查启动文件**:检查您的启动文件(如startup file),确保它正确地初始化了系统,并设置了正确的跳转目标地址。

6. **更新固件和工具链**:确保您使用的PSoC BLE 062 Kit固件和工具链是最新的。有时候,旧版本的固件或工具链可能会导致问题。

7. **参考文档和示例代码**:查看PSoC BLE 062 Kit的官方文档和示例代码,看看是否有类似的问题和解决方案。

希望这些建议能帮助您解决问题。如果您还有其他问题或需要进一步的帮助,请随时告诉我。祝您开发顺利!
举报

更多回帖

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