开箱:
最近对一些小巧的卡片机很感兴趣,于是买了一个荔枝派Nano来尝尝鲜。
到货,开箱!
首先是一个Nano的小盒子,里面有一个MicroUSB的OTG头,一块小巧的主板和两排排针。
观察一下主板,其上集成的东西确实不少,一块全志F1C100S的SOC(ARM9内核),一块16M的SPI Flash,一个microUSB口和TF卡槽,一个40P的LCD接口,还有许多IC。
做了一些简单的硬件连接:
屏幕是官网的4.3寸屏幕,焊接了排针并将UART0连接到了USB-TTL串口上。
烧写UBoot:
Uboot是一种被广泛使用的BootLoader,那么什么是BootLoader?看下百度百科定义:BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。
Bootloader是与硬件高度相关的,所以说我们需要使用适合于荔枝派Nano的Uboot,这样Uboot才能正确引导荔枝派正确进入Linux。
官方已经给了Uboot的合适版本:
注意:1.以下过程可以参考官方的《荔枝派Nano全流程指南—即食》,上面有详细的指南,这里部分摘录了官方教程中的重点。
2.下面的流程都在Linux环境下的Shell中执行。
3.默认大伙都已经安装了gcc交叉编译工具,未安装的请自行百度,过程很简单。
首先从git上拉取uboot
sudo apt-get install git git clone https://github.com/Lichee-Pi/u-boot.git cd u-boot # 查看分支 git branch -a # 切换到 Nano 分支 git checkout nano-v2018.01
然后编译
# 此处告知make采用arm-linux-gnueabi下的所有交叉编译工具,目标架构为Arm,设定各项默认配置为 nano 的spiflash支持版 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- licheepi_nano_spiflash_defconfig # 若不带spi-flash的板子,请换成 licheepi_nano_defconfig # 进行可视化配置 make ARCH=arm menuconfig
到这里会跳出一个菜单:
这里需要配置的有三项:
配置
配置同级的 LCD panel timing details 为:x:480,y:272,depth:18,pclk_khz:10000,le:42,ri:8,up:11,lo:4,hs:1,vs:1,sync:3,vmode:0(其他屏幕请参考官方指南)
配置 LCD panel backlight pwm pin 为:PE6
然后Save并退出。
进行编译:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j8
编译后在目录里会出现一个:u-boot-sunxi-with-spl.bin,这个文件就是我们一会要用的文件
下面我们用apt下载sunxi-tools(烧录工具)也可以从github上获取
sudo apt-get install sunxi-tools
接下来进行检测:
sudo sunxi-fel ver
这里有时会出现错误,提示检测不到 ERROR: ALLwinner USB FEL device not found!
目前个人了解到的可能的问题有:
1.里面已经有bootloader了,在我拿到板子时,里面好像已经烧写了一个smartboot(并不了解这个bootloader),如果想要更换boot,请拉低CS脚(1脚),并在拉低时启动,这时荔枝派就会进入fel模式。
2.搞错了数据接口,刚开始时是通过micro USB与电脑连接(之前一直以为是uart0接口,实际上uart0是烧录uboot后的默认通信串口,而不是烧录前)
3.未安装驱动,使用zadig进行安装
4.COM口没有映射到虚拟机内,需要查看虚拟机设置再次映射。
5.使用的数据线只有充电功能(笔者在刚开始烧录时因为想不到这个简单错误卡了2个多小时。。。)
当我们进入fel模式后就可以进行烧录了:(fel模式,无反应,LCD屏常亮)
# 1.以 uboot file-with-spl形式进行(单次运行,测试时推荐) sunxi-fel uboot /刚才提到的u-boot-sunxi-with-spl.bin文件的地址 # 2.烧进 spi-flash (开机自启,建议测试成功后使用) sunxi-fel -p spiflash-write 0 /刚才提到的u-boot-sunxi-with-spl.bin
上电,出现uboot的启动界面,uart0接口通过USB-TTL接口插入电脑,使用bdinfo查看板子信息,烧录成功。
(shell大部分参考官方指南,烧录进spi flash流程亲自操作成功)