1. 不同SDK的介绍与说明¶
当前LubanCat-Hi3403板卡提供两种SDK开发包,分别是LubanCat_Hi3403_Linux4.19_SDK和LubanCat_Hi3403_Linux6.6_SDK(后续文档中简称为Linux4.19_SDK和Linux6.6_SDK)。
下面将对两个版本的SDK进行对比和说明
1.1. Linux6.6_SDK¶
Linux6.6_SDK采取全开源方案,基于海思开源社区HiSpark/ss928v100_gcc项目二次开发。
HiSpark/ss928v100_gcc是HiSpark/Pegasus的子仓库,为Pegasus中的OpenHarmony系统提供Linux内核和安全启动环境。 HiSpark/Pegasus提供了完善的开发案例和技术文档,对多种操作系统的适配有详细的文档说明,并由开源社区进行维护。
项目地址为:https://gitee.com/HiSpark/pegasus
LubanCat-Hi3403板卡开发资料:https://gitee.com/HiSpark/pegasus/tree/master/vendor/LubanCat-Hi3403
项目配套开源文档:https://gitee.com/HiSpark/pegasus/tree/master/docs/zh-CN
野火Linux6.6_SDK以HiSpark/ss928v100_gcc项目为基础,深入适配LubanCat-Hi3403板卡的各项功能; 增加了buildroot和ubuntu系统镜像构建支持;对SDK进行了易用性改造,方便用户操作。
受HiSpark社区代码提交规范的约束,并为确保不影响其他设备,Linux6.6_SDK将以独立分支形式进行维护, 所有与LubanCat-Hi3403板卡相关的适配与功能开发均在该SDK中完成。 同时,对于具备通用性的改动,将提交至HiSpark开源社区进行合并,并持续同步上游的更新与修复。
1.2. Linux4.19_SDK¶
Linux4.19_SDK使用海思官方提供的SS928V100_SDK_V2.0.2.2版本进行二次开发, 深入适配LubanCat-Hi3403板卡的各项功能; 增加了buildroot和ubuntu系统镜像构建支持;对SDK进行了易用性改造,方便用户操作。
1.3. SDK对比¶
SDK版本 |
Linux6.6_SDK |
Linux4.19_SDK |
内核版本 |
Linux-6.6 |
Linux-4.19 |
根文件系统 |
Ubuntu、Buildroot |
Ubuntu、Buildroot、Busybox |
启动存储支持 |
eMMC |
eMMC、spi-Nand、spi-Nor |
交叉编译工具 |
aarch64-openeuler-linux-gnu |
aarch64-mix210-linux |
MPP |
支持 |
支持 |
MCU |
不支持 |
支持 |
DSP |
不支持 |
支持 |
对部分功能的差异进行详细说明:
内核版本:Linux6.6_SDK使用的内核版本为6.6,比Linux4.19_SDK的4.19内核版本更新,支持的特性更新。例如部分外设驱动在Linux-4.19中需要手动移植厂商驱动,而在Linux-6.6中自带对应驱动;对于WiFi6网卡的支持,Linux-6.6比Linux-4.19更好。
根文件系统:Linux6.6_SDK和Linux4.19_SDK对根文件系统的支持有差异,都支持Ubuntu、Buildroot系统,Linux4.19_SDK额外支持Busybox。
启动存储支持:Linux6.6_SDK仅支持eMMC启动镜像的构建,Linux4.19_SDK支持eMMC、spi-Nand和spi-Nor三种启动存储镜像的构建。(LubanCat-Hi3403板卡默认启动存储为eMMC,不使用别的存储可以认为没差异)
编交叉编译工具:Linux6.6_SDK使用openeuler编译器openeuler_gcc_arm64le进行交叉编译。Linux4.19_SDK使用SDK配套的aarch64-mix210-linux编译工具,除此之外配套编译工具cc-riscv32-cfg5-musl-20211008-elf还可以编译片上MCU的固件。
MPP: 海思媒体处理软件平台,两个版本的SDK都支持但有部分差异。
MCU:Linux4.19_SDK有片上MCU配套的LiteOS系统源码,可以编译对应的MCU和DSP固件。
此处仅对SDK中差异较大的部分进行了说明,有关各组件之间的详细差异在对应章节会详细说明,如未单独列出则说明无差异,或者虽有差异但在用户使用时不需要特别注意。
