首页 > 技术知识 > 正文

EB-SS928开箱操作-eb992

来一张图片,镇贴。

一,环境准备

1,开机启动

硬件启动,SS928支持spi,nand,emmc启动。当前开发板使用的是spi-nand的启动方式,如果需要支持板载emmc启动,那么需要修硬件,具体寻求开发板厂商支持

emmc在板载功能上可以作为存储单元,具体使用参考  (8.1 emmc使用)

2,拿到SDK后,环境搭建

解压如下文件

cc-riscv32-cfg5-musl-20211008-elf.tar.gz

aarch64-mix210-linux.tgz

tar xvf aarch64-mix210-linux.tgz tar xvf cc-riscv32-cfg5-musl-20211008-elf.tar.gz cd aarch64-mix210-linux source ./aarch64-mix210-linux.install #默认安装到 /opt/linux/x86-arm. #source ./aarch64-mix210-linux.install dirname dirname为指定的目录内 cd cc-riscv32-cfg5-musl-20211008-elf ./install.sh mkdir /opt/linux/x86-riscv32/ mv cc-riscv32-cfg5-musl-20211008-elf /opt/linux/x86-riscv32/ 修改~/.profile 添加PATH PATH=”/opt/linux/x86-arm/aarch64-mix210-linux/bin:$PATH” #cc-riscv32-cfg5-musl-20211008-elf PATH=”/opt/linux/x86-riscv32/cc-riscv32-cfg5-musl-20211008-elf/bin:$PATH”
<

二,解压SDK

SS928V100_REF_V2.0.X.X.tgz作为补丁包,可以将此补丁包打到SS928V100_SDK_V2.0.X.X.tgz包中,具体操作步骤如下:

1、将SS928V100_SDK_V2.0.X.X.tgz和SS928V100_REF_V2.0.X.X.tgz包放置到同一个文件夹下并解压,

tar zxvf SS928V100_SDK_V2.0.X.X.tgz tar zxvf SS928V100_REF_V2.0.X.X.tgz

2、执行SS928V100_SDK_V2.0.X.X文件夹内部解压,

./sdk.unpack

3、执行打补丁操作,

./ref_patch.sh

执行后,SS928V100_SDK_V2.0.X.X为打上REF补丁后的完整包。

4、一键编译

make all 默认编译: make BOOT_MEDIA=spi all

参数说明:

BOOT_MEDIA:spi nor或spi nand启动选择spi;并口nand启动选择nand;emmc启动选择emmc。

如下是编译成功画面。

EB-SS928开箱操作-eb9921

三,Uboot编译与配置

1,uboot编译

tar xf boot.tar.gz cd boot/gsl/ make CHIP=ss928v100 cd ../image_map/ cp ../gsl/pub/gsl.bin ./ cp ../../../../open_source/u-boot/u-boot-2020.01/u-boot-ss928v100.bin ./u-boot-original.bin cp ../../../../open_source/u-boot/u-boot-2020.01/.reg ./ python3 oem/oem_quick_build.py osdrv/components/boot/image_map/image/oem/下生成的boot_image.bin即为“非安全启动”使用的Boot Image。 cp osdrv/components/boot/image_map/image/oem/boot_image.bin ../../../../open_source/u-boot/u-boot-2020.01/

2,kernel编译

tar xf linux-4.19.90.tar.gz mv linux-4.19.90 linux-4.19.y cd linux-4.19.y patch -p1 < ../linux-4.19.90.patch cp arch/arm64/configs/ss928v100_defconfig .config (emmc启动时执行如下操作: cp arch/arm64/configs/ss928v100_emmc_defconfig .config) (并口 nand 启动时执行如下操作:cp arch/arm64/configs/ss928v100_nand_defconfig .config) make ARCH=arm64 CROSS_COMPILE=aarch64-mix210-linux- menuconfig make ARCH=arm64 CROSS_COMPILE=aarch64-mix210-linux- uImage -j 20

3,文件系统编译

在osdrv/pub/中有已经编译好的文件系统,因此无需再重复编译文件系统,只需要根据单板上启动介质的规格型号制作文件系统镜像即可。

spi flash使用jffs2格式的镜像,制作jffs2镜像时,需要用到spi flash的块大小。这些信息会在uboot启动时会打印出来。建议使用时先直接运行mkfs.jffs2工具,根据打印信息填写相关参数。下面以块大小为64KB为例:

osdrv/pub/bin/pc/mkfs.jffs2 -d osdrv/pub/rootfs_glibc_xxx -l -e 0x10000 -o osdrv/pub/rootfs_ss928v100_64k.jffs2

nand flash使用ubifs格式的镜像,制作ubifs镜像时,需要用到nand flash的pagesize和blocksize。这些信息会在uboot启动时会打印出来。

./osdrv/pub/bin/pc/mkfs.ext4 osdrv/pub/ss928v100_image_glibc/rootfs_ss928v100_96M.ext4 cd open_source/e2fsprogs/out/pc/contrib ./populate-extfs.sh ../../../../../osdrv/pub/rootfs_glibc_arm64 ../../../../../osdrv/pub/ss928v100_image_glibc/rootfs_ss928v100_96M.ext4

四,问题解决

问题一:  make all编译时报错:/bin/sh: 1 pushd:not found

执行sudo dpkg-reconfigure dash 命令,将dash设置为No

问题二:ImportError: No module named kconfiglib

EB-SS928开箱操作-eb9922

pip install kconfiglib

问题三:configure: error: missing one or more dependencies

EB-SS928开箱操作-eb9923

问题四:在使用osdrv/tools/pc/uboot_tools/目录下的excel工具无法”Generate reg bin file”

EB-SS928开箱操作-eb9924

有如上情况,将excel文件拷贝到windows目录中去,然后再打开。

问题五:烧写失败

EB-SS928开箱操作-eb9925

EB-SS928开箱操作-eb9926

可能是串口占用导致,关掉外面的串口工具即可。

猜你喜欢