STM32H750的上电BOR生效电压
STM32H7的SMPS供电
STM32H7无法芯片
stm32cubeMx生成stm32H743IIT6 cmake工程时全局变量自动定义到DTCM段
CubeMX 生成的 STM32H7 CMake 工程打开串口 DMA 无法正常发送数据,如何解决?
TOF传感器无法正确识别物体
STM32H750VBT6无法使用flymcu.exe或flashloader,通过串口1烧写程序
STM32H723VGT6 通过USART1/3连接CubeProgrammer失败
求助:USB 设备模式下的 UF2 更新,擦写非活动 Bank 时引起主机复位,但加 Hub 正常 —— 双 Bank 不是应该无干扰吗?
stm32h745-nucleo下不进程序,就是用programmer看,识别得到stlink,但是连不到芯片
微信公众号
手机版
目前 ST 官方确实没有随同 HAL 库一起发布“可直接拿来量产”的 FTL。HAL 驱动只提供了最底层的 page-/spare 区读写、ECC 计算与 1-bit 纠错函数,坏块标记、磨损均衡、地址映射、垃圾回收等都需要用户自己实现,或者移植第三方开源方案
。
社区已经验证过的可行路线主要有三条,按“移植工作量”从低到高罗列如下,供你快速选型:
直接买“带内部 FTL”的 NAND 例如 SD-NAND(贴片式 TF 卡)、e-MMC、Raw-NAND+外部控制芯片。 优点:坏块、磨损均衡、掉电保护、ECC 全部由芯片内部完成,STM32 端只当成标准块设备(SDIO/SDMMC-SPI 均可),HAL 里现成的 FATFS 例程就能用。 缺点:单价会比裸 NAND 贵 20 %~40 %;如果用量大,成本压力明显
。
用“开源嵌入式 FTL”+FatFs 正点原子、阿波罗等板厂已经把“ftl.c + nand.c + bsp_nand.c”做成 HAL 框架下的参考工程,实现了:
上电扫描建立坏块表(BMT)
逻辑-物理块映射表(LUT)
擦写计数+静态/动态磨损均衡
512 B/1 kB 粒度 ECC(软件 Hamming + HAL 1-bit 修复)
垃圾回收、掉电恢复 代码完全开源(MIT 授权),F767/F429 上已跑通 FatFs,读写在 1~3 MB/s 量级,适合中小容量(512 MB~4 GB)产品直接量产
。 移植时只需把底层
NAND_ReadPage/NAND_WritePage换成你自己的器件驱动即可。自己写 or 移植 Linux 流行 FTL 如果对性能/寿命要求极高,可参考:
结论
官方目前仍没有发布成熟 FTL,所以“要么买带 FTL 的介质,要么用社区/第三方开源实现”仍是现实路径