英飞凌
直播中

王敏

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

如何在不修改起始地址的情况下,运行SCRCFG为0xA且起始地址为0x0的SCR?

我自己编写了用于开发的 SCR 代码,并用 SCRCFG 0x0 将其闪存到 AURIX 中。
并将 SCRCFG 0x0 改为 0x1,然后一切正常。
SCR 如我所愿。

但当我更改 SCRCFG 0xA 并启动 SCR 时,SCR 的起始地址突然出现在"_Exit" 上。
因此,如果我想运行可控硅,就应该将地址改为 0x0。

如何在不修改起始地址的情况下,运行 SCRCFG 为 0xA 且起始地址为 0x0 的 SCR?
请告诉我。


                                                                                                                                                                                       

回帖(2)

夏日余晖

2024-6-3 09:37:59

我觉得你的步骤很合理,但我不清楚你是如何更改 PMS_PMSWCR4.SCRCFG=0xA 或在调试器中启动可控硅的。


使用 Trace32 时,我将启动配置为打开两个窗口(一个用于 TriCore,另一个用于 SCR)。 我在 TriCore 上的代码将在

PMS_PMSWCR4.SCRCFG=0x0 时加载代码,然后将其更改为 PMS_PMSWCR4.SCRCFG=0x1。 可控硅上的代码正在执行。

要更改它以允许使用 SoC 连接调试 SCR(即 相同的 DAP 接口和 DEBUGPORTTYPE=DAP2)。


在 TriCore 停止运行时,使用命令行


PER.Set.Field D:0xF02480C4 %Long 0xFF0000 0x0A


然后为 SCR 运行一个脚本


; Initialize


SYStem.CpuTC3X_SCR


SYStem.CONFIGCORE 2.1.


SYStem.CONFIGTAPState 12.


SYStem.Up


setup.tabsize2


data.load.elf8051_TaskingBasicSCR_scr.elf


R.SPC 0x0




举报

郭中

2024-6-3 14:18:15
要在不修改起始地址的情况下运行SCRCFG为0xA且起始地址为0x0的SCR,您可以尝试以下步骤:

1. 首先,确保您的SCR代码已经正确编写并编译。检查代码中是否有任何错误或问题,这可能会导致SCR在运行时出现问题。

2. 在您的代码中,找到设置SCRCFG的指令。您需要将SCRCFG设置为0xA,这意味着您需要将SCR配置为从0x0地址开始运行。

3. 在设置SCRCFG为0xA之后,确保您的代码中没有其他指令或配置会覆盖或更改这个设置。这可能会导致SCR在运行时出现问题。

4. 在您的代码中,确保SCR的入口点(起始地址)设置为0x0。这可以通过在代码中设置一个跳转到0x0地址的指令来实现。

5. 在您的代码中,添加一个指令来启动SCR。这通常是一个特定的指令,用于告诉AURIX微控制器启动SCR。确保这个指令在设置SCRCFG和起始地址之后执行。

6. 编译并烧录您的代码到AURIX微控制器。确保烧录过程中没有错误,否则可能会导致SCR无法正常运行。

7. 启动AURIX微控制器,并观察SCR是否按预期运行。如果SCR仍然出现问题,您可能需要检查代码中的其他部分,以确定是否有其他问题导致SCR无法正常运行。

8. 如果您仍然无法解决问题,您可以考虑寻求专业人士的帮助,或者查阅AURIX微控制器的官方文档,以获取更多关于SCR配置和运行的信息。

通过遵循这些步骤,您应该能够在不修改起始地址的情况下,成功运行SCRCFG为0xA且起始地址为0x0的SCR。
举报

更多回帖

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