作者:张军 文件名称:全志V851S芯片上手笔记 笔记日期:2023/3/22 全志的资料分散在多个地方,下载流程繁琐,如果没有FAE指点,会一头雾水。本人已经踩过一轮坑,本笔记旨在指导同事快速上手,避免重复踩坑。 请同事务必按笔记顺序操作。 --------------------------芯片说明------------------------------------- 全志V85x是一个系列,有多款芯片,共用同一套SDK,但各个芯片的配置不同。 公司初步选定V851S这款芯片。 --------------------------资料说明------------------------------------- 全志V851S芯片相关文档、SDK、工具我已经下载好,上传到我的百度网盘:/全志V85x_SDK 开发前需要把整个百度网盘目录下载到本地电脑上。 官方SDK是git管理的,经常有更新,会出现代码和文档不一样的情况。如果发现此种情况,自己无法解决,就及时问全志最大代理商索智FAE。 因为SDK经常更新,可能会出现解决了A公司的问题,又导致B公司出问题。所以建议: 1、团队成员不要自行更新SDK,避免出现因团队成员使用不同版本的SDK出现莫名其妙的问题。由我统一更新SDK,打包给整个团队共享。 2、没有问题,就不要频繁更新SDK。 3、如果确实需要自行更新SDK,看文档《V85X开发板SDK下载说明.pdf》。 --------------------------Ubuntu16虚拟机说明------------------------------------- 全志不提供配置好的虚拟机,此虚拟机是我自行安装的。 虚拟机安装程序软件在:/全志V85x_SDK/VirtualBox7虚拟机安装文件 虚拟机导出文件软件在:/全志V85x_SDK/virtualbox7导出虚拟机/ubuntu-16.04(virtualbox7导出_已装Samba_NFS_adb_SSH_Vscode_已配置全志V85xSDK环境).ova 在windows宿主电脑上安装好VirtualBox7后,选择导入.ova文件即可。 首次启动Ubuntu16前,记得确认网卡模式为”桥接模式“,然后点随机生成MAC地址,防止与其他同局域网同事产生MAC地址冲突。 首次启动Ubuntu16后,需要根据使用者实际网络环境,给Ubuntu16配置IP、网关、DNS等信息。 我经在Ubuntu16安装好开发常用软件samba、ssh、nfs、adb、vscode等软件,配置了全志V85xSDK的PATH变量。 samba和nfs的共享目录是/home/tmphome,用户名z,密码123456; 本地登录和ssh登录用户名是z,密码123456;root用户密码也是123456; 因为V85xSDK在Ubuntu16里会导致Ubuntu16镜像文件.ova超过20GB,无法上传百度云盘。 所以我把在Ubuntu16里下载的V85xSDK打包为v85x-sdk_20230322.tgz,转移到windows宿主电脑上,把v85x-sdk_20230322.tgz和Ubuntu16虚拟机镜像文件ova分开上传百度网盘。 导入Ubuntu16虚拟机后,需要自行把v85x-sdk_20230322.tgz拷贝到Ubuntu16里的/home/tmphome/目录,然后运行下面命令解压即可: $ tar xvzf v85x-sdk_20230322.tgz ./v85x-sdk 如果要在Ubuntu16里装其他软件,需要更新apt源,用百度网盘上的“ubuntu16.04_apt_sources.list”文件,重命名为"sources.list"后覆盖掉Ubuntu16里的"/etc/apt/sources.list"文件。 没什么问题,不要升级Ubuntu16操作系统,防止出现各种库依赖问题。 --------------------------adb 安装说明----------------------------------- ubuntu16虚拟机里已经安装好adb工具。 windows宿主电脑,把android-adb-tools_r34.0.1-windows.zip解压到任意目录,把adb所在目录配置到windows系统环境变量PATH里即可。 --------------------------开发板说明----------------------------------- 全志V851S有多种开发板,公司购买的型号是SC1725V,配置是V851S+nor+eth+gc2053; 开发板硬件说明书在:压缩包“SC1725V(V851S or V851SE)开发板里”的《SC1725V(V851S or V851SE) 开发板硬件规格书230208.pdf》; 开发板原理图在:压缩包“SC1725V(V851S or V851SE)开发板里”的《SC1725V-MB-V00-2022102601-SCH.pdf》; 开发板通过Type-C线与电脑连接后,可以在windows宿主电脑或者ubuntu虚拟机上使用adb命令控制开发板。 此开发板使用16MB的SPI nor flash,空间太小,整个Flash都设置为只读了。调程序需要在开发板上插入一张TF卡。 TF卡在开发板上的目录是:/mnt/extsd v85x-sdk_20230322.tgz版本的SDK,不会自动挂载TF卡,需要手动运行以下命令挂载: $ adb shell # mount /dev/mmcblk0p1 /mnt/extsd/ adb给开发板设置临时IP和网关: $ adb shell # ifconfig eth0 192.168.2.150 netmask 255.255.255.0 # route add default gw 192.168.2.1 $ exit 把电脑D:\helloworld 文件传到开发板/mnt/extsd/ adb push D:\helloworld /mnt/extsd 把开发板/mnt/extsd/helloworld 文件传到电脑D:\tmp\ adb pull /mnt/extsd/helloworld D:\tmp 也可以通过下面命令,挂载虚拟机里的/home/tmphome目录到开发板/tmp/nfs_home上 mkdir /tmp/nfs_home mount -t nfs 192.168.2.90:/home/tmphome /tmp/nfs_home 开发板如果调程序弄崩溃,无法启动了,可自行编译和打包.img镜像,用PhoenixSuit1.19软件重新烧镜像到开发板里。 如果不想自己编译和打包,可烧默认的初始镜像文件“全志V851S开发板固件/tina_v851s-sc1725v_nor_uart0_nor.img” --------------------------虚拟机交叉编译环境说明----------------------------------- 全志SDK目录:/home/tmphome/v85x-sdk 自己写的程序可放在:/home/tmphome/workspace,此目录写了个helloworld程序,可以用它验证编译环境是否正常。 交叉编译工具链路径:/home/tmphome/v85x-sdk/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin 交叉编译工具链名称:arm-openwrt-linux-gcc 此SDK是多款芯片共用的,编译针对V851S这款芯片的软件和打包镜像包前,需要加载对应的环境变量配置。命令如下: $ cd /home/tmphome/v85x-sdk/ $ source build/envsetup.sh $ lunch $ input 8 #即选择v851s_sc1725v_nor-tina $ make -j1 #第一次编译sdk需要比较长时间,普通电脑需要一个多小时。后续再增量编译就会很快。-j1 表示单线程编译。FAE建议第一次单线程编译,避免因依赖关系出现各种莫名其妙的问题。 $ pack #打包镜像。平时调某个程序,不建议用打包镜像、烧写镜像的方式。因为这种方式太耗时。建议通过nfs挂载虚拟机的/home/tmphome目录到开发板上调试。 --------------------------看全志文档步骤---------------------------------- 1、压缩包“SC1725V(V851S or V851SE)开发板里”的《SC1725V(V851S or V851SE) 开发板硬件规格书230208.pdf》; 2、压缩包“SC1725V(V851S or V851SE)开发板里”的《SC1725V-MB-V00-2022102601-SCH.pdf》; 3、压缩包“全志官网FTP下载的V85x开发包(文档和原理图)"的 \Hardware硬件类文档\芯片手册V851S_Brief_CN_V0.1.pdf 4、压缩包“全志官网FTP下载的V85x开发包(文档和原理图)"的 \Software软件类文档\基础组件开发指南 目录下的《Tina_Linux_系统软件_开发指南.pdf》 5、压缩包“全志官网FTP下载的V85x开发包(文档和原理图)"的 \Software软件类文档\差异化开发指南 目录下的《Tina_Linux_V85X_SDK_发布说明.pdf》和《V85X_Tina_Linux_SDK_V1.0.0_使用指南.pdf》。 6、压缩包“全志官网FTP下载的V85x开发包(文档和原理图)"的 \Hardware硬件类文档\芯片手册\V851S&V851SE_Datasheet_V0.1.pdf 需要看哪个功能模块,就到压缩包“全志官网FTP下载的V85x开发包(文档和原理图)"的 \Software软件类文档\基础组件开发指南 目录下找对应的文档。 特别说明:虚拟机里的home\tmphome\v85x-sdk\docs\文档目录,已经过时了,全志不再更新,不用看。 --------------------------编译例程---------------------------------- 例程源码:/home/tmphome/v85x-sdk/external/eyesee-mpp/middleware/sun8iw21/sample/ 默认是不编译例程代码的,需要menuconfig配置启用。例如,启用MMP模块例程的配置: $ make menuconfig Allwinner ---> eyesee-mpp ---> [*] select mpp sample --------------------------全志平台入门教程---------------------------------- 初次使用全志平台,可看全志在线培训课程https://www.aw-ol.com/training