您尚未登录。

楼主 #1 2019-11-13 20:27:17

hxhlb
会员
注册时间: 2019-11-11
已发帖子: 27
积分: 27

分享Nano fc100s linux主线5.2(TF卡)+adb+lcd(800*480)+qt5的编译过程

声明: 刚入坑3天, 有很多知其然不知其所以然, 也有很多从坑网搜的资料, 组合在一起的, 如果有任何错误请大家指正.

参考链接: https://whycan.cn/t_3087.html

首先说明一下, 我就只是搞了一下TF卡的, spi的可能会有不同(至少buildroot配置需要很精简, 目前编译出的tar包快300M)

编译环境:
我主系统就是ubuntu18.04, 因为平时主要工作就是写Linux软件, 干脆实体机ubuntu.
内核源码:
git  clone -b nano-5.2-tf --depth 1 https://github.com/Lichee-Pi/linux.git
uboot:
git  clone -b nano-v2018.01 --depth 1 https://github.com/Lichee-Pi/u-boot.git
buildroot: 2019.08版本
wget https://buildroot.org/downloads/buildroot-2019.08.tar.gz
工具链:
gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabi

配置工具链之类的不说了...

编译uboot
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- licheepi_nano_defconfig
make ARCH=arm menuconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4
编译kernel

首先,

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- sunxi_defconfig

然后, 修改支持ADB, 参考了https://whycan.cn/t_2179.html的USB Gadget的支持部分, 发现 Linux5.2和4.x的不太一样, 主要配置截图:
Device Drivers -> USB support -> USB Gadget Support
menuconfig配置

在此提供我的.config配置 : https://whycan.cn/files/members/2372/config_191113.tgz
注意:
1. 直接改名 .config 即可, 不说压缩文件.
2. 这是我menuconfig后生成的.config, 我不确定是否有其他方法发布.config, 如果不合适, 请见谅.

关于USB需要打补丁的问题, 我确认了一下内核源码, 文件名改了, drivers/clk/sunxi-ng/ccu-suniv-f1c100s.c, 已经不需要补丁了.

准备工作完成就进行编译:

# 生成zImage
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4
# 生成驱动模块
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4 modules
# 安装驱动模块
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- modules_install INSTALL_MOD_PATH="./out"
# 生成dtb
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- dtbs -j4

关于dtb, 根据自己的硬件来修改, 坑网资料很多, 在此不在多说.

生成buildroot

这里印象中出现过编译错误, 跟我的ubuntu18.04有关, 但是具体的我给忘了.. 如果有遇到, 在回帖吧.
小提示: 推荐使用buildroot内置的工具链! 这个工具链坑了我一天...
此处我勾选了很多应该是无关紧要的东西, qt5, directfb, linuxfb, sdl...... 请大家根据自己的需求去搞一下.
配置:
https://whycan.cn/files/members/2372/config_for_buildroot-2019_08_with_qt.tgz
同样的, 直接改名.config使用, 不是压缩文件.

默认主机名: whycan
默认密码: whycan.cn
请大家自行修改.

最后, 添加adb自启动, 参考 https://whycan.cn/t_2794.html中的9楼.

由于镜像包涉及公司的一些信息, 并且我也没时间在重新编译一个, 所以就不放测试镜像了, 请大家见谅.

末尾, 放一个测试QT的小视频吧(那视频中界面里的方框是中文不能显示, 不要在意这些细节先...):
https://whycan.cn/files/members/2372/121.mp4
不会发视频 只能发链接了...

离线

楼主 #3 2019-11-20 15:02:50

hxhlb
会员
注册时间: 2019-11-11
已发帖子: 27
积分: 27

Re: 分享Nano fc100s linux主线5.2(TF卡)+adb+lcd(800*480)+qt5的编译过程

我刚学了一下发视频, 帖子不能编辑, 补一个看能不能直接播放的视频.

离线

楼主 #25 2019-11-28 13:44:03

hxhlb
会员
注册时间: 2019-11-11
已发帖子: 27
积分: 27

Re: 分享Nano fc100s linux主线5.2(TF卡)+adb+lcd(800*480)+qt5的编译过程

billnie 说:

按楼主的编译 u-boot 不能从 spi flash 中启动

U-Boot SPL 2018.01-g013ca45-dirty (Nov 25 2019 - 00:01:41)
DRAM: 64 MiB
Trying to boot from MMC1
Card did not respond to voltage select!
mmc_init: -95, time 22
spl: mmc init failed with error: -95
SPL: Unsupported Boot Device!
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###

uboot编译的时候 默认配置我选的是TF卡的  你要用spi的

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- licheepi_nano_spiflash_defconfig
make ARCH=arm menuconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn