本人参加工作一直从事嵌入式开发,从湾湾的8位机,STC51,STM32,NUC972一路走来,磕磕碰碰不少。过完虎年春节,项目需求在B站上偶然看上了全志的V3S。正好适合现在的一个项目需求。于是毫不犹豫的买各式各样V3S开发板,奈何做这个的没STM32多。只找到两款。废话不说到手后开整。
准备采用linux+BSP方式构建系统。应用界面用QT完成。
主要问题在系统构建上,还好有论坛各位大牛热心帮忙。最最感谢@晕哥,无数次不厌其烦的解答些小白问题。
所以发个帖子记录一下,也让跟我一样从零入手V3S的人有个大概的了解。步骤如下(可能不完整或者表述错误,请见谅):
1.安装虚拟机我用的是 VMware Workstation Pro(当然是和谐版的);
2.在虚拟机上安装ubuntu18.04,硬件配置选择最好CPU 4核心以上,内存4G以上,网络选择桥接复制硬件连接方式,硬盘要40G以上;
3.装好Ubuntu后第一件事就是安装 vmtools,好处是可以在windows和 linux下任意复制粘贴文件或者文字;
4.安装vim
5.更改镜像源
sudo mv /etc/apt/sources.list /etc/apt/sourses.list.backup
sudo vim /etc/apt/sources.list
我选择的是阿里云的镜像:
#-------------------------------
deb [url]http://mirrors.aliyun.com/ubuntu/[/url] bionic main restricted universe multiverse
deb [url]http://mirrors.aliyun.com/ubuntu/[/url] bionic-security main restricted universe multiverse
deb [url]http://mirrors.aliyun.com/ubuntu/[/url] bionic-updates main restricted universe multiverse
deb [url]http://mirrors.aliyun.com/ubuntu/[/url] bionic-proposed main restricted universe multiverse
deb [url]http://mirrors.aliyun.com/ubuntu/[/url] bionic-backports main restricted universe multiverse
deb-src [url]http://mirrors.aliyun.com/ubuntu/[/url] bionic main restricted universe multiverse
deb-src [url]http://mirrors.aliyun.com/ubuntu/[/url] bionic-security main restricted universe multiverse
deb-src [url]http://mirrors.aliyun.com/ubuntu/[/url] bionic-updates main restricted universe multiverse
deb-src [url]http://mirrors.aliyun.com/ubuntu/[/url] bionic-proposed main restricted universe multiverse
deb-src [url]http://mirrors.aliyun.com/ubuntu/[/url] bionic-backports main restricted universe multiverse
#---------------------------------
更改完镜像源后当然是 apt update && apt upgrade
6.安装交叉编译环境,我用的是gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz
tar xvf gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz
mv gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf /opt/x
vim /etc/bash.bashrc
# add:
PATH="$PATH:/opt/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin"
source /etc/bash.bashrc
arm-linux-gnueabihf-gcc -v
如果显示出正确版本,则交叉编译器安装正确。
7.安装依赖库
sudo apt install gcc build-essential bison flex gettext tcl sharutils libncurses-dev zlib1g-dev exuberant-ctags g++ texinfo patch libtool bc git python3 unzip python3-distutils swig python-dev python3-dev
sudo apt install device-tree-compiler
sudo apt install module-init-tools
sudo apt install qemu-user-static -y
sudo apt install debootstrap -y
sudo apt-get install libssl-dev
sudo apt install qtchooser
8.参照 https://whycan.com/t_7248.html 小智开发板的配置。配置U-boot
git clone https://github.com/u-boot/u-boot -b v2021.07
补丁包下载: smallwitpi_lite_v3x_uboot_patch_for_202107.diff
patch -p1 < smallwitpi_lite_v3x_uboot_patch_for_202107.diff
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make smallwitpi_lite_v3s_ddr2_debug_uart0_pb8_pb9_defconfig
如果还需要其他 u-boot 配置执行:
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make menuconfig
编译:
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make
9.buildroot(同样参照小智的)
git clone https://github.com/buildroot/buildroot -b 2020.02.4
buildroot patch: br2_v3_uart0_pb8_pb9-spinor-tfcard-20211026132800.tgz
解压:
tar xvf br2_v3_uart0_pb8_pb9-spinor-tfcard-20211026132800.tgz
生成 V3x / S3 固件:
make br2_smallwitpi_lite_v2_ddr2_uart0_pb8_pb9_tfcard_spinor_defconfig
make
生成的镜像文件在buildroot的output/目录下。
10.烧录测试:
windows下,先用SD Card Formatter将SD卡格式化。然后用 Win32DiskImager 将镜像写入SD(TF)卡,将烧好的卡插上开发板。上电就可以运行了。
putty监控波特率115200. TTL转USB串口工具接 V3S的 UART0.
至此基本的运行环境可以跑起来了,后面还要解决RGB LCD的显示问题,音频播放的问题,触摸的问题。待续
离线
不错,要是配点图就更好!
离线
不错,要是配点图就更好!
还不会发图,
离线
这个跟系统有没关系,我的式Ubuntu 16.04,编译有错误。
离线