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.

[参考译文] AM2634:TMDSCNCD263

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1239140/am2634-tmdscncd263

器件型号:AM2634

您好!

在 Cortex M 中有 访问 Cortex-M 内核寄存器的函数、例如 __SET_BASEPRI_MAX 和 __SET_BASEPRI_MAX

在 cortex R 中、访问内核 寄存器的方式是什么?

我想按照使用上述 API 完成的方式来更改优先级。

谢谢。

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

    我想您可以尝试使用  CMSIS 库来访问内核寄存器: https://www.keil.arm.com/cmsis

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

    我认为 CMSIS 与 Cortex R 不兼容

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

    我的问题已经基于 CMSIS、我提到的两个函数来自此处。
      

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

    在 cortex R 中、有哪些步骤可以像上面的2个函数那样在运行时更改中断优先级?

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

    系统控制寄存器不支持该功能。 无优先级更改。

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

    有任何相关更新?

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

    尊敬的 Abdelrhman:

    我将把这个查询路由给我们有关该主题的专家、但首先、您可以参考 器件 TRM 的第10.2.1.5节 VIM 中断优先级。

    此致、

    拉尔夫·雅各比

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

    好的、我在等待反馈。

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

    其他信息:
    写入 BASEPRI 寄存器可以设置任何 PRIO、写入 BASEPRI_MAX 只能提高优先级。

    我需要在运行期间将优先级设置为 X、优先级小于 X 的任何中断都不会被送达。

    这在某种程度上就像制作一个临界区、我保证一段代码不会被中断、除非发生了一个高于优先级设定(X)的中断、然后我再次降低了优先级。

     VIM 中断优先级处理的是中断优先级本身、而不是系统中断优先级。

    BASEPRI 定义了异常处理的最小优先级。 当 BASEPRI 寄存器是非零值时、它将禁止所有异常优先级比 BASEPRI 寄存器低或相等的异常。

    谢谢。
    您自己的

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

    有任何相关更新?

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

    尊敬的 

    是的、我们正在对此进行研究、我们将就此与您联系。

    此致、
    Aakash

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

    您能否确认您需要一个中断屏蔽功能、在该功能中屏蔽低于特定优先级的中断、并且您想要动态执行该功能。 你希望实现代码的关键部分、在这里、你针对代码区域禁用低于特定优先级的中断、然后在代码区域的末尾恢复中断屏蔽。  

    如果这确实是您的要求、那么 AM64x/AM243x 中存在以下寄存器

    IRQ 优先级屏蔽寄存器(基址+ 0x28)

    字段 类型 复位 说明
    31:16 保留 R/O 0 o  始终读为0。  写入无影响。
    15:0 MSK R/w 0xFFFF 本域是一个位向量、用于使能给定优先级的所有 IRQ 中断。  位0对应于优先级= 0 (最高)位1对应于优先级= 1、等等…。
    0–禁用此优先级的 IRQ
    1–启用此优先级的 IRQ

    FIQ 优先级屏蔽寄存器(基址+ 0x2C)

    字段 类型 复位 说明
    31:16 保留 R/O 0 o  始终读为0。  写入无影响。
    15:0 MSK R/w 0xFFFF 本域是使能指定优先级的所有 FIQ 中断的位向量。  位0对应于优先级= 0 (最高)位1对应于优先级= 1、等等…。
    0–禁用此优先级的 FIQ
    1–启用此优先级的 FIQ

    该寄存器是一个 IRQ 屏蔽寄存器、将禁用低于指定优先级的中断。 我在 AM263x 文档中找不到此寄存器。 不确定这是未在文档中找到、还是寄存器不存在。  

    是否未在 AM263x 中启用此功能或此功能是否存在文档问题、请向 SoC 集成团队咨询。 AM263x 应该具有该功能。

    如果 AM263x 中不存在此寄存器、则实现关键部分的唯一选项是禁用 IRQ

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

    是的、这正是我希望实现的结果、我将开始 研究这些寄存器并看看。

    我在文档中也找不到这些寄存器。

    我希望这将是一个文件问题。

    感谢您的支持。

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

    您好!

    VIM 的优先级和系统中断优先级间的映射是什么?

    VIM 的 优先级从2:26开始、而系统优先级从0:15开始



    谢谢

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

    尊敬的 

    "什么意思?  系统中断优先级

    此致、
    Aakash

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

    您好 Aakash Kedia、

    优先级是0到15、对吧?
    但是、VIM 使用大于15的数字。

    您自己的、

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

    尊敬的 Abdelrhman:

    我们认为这是一个问题。 我们已为同一商品提交内部 TT - jira.itg.ti.com/.../MCAL-12863

    此致、
    Aakash

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

    您好!

    是否即将发布更新的 MCAL 版本?

    您自己的、

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

    尊敬的 

    计划在本周进行。

    此致、
    Aakash

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

    您好 Aakash、

     新的 MCAL 是否会像 SDK 那样构建 SBL?

    您自己的、

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

    尊敬的

    目前没有使用 MCAL API 制作的 SBL、我的意思是、要从 QSPI 闪存读取、我们需要使用来自 MCAL 模块等的 FLS API。不过、目前 SBL QSPI 来自 MCU+SDK。 但是、我们已经提交了要求、MCAL 将支持其原生包中的 SBL。 我没有确切的时间表详细信息、 jira.itg.ti.com/.../MCUREQ-2786 这里是未来跟踪的 TT 编号。

    谢谢。
    兴植