使用RAM和Linux NBD构建一套FTL验证方案
本文简单介绍在PC中使用RAM模拟Nand Flash相关操作, 在该虚拟Flash上集成已有的FTL,并使用Linux NBD 配合FTL实现一个可被OS访问的块设备。通过虚拟Nand Flash、 FTL、NBD、Linux块设备和文件系统,本文构建了一套可用 于测试与验证FTL设计的方案。
本文简单介绍在PC中使用RAM模拟Nand Flash相关操作, 在该虚拟Flash上集成已有的FTL,并使用Linux NBD 配合FTL实现一个可被OS访问的块设备。通过虚拟Nand Flash、 FTL、NBD、Linux块设备和文件系统,本文构建了一套可用 于测试与验证FTL设计的方案。
我实现了一个极简的FTL,在此基础上,使用STM32F103 和SPI Flash实现了一个USB MSC U盘。本文不包含对USB协议的讲解, 所实现的FTL也并不完整,无任何高明之处,仅仅指出使用 Flash实现一个块设备能被操作系统识别并读写至少应该 完成哪些工作。
本文对spiffs(0.3.7)进行简单介绍,包括它的功能、适用范围 和基本架构,不包含源码实现细节分析。
本文记录手动构建适用于Beaglebone Black开发板的Linux 系统的过程,包括U-Boot构建、Kernel构建和使用BusyBox构建 根文件系统,以及相关的配置和部署,最终在开发板上运行一个 小型的Linux系统。
最近开始接触嵌入式Linux,构建嵌入式Linux相关的 程序如U-Boot、Kernel等需要在开发主机上安装交叉 编译工具链,本文记录一次在Docker中使用crosstool-ng 构建设适用于 TI Sitara AM3358 SOC 交叉编译工具链的过程。