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。
我已经通过 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 中了解为什么文件系统在没有安全警报的情况下锁定?
您好!
NWP 日志可映射到比引脚62更多的 I/O 引脚。 您是否已占用所有这些引脚? 否则、不会有任何因素阻止您捕获 NWP 日志。
1月
遗憾的是、上述所有引脚均用于其他角色。
在我的情况下、器件无法启动我的应用。
NWP 引脚设置在引导加载程序阶段是否默认启用(当 CC3230尝试读取 SPI 闪存时)?
您是否通过 sl_Fsxxx() API 与文件系统直接通信?
是的、我使用此 API。
我认为它不会很有用、因为它不包含任何有关错误情况的信息。
并且、尽管该应用存在于 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 反映了正确的数字。
我建议"调试"在执行其他文件系统操作时以特定节奏读取此数字、并检测此数字何时增加。 然后、我们可以了解根本原因。
我看到、我们有错误代码
我不确定该错误会一直流向主机。
最好像我所说的那样探测误差计数器。