This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/BEAGLEBK:LDR 指令导致跳转至0x20010

Guru**** 2573695 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/629171/ccs-beaglebk-ldr-instruction-causes-jump-to-0x20010

器件型号:BEAGLEBK

工具/软件:Code Composer Studio

您好!

我正在调试一个程序、遇到了一个奇怪的现象。 我的程序中有一行代码、如下所示:

exec->freeVector = exec->projVector;

对于该指令、asm 代码生成以下两行代码:

LDR R12,[R12,#0x126];此行读取 projVector 的值

STR R12、[R12、#0x12A];此行会将值保存到 freeVector 中

LDR R12,[sp];第三行代码

但是、代码的第一行会导致程序流分支到地址0x20010。 SP 设置为0。

我假设我在这里生成了某种异常、但我不知道如何操作。 变量存储在为系统内存分配的区域中。 LR 寄存器现在指向上面显示的第三行 ccode、暗示某种合法的函数调用。 是否有人能够根据此处的信息判断可能发生了什么情况?

如果我在没有任何断点的情况下运行代码、那么它会通过调用0x2008c (即 IVT)锁定。

此致、

Shailesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    另一条信息:我可以看到处理器从用户模式变为中止模式。 不过、我仍然无法弄清导致这种情况的原因。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请分享有关环境的更多详细信息。 这是定制板吗? 如何初始化处理器? 是否有运行的操作系统?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Biser、

    它是运行裸机程序的 BeagleBoard Black。 我使用的是 BBB 附带的默认初始化脚本。

    Shailesh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    通过初始化脚本、您意味着 GEL 文件吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的。 我还更改了堆栈大小和系统内存大小。 是否需要任何其他初始化?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉、我看不出我们如何重现这种情况、以了解导致异常的原因。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    顺便说一下、您能否布置这2个变量的存储器地址?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Biser、

    同时、我成功地发现了问题并解决了问题。 事实证明、在调试模式下将偏移从0x126更改为0x128会导致指令执行暗示未对齐访问错误的指令。 因此、我已停用了编译的未对齐访问、这似乎可以正常工作。

    不过、我已经看到在新设置中、执行了存储器访问、而不是寄存器访问增加了执行时间。 如果编译器支持未对齐访问、则处理器也应该能够执行该操作。 是否有任何处理器设置允许未对齐的存储器访问?

    此致、
    Shailesh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您应该在 CCS 论坛 上提出此问题:e2e.ti.com/.../81