参考网址

平台编译介绍网址:http://10.0.93.103/AP-Android/wiki/yocto_based_linux
Yocot平台介绍网址:http://wikiserver.spreadtrum.com/SoftwareSystem/wiki/Yocto_Linux

启动docker容器

Yocto的代码下载编译需要在docker容器中进行,由于服务器环境下已经安装了docker,可以直接启动,启动命令如下:
sudo /usr/local/bin/docker.sh yocto

代码下载

repo init -u ssh://gitadmin@gitmirror.unisoc.com/yocto/oe-rpb-manifest -g XXX -b unc_linux_trunk
注:下载时只替换XXX,其他信息保留不变
下载全部代码: -g default,allbsp
下载sp9832e: -g default,18a_rls2
下载sp9863a: -g default,18b
下载sp9832a: -g default,debian_trunk
下载sl8563 : -g default,18a_rls1
下载sl8521e: -g default,17f_rls1(kernel4.4 已废弃)
下载sl8517 : -g default,shark_mp
下载sl8541/sl8521e: -g default,sprdroidq
下载udx710 : -g default,orca
下载ud710 : -g default,19b
下载ud710-XEN : -g default,19b_hyp

下载sl8521e项目代码的命令:
命令1:repo init -u ssh://gitadmin@gitmirror.unisoc.com/yocto/oe-rpb-manifest -g default,sprdroidq -b unc_linux_trunk
命令2:repo sync --bin download

代码编译

打开一个新的终端,切换到yocto工程根目录
输入命令:source setup-environment
用户根据图形界面,选择machine和distro,如下图
选择machine
选择distributions

根据提示信息,例如用户想要编译unisoc-console-image,运行如下的命令:
输入命令:bitbake unisoc-console-image

制作pack包:

./build.sh sl8521e-base+initgc+console userdebug
Pack路径:Z:\yocto_sl8521e\out\target\product\sl8521e-base\cp_sign\8521e_board

编译库:

以编译libispalg.so为例
输入命令 bitbake libispalg
文件路径:Z:\yocto_sl8521e\build-unisoc-initgc\tmp-unisoc_initgc-glibc\work\armv7ahf-vfp-unisoc-linux-gnueabi\libispalg\0.1-r0\image\usr\lib

编译sprd_camera.ko:

  • 编译 bitbake -c cleansstate unisoc-console-image && bitbake unisoc-console-image
  • 编译 bitbake -c cleansstate libcamdrv && bitbake -C libcamdrv
  • 编译 bitbake -c cleansstate sprd-camera && bitbake -C compile sprd-camera
  • 编译出来的路径 unc_linux_trunk/source/unisoc/libcamera/kernel_driver/make/core/sprd_camera/
  • Push 路径 adb push sprd_camera.ko /lib/modules/4.14.174/extra

运行

运行v4l2camera 的demo程序,图像保存在手机路:home/user/dump
相关log存放在 mnt/data/yocto.log

其他

Push库到手机失败提示:

解决方案:
输入命令:
命令1:adb shell
命令2:mount -o remount,rw /
命令3:exit
命令4:adb remount

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐