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中差异较大的部分进行了说明,有关各组件之间的详细差异在对应章节会详细说明,如未单独列出则说明无差异,或者虽有差异但在用户使用时不需要特别注意。