IssueNo:#I4NNO4:device_qemu中csky和esp32编译失败,libc和文件系统重定义问题
Description:最新的kernel引入了musl库和文件系统,导致重定义问题,使esp32和csky的demo无法编译通过,需要兼容适配。
修改方案:
1.使用Utils组件及kernel下实现的文件系统。
2.使用kernel下的musl库
依赖:utils和posix接口
当前fs实现逻辑:
从使用UtilsFile接口开始流程如下:
UtilsFile (位于utils组件内)-> open/read/write/...(位于kernel中kal/libc/musl/fs.c) -> LOS_* (位于kernel中components/fs/vfs/los_fs.c) -> Lfs_(位于kernel中components/fs/littlefs/lfs_api.c) -> lfs_file_ (位于third_party\littlefs\lfs.c) -> Littlefs*(位于device目录下,用于适配硬件实现)
需要修改的文件:
1.适配UtilsFile接口:
a)vendor下的config.json中添加vendor_adapter_dir路径指向适配的UtilsFile接口。
b).在开发板目录下将UtilsFile*接口直接指向open、read、write。。
2.实现open/read/write硬件层实现。
a)在开发板目录下实现fs的硬件操作,当前使用的是rambd的方式模拟硬件。。
Sig:Kernel
Feature or Bugfix:Bugfix
Binary Source:No