Tangyuxin
Tangyuxin
纯 python 版本实现,不知道还需不需要 https://github.com/enkiller/pykcp
我在 STM32Gx 系列上也遇到类似问题。我是这样修改的,你可以参考一下 1. 修改了 `write_kv_hdr` 函数,在写入 `FDB_KV_PRE_WRITE` 标记之后,在整条数据的末尾,添加了一个标记 ```c static fdb_err_t write_kv_hdr(fdb_kvdb_t db, uint32_t addr, kv_hdr_data_t kv_hdr, bool isfull) { fdb_err_t result = FDB_NO_ERR; /* write the status will...
> @enkiller STM32Gx 是啥特性,和 FDB 支持的其他 Flash 有啥区别? 1. Gx 系列不支持反复写,已经写入 0xFF 后,无法修改成其他值 2. 写入 8 字节对齐 3. 带 ECC 校验,访问 ECC 错误的数据,会产生 NMI 异常。物理层有限制,因此不能完全做到掉电安全。
> @enkiller STM32Gx 是啥特性,和 FDB 支持的其他 Flash 有啥区别? 1. Gx 系列不支持反复写,已经写入 0xFF 后,无法修改成其他值 2. 写入 8 字节对齐 3. 带 ECC 校验,访问 ECC 错误的数据,会产生 NMI 异常。物理层有限制,因此不能完全做到掉电安全。
我在 write_kv_hdr 函数加入数据结束标志,是防止当前数据写入掉电,下次写入时,从结束标志后开始写。防止下一条数据也写入失败
可以参考下这个方法,应该是完美解决方案 https://club.rt-thread.org/ask/article/38b4829d043d3215.html
TLS 特性目前在推进吗?大概是什么情况?
rt_thread 系统运行在非安全态,打开 ARM_CM33_ENABLE_TRUSTZONE 后,需要**安全态的库**提供相关的API,用于支持安全态线程上下文保存功能。
类似 `TZ_StoreContext_S` 的函数可以看看 ARM 给的示例: [Examples/Fault/B-U585I-IOT02A/Secure/tz_context.c](https://github.com/ARM-software/CMSIS-View/blob/main/Examples/Fault/B-U585I-IOT02A/Secure/tz_context.c) TrustZone 一般是跑加解密,鉴权等操作的。还需要搭配类似 `trusted-firmware-m` 的库一起使用