# 上图
![QQ图片20220312200954.jpg](//image.lceda.cn/pullimage/KgS6EMqmPBqzxrvHQuwkWEwO5QtnJgMrEuMdHSUO.jpeg)
# 一、介绍
这款开发板用的芯片是全志的V3X,内置128MB RAM和一些其他的外设功能,具体就不介绍了,大家到坑网里去查找,里面资料比较详细。
附上坑网链接:[坑网](https://whycan.com/)
# 二、使用初衷
之前开源过一个全志V3S的开发板,并且我已经画了两版了,一款是开发板的形式,已经开源,还有一款是核心板加底板的方式,核心板是MINI PCIE接口的,这样主要是为了方便去画底板,方便自己DIY(暂未开源,以后会开)。
我为什么要使用V3X这款芯片呢,主要是因为我前面用V3s做的一个QT应用运行的时候出现了一点问题,具体是用V3S运行QT应用程序的时候,每当打开一个应用的时候运行比较卡顿,也就反应很长时间,使用效果很不好,但是在主界面滑动还是很流畅的,视频播放用480x272的分辨率播放效果还是可以的。首先我怀疑有两种可能性,一种就是写的QT应用程序不是很好,造成使用卡顿,还有一种就是处理器性能不够,可能是V3S的内存过小,吃不消。之前开源V3S的时候,晕哥给我发了大红包,还告知我有V3X的活动,之前没有需求就没有申请,因为V3X的RAM是V3S的2倍,我就想试试V3X运行效果是不是好一点,于是就找晕哥申请了两片V3X,在这里非常感谢晕哥。
# 三、画板
平时上班也没有什么时间,就抽上周末两天简单画了一下,主要参考的是我之前的V3S的原理图和晕哥开源的原理图。
[晕哥开源原理图](chrome-extension://ibllepbpahcoppkjjllbabhnigcbffpi/https://whycan.com/files/members/3907/Schematic_V3x_2021-12-06.pdf)
[我开源的全志V3S](https://www.oshwhub.com/lengyuefeng/v3scopy_copy)
电源部分使用的是EA3036,因为之前全志V3S用的也是这个芯片,比较熟悉。这次主要就是电压不同,这个芯片只需要修改电阻即可,可以根据这个公式计算。
**Vout=0.6x(1+Ra/Rb)**
画的时候加上了功放,使用的是8002B,这个比较便宜,就几毛钱,之前方案也验证过,用起来比较方便。
看晕哥的原理图用到了emmc,本来想加一个的,试了一下,4层板这个BGA根本扇不出来,索性直接不要了。
RGB屏幕用的是正点原子接口,有这个屏幕,没什么好说的。
原理图比较乱,也没有整理,随便看看吧。
PCB布线也比较随意,一些情况也没有注意,反正能用。
本来是打算上四层板的,但后来发现挤挤也能布下,就两层算了。
这里贴个3D预览图
![image.png](//image.lceda.cn/pullimage/v8ejEfKbBxkRVwhWWBFqtlCwDCBGm4ouak9aFhoV.png)
# 四、焊接调试
## 1.空板
周末画完板子之后,周一就发去打板了,板子是黑色的,我感觉是比较好看的,不得不说,嘉立创的速度可以,在周五下班的时候我顺利的拿到了板子,五块,做工很不错。![image.png](//image.lceda.cn/pullimage/WODLOZaQu6Rph4UBxLHN14O4P0VDPaWmRyRBNpDx.png)
## 2.焊接步骤
### 1.焊接芯片电源
下面给大家介绍一下我一般焊接的步骤。
首先拿到空板之后,我会先焊接电源部分,然后测量3路电压是否都正常。
我现在喜欢拿风枪直接吹,比较快速。
上锡膏,摆放器件,我布局的时候都是一块一块画的,所以应该比较好区分。![QQ图片20220312201021.jpg](//image.lceda.cn/pullimage/nM3vLv6PpzVBwovrdbW4vOPdyUA2AFv7pdDNP7DQ.jpeg)
吹好之后是这样的。![QQ图片20220312201024.jpg](//image.lceda.cn/pullimage/uwk1rPFaowkcSMNqG3tR8r3kjXeU4mw08v23bigh.jpeg)
大家发现这个开关是没焊的,不是我不想焊,是我库存没有找到(真的是,之前还专门看了一下有没有缺什么东西)。
这里没办法,只好直接用锡把这两个引脚短接。
检测好没有短接之后就上电测试吧。
**三路电压:**![QQ图片20220312200959.jpg](//image.lceda.cn/pullimage/ETmVfiuHBJ24LoyTSiUvopFPfp1PotEyMsQAFadP.jpeg)![QQ图片20220312201006.jpg](//image.lceda.cn/pullimage/Yqhv7GhNqyuVRHHNUodvSoDLn3qq6wJMTXyYyfqg.jpeg)![QQ图片20220312201017.jpg](//image.lceda.cn/pullimage/1uJyMjFgWaN12idRHElStwuXdlhryyqPr4bdTMrS.jpeg)
不知道是焊工长进了还是运气好,反正一次成功,上电之后直接电压输出正常。
### 2.焊接芯片外围
电源测试OK之后,我们就可以焊接芯片外围电路了。![QQ图片20220312201013.jpg](//image.lceda.cn/pullimage/w3fGLgVKDMISWmhSn2mfB0NnsDJvfh6ukxIX7p3J.jpeg)![QQ图片20220312201009.jpg](//image.lceda.cn/pullimage/KC1RIRYyMfg3XZqqaovnaLZzSVQxZmwZOrsyZSRb.jpeg)
把正面和背面都焊接上。
然后再焊接上主芯片。![QQ图片20220312201002.jpg](//image.lceda.cn/pullimage/w05GnKw0yNNNmCOus1iRcdUnr7FslWVnqjWvr1N6.jpeg)
这个时候SD卡可以先不用焊接,可以先焊接USB,然后测试芯片是否通信。
大家发现我这个USB是很丑的,这是因为我这个是直插的,我画的封装是贴片的,只好掰弯了,也不是不能用。
### 3.上电USB测试
打开ubuntu,插上USB之后窗口会弹出USB设备,如果没有弹出,请检查电路。
我这里直接识别了。
然后执行sudo sunxi-fel -l命令
![image.png](//image.lceda.cn/pullimage/U953XJRH9RXE8DxsCB0XgDUbMRlzxJ0oUvZqC0kk.png)
这个状态就说明正确识别到了芯片。
这个时候一般没什么问题了,可以直接加载uboot在RAM里运行测试。
### 4.焊接其他外设
到这个时候了,你就可以一次性焊接所有外设,然后慢慢测试,也可以用到哪个焊接哪个,随意了。![QQ图片20220312200936.jpg](//image.lceda.cn/pullimage/OOF4LoJcxGz6iDguN1H6kPuaA4joOWQXO04dYRs6.jpeg)
### 5.改头换面
当我们焊接好所有器件之后,我们可以用洗板水给板子擦拭一下,这样看起来就会很好看,我这里暂时没有洗,因为我买的器件还没到(USB贴片和开关),到时候换好之后再一次性洗吧。
先占位,后面补上。
# 五、软件调试
## 1.uboot
首先要先找一个uboot编译跑起来。
在坑网找了找,真的有所发现,坑网真是个好东西。
![image.png](//image.lceda.cn/pullimage/YSVQf5dct7J7kh2yHZKviEcJ2YKD2eAjvFRGME1v.png)
根据这个步骤去编译,没有毛病,
编译成功之后当前目录下就有bin文件了。
![image.png](//image.lceda.cn/pullimage/GpoZxDZOk0RJG12GXBPN9mbonVxVZxT20qfs8Hub.png)
然后执行这个可以在RAM中运行
sudo sunxi-fel uboot u-boot-sunxi-with-spl.bin
执行这个可以在SD中运行
sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdb bs=1024 seek=8
具体参考[V3S uboot编译](https://blog.csdn.net/lengyuefeng212/article/details/118861717)
启动的日志,我忘记截图了,后面有配置以太网的。
## 2.uboot编译以太网
为什么要编译以太网呢,因为我之前一直是用挂载文件系统的方式去调试程序的,感觉用起来比较方便。
参考链接:[编译以太网](https://blog.csdn.net/lengyuefeng212/article/details/120000952)
在uboot中配置好之后,编译,出现了问题
![image.png](//image.lceda.cn/pullimage/9gG3j6Z7RYRPx145VpeTbcHHKCJyzkQmhrBVMHNd.png)
不过我还是在坑网中找到了解决方法。
参考链接:[以太网编译问题](https://whycan.com/t_7269.html)
![image.png](//image.lceda.cn/pullimage/RpgQjU3qiwLzq6ij9NJKLknTShnZSfbnmJJju1eC.png)
我根据其中配置之后,然后就可以编译了。
设备树配置是否正确,编译是否完成,网络是否可用,其实是有一个可以看的地方,就是uboot在开始的打印信息。
当出现下面这个信息的时候,说明我们网络注册是成功的。
![image.png](//image.lceda.cn/pullimage/UCwBjZ2uk4EjtdB1t12ERW1inI4eLA8s5tzVgApP.png)
编译成功之后我们要测试,网络是否可用。
先设置ip地址,注意要和自己ubuntu一个网段。
setenv ipaddr 192.168.31.105
然后ping自己电脑,如果是我下面这样的,说明网络正常。
![image.png](//image.lceda.cn/pullimage/KpTMS6E2J34uRtlX6vtpTOucYHAz0o8nUrOFWZHC.png)
## 3.设置挂载文件系统
我们SD卡中只有一个uboot启动文件,是没有内核和文件系统的,我都是通过网络下载的。
关于tftp服务和nfs环境搭建这里就不说了。
我这里只设置环境变量。
要注意一下,默认编译的uboot的启动内核之前等待时间为0,这里要修改一下,方便测试。
setenv bootdelay 5
setenv ipaddr 192.168.31.50
setenv serverip 192.168.31.103
setenv bootcmd 'setenv bootm_boot_mode sec;setenv ipaddr 192.168.31.50;setenv serverip 192.168.31.103;tftp 41000000 zImage;tftp 41800000 sun8i-v3s-licheepi-zero-dock.dtb;bootz 0x41000000 - 0x41800000'
setenv bootargs root=/dev/nfs rw nfsroot=192.168.31.103:/home/luatao/luatao/nfs/rootfs ip=192.168.31.50:192.168.31.103:192.168.31.1:255.255.255.0::eth0:off init=/linuxrc console=ttyS0,115200
上面要根据自己的实际情况是配置。
最后执行saveenv保存变量。
保存的时候出现了问题。
Unknown command 'saveenv' - try 'help'
也就是这个命令不存在。
解决方法是
进入uboot配置文件
![image.png](//image.lceda.cn/pullimage/KUTnEHdE0BhAiRZN6H3SVXuFxcP5whcbtXR9Rbfi.png)
把1去掉,把2勾上,这里一定把1去掉,不然会报错Saving Environment to nowhere... not possible
![image.png](//image.lceda.cn/pullimage/Xg16UqErtwRFCoK2AT2EEekTwp9xrXQZPzmKTLEE.png)
之后编译,再重新烧录uboot启动就可以了。
![image.png](//image.lceda.cn/pullimage/0fCToBwETA2LVVo2Yr6CGsRqcnODCTFp5fUxhM7F.png)
## 4.启动内核日志![image.png](//image.lceda.cn/pullimage/W7bh9iATZQBfBiFRNIk5LsT4H7mDaC05YdJ382ba.png)
。。。
![image.png](//image.lceda.cn/pullimage/XXXzP272S5sfEGpsmPVzoFBjIZ46WqltnA3SxdwL.png)
然后就可以愉快的玩耍了。
# 六、外设调试
# 七、出现暂未解决的问题
首先,今天测试的时候,挂载文件系统之后,播放视频只有声音屏幕没有驱动。linux内核和rootfs用的都是v3s的,查看设备中没有/dev/fb0。之前用v3s是没有问题的,难道是uboot造成的印象吗?暂时还未解决,明天再继续找找原因。
上文中的屏幕显示的图片是烧录的小智的镜像,能显示,说明我的屏幕硬件是没有问题的。[小智链接](https://whycan.com/t_7248.html)
# 八、应用程序
QT程序。以后再来填
# 九、未完待续
其他附加功能,如3D外壳等。
15
39
收藏到专辑