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.

[参考译文] CC3230S:锁定的文件系统

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1333311/cc3230s-locked-file-system

器件型号:CC3230S
主题中讨论的其他器件: UNIFLASH

团队成员很好!

我有几个带锁定文件系统的 CC3230S。
我已经通过 Uniflash 检查了这些 SOC:
1) 1)某些 SOC 具有安全警报(15自15)且无法启动。
2)其他 SOC 也无法启动、但安全警报为0。
我认为、我会在 https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1286865/cc3235modsf-what-are-the-reasons-for-the-explicit-security-alerts/4880531#4880531上遇到类似的问题
我已检查 CC3230和 SPI 闪存之间的 SPI 总线、 通电后有一些通信、但该通信会在几秒钟内发生、无法启动我们的应用。
可以在运行时或 Uniflash 中了解为什么文件系统在没有安全警报的情况下锁定?

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

    您好!

    不幸的是、无法知道原因。 增加警报的原因极少(例如、创建文件但签名错误、读取文件且文件系统中的 SHA 已损坏、提供错误令牌来访问安全文件等)。

    NWP 日志可能在此处有所帮助。

    此致、

    什洛米

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

    您好!

    遗憾的是、这些 SOC 中禁用了 NWP 日志(用于其他功能的 NWP UART 引脚)。

    我们是否能够在不读取 NWP 的 UART 的情况下在运行时检查 NWP 日志?

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

    不幸的是、不 这是唯一的方法。

    这是不可能知道是什么原因造成了它的第一.

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

    您好!

    NWP 日志可映射到比引脚62更多的 I/O 引脚。 您是否已占用所有这些引脚? 否则、不会有任何因素阻止您捕获 NWP 日志。

    • MAP_PinTypeUART (PIN_53、PIN_MODE_5);//GPIO30
    • MAP_PinTypeUART (PIN_18、PIN_MODE_3);//GPIO28
    • MAP_PinTypeUART (PIN_60、PIN_MODE_3);//GPIO5
    • MAP_PinTypeUART (PIN_62、PIN_MODE_1);//GPIO7

    1月

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

    遗憾的是、上述所有引脚均用于其他角色。
    在我的情况下、器件无法启动我的应用。

    NWP 引脚设置在引导加载程序阶段是否默认启用(当 CC3230尝试读取 SPI 闪存时)?

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

    否、需要在开始执行后从应用层对其进行配置。

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

    好的、谢谢。

    我有一个与安全警报计数器相关的问题。

    我观察到、该计数器从10增加到11、是否可能获取一些调试信息来定义发生这种情况的原因?(例如:文件、密钥或其他调试信息)

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

    不能没有实时并行运行和记录的 NWP 日志。

    您是否通过 sl_Fsxxx() API 与文件系统直接通信?

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

    您是否通过 sl_Fsxxx() API 与文件系统直接通信?

    是的、我使用此 API。

    还有一个问题:
    我已经查看了 fs.h (fs.h - CC31xx/CC32xx 主机驱动程序实现)、并且看到了具有有趣计数器的 SlFsControlGetCountersResponse_t、这对我来说将是一些调试信息、但我没有看到任何命令示例如何使用此请求(SlFsControlGetCountersse_t)。
    您是否具有此代码示例?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我认为它不会很有用、因为它不包含任何有关错误情况的信息。

    并且、尽管该应用存在于 NWP 中、但不会发生这种情况。

    无论如何、 您可以将其添加为 sl_FsCtl 的一部分(使用操作码 sl_opcode_NVMEM_NVMEMFILESYSTEMCONTROLCOMMAND)。

    您将需要编辑以下内容并以黄色添加缺失的命令:

    typedef 枚举
    {
    SL_FS_CTL_RESTORE = 0、/*恢复出厂默认设置*/
    SL_FS_CTL_ROLLBACK = 1、
    SL_FS_CTL_COMMIT = 2、
    SL_FS_CTL_RENAME = 3、

    SL_FS_CTL_GET_FILES_COUNTER_REQUEST = 4、
    SL_FS_CTL_GET_STORAGE_INFO = 5、
    SL_FS_CTL_BUNDLE_ROLLBACK = 6、
    SL_FS_CTL_BUNDLE_COMMIT = 7
    —SlFsCtl_e;

    然后、只需像 调用 SL_FS_CTL_GET_STORAGE_INFO 一样调用它。 例如:

    sl_FsCtl ((SlFsCtl_e) SL_FS_CTL_GET_STORAGE_INFO、0、NULL、
    null、
    0、
    (uint8_t *)&SlFsControlGetStorageInfoResponse、
    sizeof (SlFsControlGetStorageInfoResponse_t)、
    null);

    BTW、 SL_FS_CTL_GET_STORAGE_INFO 正在跟踪警报,因此您可以使用它来查看计数器何时增加,以及确定可能导致增加的原因。

    什洛米

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

    您好!

    谢谢、我将尝试更改代码。

    目前、我使用  SL_FS_CTL_GET_STORAGE_INFO 来获取安全计数器、但 我不清楚发生这种情况的原因

    (示例:-我得到计数器从10到11、然后我将检查 NWP 的一些状态、NWP 说-文件 example.txt 由于闪存损坏而损坏)

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

    如何在文件系统中处理该文件? 您申请哪些操作? 该文件是否受保护?

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

    我有多个文件(安全的、不安全的)。 我使用读/写等
    我从 FS 获得 NumOfAlerts 和 NumOfAlertsThreshold (安全警报计数器)。
    我的任务是减小该计数器或避免增加该计数器(以避免文件系统锁定)。 您能否建议没有 NWP 日志的方法如何执行此操作?

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

    如果它已经增加,就没有办法减少它。

    这是一种安全机制、您需要了解是什么触发此计数器增加。

    不需要的一种方法是捕获 NWP 日志。

    另一种方法是执行某些操作(如通常所做的那样)(调用文件系统 API)、获取计数器并尝试关联导致此计数器增加的操作。

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

    您好!

    谢谢。

    我尝试使用  SL_FS_CTL_GET_FILE_COUNTERS_REQUEST 命令读取计数器。

    我获得了以下结果: CNT: 165 165 165 165 165 165 165

    第二次重试后、我得到:CNT:5 165 196 0 217 165

    我已将多个值写入文件并再次进行了检查:

    CNT: 5 165 196 0 217 165。 (与之前计数器的值无变化)

    您能否建议、NWP 上的此功能(SL_FS_CTL_GET_FILES_COUNTER_REQUEST)工作正常、或者 存在一些问题?

    下面是我的代码:

    SlFsControlGetCountersResponse_t response_1;
        sl_FsCtl((SlFsCtl_e)SL_FS_CTL_GET_FILES_COUNTERS_REQUEST,
                 0,
                 NULL,
                 NULL,
                 0,
                 (_u8 *)&response_1,
                 sizeof(response_1),
                 NULL);
        print_uart("cnt: %u %u %u %u %u %u",
                         response_1.ClosedFilesCnt,
                         response_1.ClosedFilesCntWithValidFailSafeImage,
                         response_1.OpenedForWriteCnt,
                         response_1.OpenedForWriteCntWithValidFailSafeImage,
                         response_1.OpeneForReadCnt,
                         response_1.OpeneForReadCntWithValidFailSafeImage);
    
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这可能是因为此功能不成熟、所以它保持关闭状态(或至少未发布)。

    我们来看看星期日、但如果这些数字是数字、我就不会依赖这种机制了。

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

    您好!  您能否提供您支票的结果?

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

    您好、刚刚检查了一下。 该操作码当前未实现、因此请忽略它。

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

    您能否建议、最好的方法是知道安全计数器增加了吗? 目前、我仅使用  SL_FS_CTL_GET_STORAGE_INFO 来获取安全计数器。

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

    是的、  SL_FS_CTL_GET_STORAGE_INFO 内的 NumOfAlerts 反映了正确的数字。

    我建议"调试"在执行其他文件系统操作时以特定节奏读取此数字、并检测此数字何时增加。 然后、我们可以了解根本原因。

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

    我看到、我们有错误代码  

    #define SL_ERROR_FS_SECURITY_ALERT (-10300L)、我们是否可以使用它来定义安全警报何时发生?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我不确定该错误会一直流向主机。

    最好像我所说的那样探测误差计数器。