全志F1C100S从零开发,记录遇到的坑(2) | 您所在的位置:网站首页 › f1c100s芯片引脚功能 › 全志F1C100S从零开发,记录遇到的坑(2) |
1.烧录镜像文件,可以参考编译和使用sunxi-tools — 荔枝派Nano 全流程指南 documentation (lichee.pro) ,个人感觉里面省略了很多步骤,对初学者不是很友好。想要烧录镜像文件,就要从usb转OTG口烧写,在ubtun中,按照上文链接安装sunxi-tools工具,我在按装过程中遇到 Ubuntu "E: Unable to locate package", 解决办法参考:(57条消息) Ubuntu "E: Unable to locate package"错误解决办法_俊鹏的博客-CSDN博客 但未解决问题,于是自己下载这个安装包 libusb-1.0.24.tar.bz2,自己安装(可自行百度),安装这个包的过程遇到点坑,命令行依次输入: 1) cd libusb-1.0.21/ 2) ./configure 3) make 4) make install 安装完成sunxi-tools。 要想电脑识别到你的开发板,需要在上电的之前 短接flash的1,4脚,然后松开,ubtun就可以找到你的设备。(遇到找不到的情况,可以参考:Windows平台烧写f1c100s 荔枝派nano开发板步奏 / 全志 V3S/F1C100s/X3/D1/R329/AIC800 / WhyCan Forum(哇酷开发者社区))为了更明了直接上图片,我引出flash的1,4脚 ——是为了烧写固件方便。 烧写镜像的时候,可以把你的镜像拷贝到你的sunxi-tools目录下(也可以直接指定你要烧写固件的路径),然后输入一下命令: sudo sunxi-fel -p spiflash-write 0 Your-Flash-BIN 如下图所示: 然后上电,通过串口查看打印信息出现如下图所示: 又是一脸懵逼,疯狂百度,(后来找到了原因是因为:现在的固件和板子的新flash不匹配)找到 uboot移植nor-flash , uboot笔记--SF: unrecognized JEDEC id bytes: 20, ba, 20 ,两篇结合就可以解决这个问题。修改设备树文件(是uboot的设备树,不是linux的设备树,我就是被这个坑了)。 解决办法如下: 1) Nano的设备树在源码的 u-boot/arch/arm/dts /suniv-f1c100s-licheepi-nano.dts;(添加节点信息——增加xt25f128b): 2)修改驱动文件u-boot/drivers/mtd/spi/spi_flash_ids.c 因为新增加的xt25f128b在 WINBOND类型下,所以要配置uboot的meuconfig, uboot文件系统下输入:make menuconfig 进行配置,勾选Winbond SPI flash support 3)修改了设备树节点,需要重新编译下设备树文件。 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- (我用的交叉编译期版本:gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz,注意:在“make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-”后面不要乱用-j4,-j8,我就是用了了一个-j8,结果编译完没报错,但是就是有问题,用不了,再次特意提醒)。 烧录uboot: sudo sunxi-fel -p spiflash-write 0 ../u-boot/u-boot-sunxi-with-spl.bin 编译完的源码会打包在一个文件里,见后面的文章。 全志F1C100S从零开发(3)编译linux内核 |
CopyRight 2018-2019 实验室设备网 版权所有 |