一直以来想玩玩i.MX 6的高端型号,主要是对GPU+VPU感兴趣,不过至少要i.MX 6Solo及以上型号才有比较完整的支持(主要是1080p30的视频编解码),价格对于我等穷学生而言消受不起(特别是和Zero/Nano之类的对比,哈哈)。
最近逛闲鱼的时候,发现有人在大量出全新的Embest RIoTboard开发板,使用的CPU正好是i.MX 6Solo,价格最低110,感觉可以接受,于是拍了一块来玩玩。
实物图镇楼,今天有点晚了,明天再更吧。
离线
先贴一下已有资料的链接吧:
开发板中文官网:RIoTboard开发板|基于飞思卡尔i.MX 6Solo多媒体处理器设计的物联网解决方案|Cortex-A9架构-深圳英蓓特科技
开发板英文官方资源:Dropbox - SVN3636 - 简化您的生活(需翻墙)
element14上的资源/讨论区:RIoTboard | element14
i.MX 6Solo官方资源:i.MX 6Solo Applications Processors应用处理器 | Arm® Cortex®-A9单核,主频为1GHz | NXP
离线
接下来大概看一下板子的配置。
i.MX 6Solo:1*Cortex-A9@1 GHz
存储器:DDR3 1GB + eMMC 4GB + SD (J6) + TF (J7)
供电:DC5.5*2.5 (J1)或GPIO扩展接口 (J13)
视频:输入包括MIPI-CSI 2-lane (J8) + Parallel 8-bit (J9),输出包括LVDS 1-ch 6-bit (J2) + HDMI v1.4 (J3) + Parallel 20-bit (J13)
音频:Audio Codec是SGTL5000,支持3.5mm In (J4) + 3.5mm Out (J5)
网络:PHY是AR8035,支持RGMII (J15)
USB:USB 2.0 OTG (J11) + USB 2.0 Hub (4-port)
调试:JTAG (J10) + OpenSDA (J14)
最近编辑记录 metro (2019-11-24 13:42:01)
离线
接下来是吐槽时间,说说这个板子设计的槽点。
最为生草的还是板上自带的OpenSDA。看起来OpenSDA可以提供一个调试接口和一个虚拟串口,可以对SoC进行全方位的调试,但是!这个OpenSDA!不!能!用!直接上电一点反应都没有!这是为什么呢?用J-Link读了一下U23 (MK20DX128VFM5)的Flash,发现Flash全是FF,根本就没有烧录固件进去,这就是个白板!
但是问题不仅限于此,看了原理图就会发现,这货实际上压根没有连接JTAG,而是接到了SD/SPI Flash上,也就是说OpenSDA的设计本意是用来直接向SD/SPI Flash写入数据的,而不是用于调试功能,所以不能使用OpenSDA对CPU进行调试。当然,理论上来说虚拟串口还是能用的,但是实际使用的串口基本上是网口旁边的J18,而J18接的是UART2,OpenSDA接的是UART1,要用的话还得改参数,所以结论就是,这个自带的OpenSDA就是个废物。
另外,虽然板上自带了比较丰富的视频输入/输出,但是也是一言难尽。比如说并行输入只有8位,并行输出只有20位,MIPI-DSI不存在,LVDS只引出了1-ch 6-bit。说到LVDS,板上提供的接口是自定义的mini HDMI,看了一下接口定义似乎和市面上的类似方案不兼容(iTop-4418/6818也用mini HDMI传输LVDS),而且看样子背光电路也要自己搞,工作量+1。不过好在HDMI+LVDS也还是够用的,可以玩一玩双屏异显了。
最后就是供电。供电接口还是上古时期的DC这个就不吐槽了,毕竟这板子也有些年头了;不过只有DC和GPIO扩展接口可以给板子供电也是很难受了。看原理图可以发现D48可以用来从OpenSDA向板子供电(虽然本意似乎并非如此),但是鉴于OpenSDA是残废状态,还是暂时用DC供电吧。
另外,板子上似乎有大量的ESD二极管用来保护GPIO等接口,但都没有焊上,估计是成本考虑吧。
最近编辑记录 metro (2019-11-24 20:56:14)
离线
在开始玩Linux/Android之前,先来个有趣的东东:WinCE。之前没玩过WinCE,正好有人移植好了i.MX6的BSP,并且提供了prebuilt的固件(包括WEC7和WEC2013),可以简单地玩一玩。下载地址:iMX6 BSP | GuruCE。
可以看到,GuruCE为RIoTboard提供了prebuilt的固件,并且允许用户在上面做一些开发(需要安装M$的开发套件),包括OpenGL-ES和OpenVG。我懒得在上面编译并运行程序了,所以试着跑了一下他的demo,效果还不错的样子,低分辨率下非常流畅,1080p就有点吃力了。跑了一会儿就发现发热量还是比较感人的。
最近编辑记录 metro (2019-11-24 21:28:36)
离线
给屏幕贴上触摸屏(GT911),装上带支架的外壳,并且接好HDMI的所有引脚,之后使用就可以通过mini HDMI转HDMI的线从板子直连屏幕了,非常方便。
离线
大佬,最近也入手了一块,问下他和lvds引出的式I2C,看你图片中触摸用的是SPI?另外我看你最先用的是外置的HDMI免焊,最新的换了板子?
就是I2C,用的是GT911,不过还没有测试驱动(最近忙着在玩另一块板子。。
现在用的方案是免焊HDMI座,直接放到外壳里面,屏幕和主板现在就是一根mini HDMI转HDMI的线相连。
离线
资料全吗?能用来学习LINUX吗?
这个板子的资料可以分为三种:
第一方:NXP提供的硬件资料肯定是非常全的,这点比国产芯片通常要好不少,目前到Android P/Linux 5.x都有更新,不需要担心。
第二方:Embest提供的资料确实多年不更新了,像楼上朋友所说,目前只到Android 4.x/Linux 3.x,聊胜于无吧。这点肯定比不上官方开发板(例如Sabre-SD)。
第三方:这个板子在社区似乎还是比较火的,上文列出的Element14讨论区就是其中之一,目前也有一些第三方镜像或资料(例如上文提到的GuruCE),毕竟是官方认证的第三方开发板嘛。
最近编辑记录 metro (2019-12-23 22:54:50)
离线
问题解决了,是HDMI线造成的,重新换了根接上就正常了
https://whycan.cn/files/members/2544/QQ%E5%9B%BE%E7%89%8720200101193559.jpg
可能是因为线芯数量不够,需要准备一根19pin全引出的mini HDMI线。
离线
已上车,买了一块,好像有硬件问题,板子无法启动:o
尝试按照说明文档烧写固件,mfgtool停在 Jumping to OS image.
Debug输出:
U-Boot 2009.08-00683-gb8f6a79-dirty (Mar 10 2014 - 11:12:01)CPU: Freescale i.MX6 family TO1.2 at 792 MHz
Thermal sensor with ratio = 186
Temperature: 31 C, calibration data 0x59a51d5f
mx6q pll1: 792MHz
mx6q pll2: 528MHz
mx6q pll3: 480MHz
mx6q pll8: 50MHz
ipg clock : 66000000Hz
ipg per clock : 66000000Hz
uart clock : 80000000Hz
cspi clock : 60000000Hz
ahb clock : 132000000Hz
axi clock : 198000000Hz
emi_slow clock: 99000000Hz
ddr clock : 396000000Hz
usdhc1 clock : 198000000Hz
usdhc2 clock : 198000000Hz
usdhc3 clock : 198000000Hz
usdhc4 clock : 198000000Hz
nfc clock : 24000000Hz
Board: i.MX6DL/Solo-RIoTboard: 0x61012 [POR ]
Boot Device: MMC
I2C: ready
DRAM: 1 GBhttps://whycan.cn/files/members/1651/Snipaste_2020-01-14_11-41-47.png
https://whycan.cn/files/members/1651/Snipaste_2020-01-14_11-41-30.png尝试了tf卡和emmc,都是不能启动,估计是翻车了。。。
实话说我还没测过官方的镜像。。不过mfgtool是自带配置文件的,可能是配置与实际不符。可以试试我推荐的WinCE能不能用,不行的话估计就真的是硬件问题了。
离线