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.

[参考译文] MSPM0-SDK:SysConfig 中设置的 SysTick 中断优先级无效

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1520337/mspm0-sdk-the-systick-interrupt-priority-set-in-sysconfig-is-invalid

器件型号:MSPM0-SDK
主题:SysConfig 中讨论的其他器件

工具/软件:

可以在 SysConfig 中设置 SysTick 中断优先级、但修改该设置似乎对二进制文件没有任何影响。

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

    您好、Torris、

    在 SysConfig 中进行配置修改时、您  可以点击、找到 SysConfig 生成的文件

    可以点击 ti_msp_config.c 更改优先级时、可以发现.c 文件同时具有相同的修改。 这意味着您的修改是有效的。 编译器将在构建工程时构建 Syconfig。 如果您确实要检查此修改在 可下载文件(.bin、.hex、.txt)中是否有效、则可以输出更易于阅读的 TI txt 文件、并在您只更改 SysConfig 中的优先级时检查此文件的修改位置。

    此致、

    Janz Bai

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

    尊敬的  Janz:

    感谢您的答复。 我知道这个问题听起来不可能,所以我录制了一个视频来验证这一点。

     e2e.ti.com/.../2025_2D00_05_2D00_29-21_2D00_05_2D00_35.zip

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

    我明白你的意思——在 Sysconfig 中更改该字段不会导致 NVIC_setpriority ()调用出现在 SYSCFG_DL_SysTick init ()中。

    (CMSIS) SysS() Tick_Config 自动将优先级设置为3 (实际上是0xFF、但额外的位被丢弃)。 但当我将字段更改为0或2时、我在 dl_config.c 中没有看到任何改变它的内容。

    您可以在调用 SYSCFG_DL_init ( )后尝试插入自己的 NVIC_setpriority (SysTick _IRQn、3)。

    [编辑:我第一次误读 CMSIS 代码。]

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

    您好、Torris、

    您使用的 SDK 和 SysConfig 版本是什么? 您可以从属性->依赖项进行检查。  

    我尝试在 SysConfig 中修改优先级、并在工程编译后生成 TI.txt 文件。 我发现可以自动修改 di_config.c、并且优先级为1、2、3的 txt 文件不同。

    您可以尝试 在 代码中调用 SYSCFG_DL_init ()后添加 NVIC_setpriority (SysTick _IRQn、3)、并检查它是否有用。

    您也可以将优化级别修改为"0"、然后再次尝试执行测试。 您可以从"Properties"->"Tools"->"Arm Compiler"->"Optimization"查看优化级别。

    此致、

    Janz Bai

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

    尊敬的 Janz:

    我使用的是 MSPM0 SDK 版本2.4.0.06和 SysConfig 版本1.23.0。 我还尝试将 SysConfig 更新为1.23.1、但问题仍然存在。

    更改优化级别也无法解决问题。 但是、在 SYSCFG_DL_init ()之后手动添加 NVIC_setpriority (SysTick _IRQn、3)后、一切都正常工作。

    此致、
    Torris

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

    好的、Torris、您现在可以通过"在 SYSCFG_DL_init ()之后手动添加 NVIC_setpriority (SysTick IRQn、3)"来实现。 我记得这个问题、当我有空时、我将再次确认、如果是错误、我将让我们的内部团队在 CCS/SDK 上解决这个问题

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

    尊敬的 Janz:

    不确定您是否有机会重现此问题。 我做了更多的测试、发现只有在选中了"启用 SysTick 和开始计数"选项时才会出现问题。 如果未选中该选项、则一切均按预期工作。

    只是想分享这个额外的发现—希望它有助于验证。

    再次感谢!
    Torris

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

    您好、Torris、

    非常感谢您对此所做的努力。 我将对此进行标记、并与我们的软件同事进行测试和讨论。

    此致、

    Janz Bai