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.

[参考译文] TMS570LS3137:HALCoGen 启动代码在系统模式下初始化 SPSR

Guru**** 2478765 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/694128/tms570ls3137-halcogen-startup-code-initializing-spsr-in-system-mode

器件型号:TMS570LS3137
主题中讨论的其他器件:HALCOGEN

您好!

我没有找到原来的疑问的答案:根据参考资料,即使系统模式是 特权模式,也没有 SPSR。 这对我来说很有意义、因为在系统模式下、没有例外、也没有理由拥有专用 SPSR。

那么、为什么在 sys_core.asm 的部分中、位于以下部分:

;切换到系统模式(共享用户模式寄存器)(M = 11111)
CPS #31
MOV LR、r0
R1女士、CPSR
MSR spsr_cxsf、R1 

不应删除最后一行?

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

    感谢这家酒店! 是的、由于系统和用户模式没有 SPSR、所以不需要您发布的代码的最后两行。

    我将添加一个内部标签、以更新模板 sys_core.asm 文件、以供将来发布的 HALCoGen 使用。

    此致、
    Sunil
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Sunil。 您是否还可以确认最后两行都可以删除? 然后、它将停止移动 R0到 LR。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Marco、

    R1女士、CPSR
    MSR spsr_cxsf、R1

    当 CPU 模式为系统模式时、上述两行可被移除。 因此、只有处于系统/用户模式的链路寄存器才会被初始化。

    此致、
    Sunil