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.

[参考译文] MSPM0C1104:MCPM0 SDK 缺少 BOR_THRESHOLD_LEVEL_*定义

Guru**** 2689775 points

Other Parts Discussed in Thread: MSPM0C1104, SYSCONFIG, LP-MSPM0C1104

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1580375/mspm0c1104-mcpm0-sdk-missing-bor_threshold_level_-definitions

器件型号: MSPM0C1104
主题中讨论的其他器件: SysConfig

我想使用 MSPM0C1104 MCU 上的 BOR 中断来检测低电池电量(锂电池电量几乎为空,低于 3V)、因此我调查了将 BOR 设置为 3 级。  
该器件具有 4 个不同的级别、可根据数据表设置、但是具有 BOR 抽象定义级别的 dl_sysctl_mspm0c110x.h 文件缺少级别 1/2/3。

SysConfig 工具不允许调整 BOR 电平。

为了调整 BOR 级别、我从第 493 行开始在 dl_sysctl_mspm0c110x.h 文件中添加了 3 行:

  DL_SYSCTL_BOR_THRESHOLD_LEVE_1 = SYSCTL_BORTHRESHOLD_LEVEL1、
  DL_SYSCTL_BOR_THRESHOLD_LEVE_2 = SYSCTL_BORTHRESHOLD_LEVEL2、
  DL_SYSCTL_BOR_THRESHOLD_LEVEL_3 = SYSCTL_BORTHRESHOLD_LEVEL_BORLEVEL3、
 
这允许我在 SYSCFG_DL_init ();之后的 main.c 中调用以下命令:
  DL_SYSCTL_setBORThreshold (DL_SYSCTL_BOR_THRESHOLD_LEVEL_3);
  DL_SYSCTL_activateBORThreshold();
 
现在一切都能根据我的需要正常工作、器件会触发中断、并可以触发 MCU 进入睡眠状态。
在我看来、dl_sysctl_mspm0c110x.h 中缺失的行是一个疏忽、可能与 SysConfig 的 BOR 级别选项灰显有关?

如需将来参考、下面是我的中断处理程序代码:
// BOR 的 NMI(不可屏蔽中断)处理程序
// BOR 中断是 NMI、不会通过 NVIC
void NMI_Handler (void){
  开关 (DL_SYSCTL_getPendingNonMaskableInterrupt ()){
    用例 DL_SYSCTL_NMI_IIDX_BORLVL:
      //触发 BOR 阈值 — 电池电压降至 3V 以下
      //发生这种情况时、硬件会自动将 BOR 阈值切换回 BOR0
      //当器件从睡眠状态唤醒时、BOR3 阈值将恢复
      //请求休眠以节省剩余电量
      gSleepRequested = 1;
      休息;
    默认值:
      休息;
  }
}

CCS 版本:20.3.0.14__1.9.0
MSPM0 功能支持版本:1.16.0
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Matt:
    这似乎是一种监督。 能否分享您使用的 SDK 版本?

    此致、

    Diego Abad

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

    如何查找我所使用的 SDK 版本?
    Code Composer Studio 更新程序显示我使用的是最新的“MSPM0 Feature Support“版本

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

    尊敬的 Matt:
    通常它将位于以下位置: C:\ti

    应该有一个名为 mspm0_sdk_X_xx_xx_XX 的文件夹(X 表示工程的版本。)  

    此致、

    Diego Abad

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

    我在 C:\ti\mspm0_sdk_2_05_00_05 中有以下文件夹
    在 https://www.ti.com/tool/MSPM0-SDK#downloads 上查看 有一个新版本、我现在会尝试安装。

    CCS 为什么不保持该更新?
    我认为我安装的 SDK 不是独立于 CCS(根据快速入门指南,创建工程时会自动下载 SDK)、因此我认为 CCS 会告知我有更新信息。

    编辑:
    我无法下载 SDK、登录并尝试下载.exe 后、会出现以下页面错误:

    EDIT2:
    我不得不使用 chrome 而不是 Firefox 来下载.exe ...

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

    将软件更新至 CCS 版本 20.3.1.5 并将 MSPM0 SDK 更新至 2_07_00_05 后、我可以确认 SDK 仍然缺少 dl_sysctl_mspm0c110x.h 文件中的 BOR 阈值定义。

    因此、即使在最新版本的 SDK 上、它也不支持 BOR 级别 1-3。

    注释以供将来参考:
    我必须在 CCS 文件浏览器>属性>依赖项> MSPM0 SDK >编辑>选择 2.7.0.05 中右键点击工程文件夹、以便将最新的 SDK 用于工程。

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

    尊敬的 Matt:
    感谢您的确认。 我将向我的团队询问这种行为、我会让您知道建议是什么。

    此致、

    Diego Abad

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

    尊敬的 Matt:
    我们仍然在内部讨论这一点。 我的建议是、如果 BOR 为您工作、请继续按照您的方式使用它。

    此致、

    Diego Abad

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

    你好 Diego、我遇到了同样的问题、并偶然发现了这个讨论。 有什么关于这方面的消息吗?

    由于 C1104 数据表中有一些严重的错误、我现在主要信任 SysConfig 工具。 在这里、您只能设置 BOR 级别 0。 因此、我假设 C1104 只有一个 BOR 级别。

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

    尊敬的 Stephan:
    您何时获取了 C1104? 如中所示、您是否知道您使用的是哪种硅胶版本?

    此致、

    Diego Abad

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

    我最近买了一些评估板 LP-MSPM0C1104。
    抱歉、为什么 Silcone 修订版因文档与 SDK/ SysConfig 工具之间的不匹配而相关? Thinkingμ s

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

    尊敬的 Stephan:
    主要是为了我们团队的意识。 我们仍在内部讨论当前的 SysConfig 实现是否是正确的方法。 一旦我们决定采取哪种方式、我们将相应地予以更新。 但到目前为止、官方声明是我们建议使用 SysConfig 来配置 BOR。 如果用户想要修改 BOR 代码以允许其他级别使用、虽然它似乎可以正常工作、但我们仍然让客户承担起它是否正常工作的风险。
    此致、
    Diego Abad

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

    当您说使用 SysConfig 配置 BOR 时、您是否知道您不能在 SysConfig 中配置 BOR?
    唯一要更改的选项为灰色、没有可用的配置:

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

    马特卡拉汉 这正是我猜的。 无选项=只有级别 0 可用

    Diego Abad Sajamin 因此、TI 内部是否不清楚 C1104 是否具有 1 个或多个 BOR 级别? 一旦很清楚、您就会更新文档或 SysConfig 工具?

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

    当我将输入电压降至 3V 以下时、我测试了 BOR3 并触发了中断(在我的第一个 POST 中详细说明了设置)。
    这表明至少 BOR 级别 3 是有效的、尽管我尚未进行广泛的测试、但它对于阻止锂电池完全放电是有效的。

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

    这可能表明控制器有三个 BOR 电平、但我需要证据。

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

    尊敬的 Stephan:
    更像是 TI 正在调查我们之前配置 SysConfig 不允许 BOR 电平超过当前值的原因。 这可能是影响器件一些早期修订版本的错误、但可能已经修复。 如果您的项目因此无法推进、请联系您当地的销售代表以获得进一步的支持。
    此致、
    Diego Abad