来一张图片,镇贴。
一,环境准备
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.tgz2、执行SS928V100_SDK_V2.0.X.X文件夹内部解压,
./sdk.unpack3、执行打补丁操作,
./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。
如下是编译成功画面。
三,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 203,文件系统编译
在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
pip install kconfiglib问题三:configure: error: missing one or more dependencies
问题四:在使用osdrv/tools/pc/uboot_tools/目录下的excel工具无法”Generate reg bin file”
有如上情况,将excel文件拷贝到windows目录中去,然后再打开。
问题五:烧写失败
可能是串口占用导致,关掉外面的串口工具即可。免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:EB-SS928开箱操作-eb992 https://www.yhzz.com.cn/a/9074.html