
全志V3X
简介
全志V3X开发板,128MB RAM,可以一试。
简介:全志V3X开发板,128MB RAM,可以一试。开源协议
:GPL 3.0
描述
上图
一、介绍
这款开发板用的芯片是全志的V3X,内置128MB RAM和一些其他的外设功能,具体就不介绍了,大家到坑网里去查找,里面资料比较详细。
附上坑网链接:坑网
二、使用初衷
之前开源过一个全志V3S的开发板,并且我已经画了两版了,一款是开发板的形式,已经开源,还有一款是核心板加底板的方式,核心板是MINI PCIE接口的,这样主要是为了方便去画底板,方便自己DIY(暂未开源,以后会开)。
我为什么要使用V3X这款芯片呢,主要是因为我前面用V3s做的一个QT应用运行的时候出现了一点问题,具体是用V3S运行QT应用程序的时候,每当打开一个应用的时候运行比较卡顿,也就反应很长时间,使用效果很不好,但是在主界面滑动还是很流畅的,视频播放用480x272的分辨率播放效果还是可以的。首先我怀疑有两种可能性,一种就是写的QT应用程序不是很好,造成使用卡顿,还有一种就是处理器性能不够,可能是V3S的内存过小,吃不消。之前开源V3S的时候,晕哥给我发了大红包,还告知我有V3X的活动,之前没有需求就没有申请,因为V3X的RAM是V3S的2倍,我就想试试V3X运行效果是不是好一点,于是就找晕哥申请了两片V3X,在这里非常感谢晕哥。
三、画板
平时上班也没有什么时间,就抽上周末两天简单画了一下,主要参考的是我之前的V3S的原理图和晕哥开源的原理图。
电源部分使用的是EA3036,因为之前全志V3S用的也是这个芯片,比较熟悉。这次主要就是电压不同,这个芯片只需要修改电阻即可,可以根据这个公式计算。
Vout=0.6x(1+Ra/Rb)
画的时候加上了功放,使用的是8002B,这个比较便宜,就几毛钱,之前方案也验证过,用起来比较方便。
看晕哥的原理图用到了emmc,本来想加一个的,试了一下,4层板这个BGA根本扇不出来,索性直接不要了。
RGB屏幕用的是正点原子接口,有这个屏幕,没什么好说的。
原理图比较乱,也没有整理,随便看看吧。
PCB布线也比较随意,一些情况也没有注意,反正能用。
本来是打算上四层板的,但后来发现挤挤也能布下,就两层算了。
这里贴个3D预览图
四、焊接调试
1.空板
周末画完板子之后,周一就发去打板了,板子是黑色的,我感觉是比较好看的,不得不说,嘉立创的速度可以,在周五下班的时候我顺利的拿到了板子,五块,做工很不错。
2.焊接步骤
1.焊接芯片电源
下面给大家介绍一下我一般焊接的步骤。
首先拿到空板之后,我会先焊接电源部分,然后测量3路电压是否都正常。
我现在喜欢拿风枪直接吹,比较快速。
上锡膏,摆放器件,我布局的时候都是一块一块画的,所以应该比较好区分。
吹好之后是这样的。
大家发现这个开关是没焊的,不是我不想焊,是我库存没有找到(真的是,之前还专门看了一下有没有缺什么东西)。
这里没办法,只好直接用锡把这两个引脚短接。
检测好没有短接之后就上电测试吧。
三路电压:
不知道是焊工长进了还是运气好,反正一次成功,上电之后直接电压输出正常。
2.焊接芯片外围
电源测试OK之后,我们就可以焊接芯片外围电路了。
把正面和背面都焊接上。
然后再焊接上主芯片。
这个时候SD卡可以先不用焊接,可以先焊接USB,然后测试芯片是否通信。
大家发现我这个USB是很丑的,这是因为我这个是直插的,我画的封装是贴片的,只好掰弯了,也不是不能用。
3.上电USB测试
打开ubuntu,插上USB之后窗口会弹出USB设备,如果没有弹出,请检查电路。
我这里直接识别了。
然后执行sudo sunxi-fel -l命令
这个状态就说明正确识别到了芯片。
这个时候一般没什么问题了,可以直接加载uboot在RAM里运行测试。
4.焊接其他外设
到这个时候了,你就可以一次性焊接所有外设,然后慢慢测试,也可以用到哪个焊接哪个,随意了。
5.改头换面
当我们焊接好所有器件之后,我们可以用洗板水给板子擦拭一下,这样看起来就会很好看,我这里暂时没有洗,因为我买的器件还没到(USB贴片和开关),到时候换好之后再一次性洗吧。
先占位,后面补上。
五、软件调试
1.uboot
首先要先找一个uboot编译跑起来。
在坑网找了找,真的有所发现,坑网真是个好东西。
根据这个步骤去编译,没有毛病,
编译成功之后当前目录下就有bin文件了。
然后执行这个可以在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编译
启动的日志,我忘记截图了,后面有配置以太网的。
2.uboot编译以太网
为什么要编译以太网呢,因为我之前一直是用挂载文件系统的方式去调试程序的,感觉用起来比较方便。
参考链接:编译以太网
在uboot中配置好之后,编译,出现了问题
不过我还是在坑网中找到了解决方法。
参考链接:以太网编译问题
我根据其中配置之后,然后就可以编译了。
设备树配置是否正确,编译是否完成,网络是否可用,其实是有一个可以看的地方,就是uboot在开始的打印信息。
当出现下面这个信息的时候,说明我们网络注册是成功的。
编译成功之后我们要测试,网络是否可用。
先设置ip地址,注意要和自己ubuntu一个网段。
setenv ipaddr 192.168.31.105
然后ping自己电脑,如果是我下面这样的,说明网络正常。
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配置文件
把1去掉,把2勾上,这里一定把1去掉,不然会报错Saving Environment to nowhere... not possible
之后编译,再重新烧录uboot启动就可以了。
4.启动内核日志
。。。
然后就可以愉快的玩耍了。
六、外设调试
七、出现暂未解决的问题
首先,今天测试的时候,挂载文件系统之后,播放视频只有声音屏幕没有驱动。linux内核和rootfs用的都是v3s的,查看设备中没有/dev/fb0。之前用v3s是没有问题的,难道是uboot造成的印象吗?暂时还未解决,明天再继续找找原因。
上文中的屏幕显示的图片是烧录的小智的镜像,能显示,说明我的屏幕硬件是没有问题的。小智链接
八、应用程序
QT程序。以后再来填
九、未完待续
其他附加功能,如3D外壳等。
设计图

BOM


评论