SSC336/SSC338/SSC30K开发笔记之环境搭建和SDK编译

SSC336/SSC338/SSC30K开发笔记

文章目录

  • SSC336/SSC338/SSC30K开发笔记
  • 前言
  • 一、环境搭建:
    • 1.安装工具链:
    • 2.更换解释器sh为bash:
  • 二、编译固件:
    • 1.bootloader:
    • 2.linux内核:
    • 3.编译SDK:
    • 4.编译APP:
  • 三、更换sensor驱动:
    • 1.编译驱动:
    • 2.加载驱动:
  • 总结


前言

SSC336/SSC338/SSC30K 包含了几种衍生型号,对应不同的外设和封装,但他们使用同一份SDK,所以,环境搭建和SDK编译就有了相同的方法。

SSC336D/Q,分辨率3MP@30FPS,分别内置1Gb和2Gb DDR,带0.5T AI算力。
SSC30KD/KQ,分辨率5MP@30FPS,分别内置1Gb和2Gb DDR,带0.5T AI算力。
SSC338Q,分辨率4K@20FPS,内置2Gb DDR,带0.5T AI算力。
SSC338G,分辨率4K@20FPS,外挂单颗或两颗DDR3,容量最高可达8Gb, 带1T AI算力。
SSC339G,分辨率4K@30FPS,外挂单颗或两颗DDR3,容量最高可达8Gb, 带1T AI算力

一、环境搭建:

以下步骤参考:
SDK 说明文档-2020-9-10\common\开发环境搭建参考.pdf

1、更换换为bash参考:
https://blog.csdn.net/kongxx/article/details/90632653

2、64位系统使用32位库参考:
https://blog.csdn.net/qq_26058749/article/details/78340920
sudo apt-get -f install lib32z1 libstdc++6 lib32stdc++6 lib32ncurses5

3、NFS挂载问题—— failed: Protocol not supported:
在这里插入图片描述

1.安装工具链:

1、解压工具链:
(1).gcc-sigmastar-9.1.0-2019.11-x86_64_arm-linux-gnueabihf.tar 移动到/opt目录。
(2). vi /etc/profile,
在这里插入图片描述

2.更换解释器sh为bash:

sigmstar的编译脚本用的都是bash.如果默认是sh的话,很多脚本命令是不认识的,编译会出现很多错误。
在这里插入图片描述
Ubuntu切换默认sh为bash或者dash:
https://www.cnblogs.com/wwlww/p/8410174.html
#sudo dpkg-reconfigure dash
选择否即可。

二、编译固件:

1.bootloader:

在这里插入图片描述
SPI- NAND package
declare -x ARCH=“arm”
declare -x CROSS_COMPILE=“arm-linux-gnueabihf-”
make infinity6e_spinand_defconfig;
make clean;
make
在这里插入图片描述
编译后得到镜像
cp u-boot_spinand.xz.img.bin ${ your_release_path }// 选择 spi-spinand 时

2.linux内核:

在这里插入图片描述

在这里插入图片描述
终端输入:
#declare -x ARCH=“arm”
#declare -x CROSS_COMPILE=“arm-linux-gnueabihf-”
#make infinity6e_ssc012b_s01a_spinand_defconfig
#make

内核配置:
make ARCH=arm menuconfig
输出文件:
#cp arch/arm/boot/uImage.xz ${ your_release_path }

SSC336Q的内核模块在启动的时候动态插入,包括NFS。
vi /customer/demo.sh
在这里插入图片描述

3.编译SDK:

文件目录:sourcecode/project
在这里插入图片描述
cd $/{Alkaid}/project
. /setup_config.sh xxx_alkaid_build_config
(exp: . /setup_config.sh ./configs/ipc/i6e/ spinand.glibc-squashfs.012b.128.qfn128)
make image

产生新的配置文件:
#./setup_config.sh ./configs/ipc/i6e/spinand.glibc-9.1.0-squashfs.012b.256.qfn128
编译镜像:
#make image
编译完毕后:
#ls image/output/images/ -l
在这里插入图片描述

4.编译APP:

在SDK编译正常后才可以编译APP,因为Makefile文件用到SDK里面的配置,需要设置正确的配置文件,否则编译不过。
在这里插入图片描述
源码位置:sourcecode/sdk/verify/mi_demo
在这里插入图片描述
直接make即可。生成的目标文件:
在这里插入图片描述

三、更换sensor驱动:

1.编译驱动:

进入目录:sourcecode/sdk/driver
在这里插入图片描述
编译出来驱动程序:
ls sourcecode/sdk/driver/SensorDriver/drv/src
在这里插入图片描述

2.加载驱动:

将驱动程序下载到板端,加载新的驱动即可:(这里只是举例说明,实际以板端为准)
/customer/demo.sh
这个脚本会在系统启动时候运行,加载所有的驱动程序,加载sensor的驱动程序。然后再启动应用程序。这个脚本可以自己手动编辑:
vi /customer/demo.sh
将里面的sensor驱动名字换成自己编译出来的即可,驱动文件的路径要正确。/customer目录是可写的。 (可以参考我们的固件里面的这个文件)
比如sensor是SC2336:
insmod /customer/sc2336_MIPI.ko chmap=1
比如sensor是IMX307:
insmod /customer/imx335_MIPI.ko chmap=1
比如sensor是SC200AI:
insmod /customer/SC200ai_MIPI.ko chmap=1

总结

以上就是sigmastar SSC336/SSC338/SSC30K芯片的环境搭建和SDK的编译过程,后续还会有系列文章,敬请期待.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值