
回复
OpenHarmony中的编译工具链支持arm、arm64等架构的CPU,如果适配的芯片架构不同(如csky),需要新增其他架构类型的CPU到编译框架。流程如下:
修改build相关文件
将目标芯片的交叉编译工具链压缩包解压到OH源码指定的目录中(kernel/linux/build/kernel.mk中KERNEL_TARGET_TOOLCHAIN我们指定了编译路径为prebuilts/linux-x86/csky/bin),以本机为例,在OH源码根目录//prebuilts/gcc/linux-x86下新建csky文件夹,解压交叉编译工具链到OH源码根目录/prebuilts/gcc/linux-x86/csky路径下,命令如下:
执行hb build -f ,编译目标芯片
可以看到内核正常编译,单编译sysroot_lite时出错
在build/lite/BUILD.gn中定义了如下内容问题出在third_party/musl/scripts/build_lite/BUILD.gn
因为OH默认加载musl内部的libc libc++等库,但是musl中并没有csky的C库,所以使用需要目标芯片的编译工具链提供的c库,包括libc、lib,处理方式如下: