基本觀念可以參考以下筆記:
嵌入式 linux
F1C100S/F1C200S系统构建
此篇僅紀錄開發流程
下載u-boot(非官方板),並切換分支到 nano-v2018.01
設定 u-boot 編譯參數
如果已指定mtdparts,就不需在kernel的dts中新增分區
根據硬體線路配置LCD螢幕 (沒有LCD螢幕可忽略)
宏CONFIG_BOOTCOMMAND 会被uboot自动解析,执行宏里面的内容,宏内容解释如下:
分區代號 | 分區大小 | 分區作用 | 地址與名稱 |
---|---|---|---|
mtd0 | 1MB(0x100000) | spl + uboot | 0x0000000:uboot |
mtd1 | 64KB(0x10000) | dtb文件 | 0x0100000:dtb |
mtd2 | 4MB(0x400000) | linux kernel | 0x0110000:kernel |
mtd3 | 剩下(0xAF0000) | 檔案系統 | 0x0510000:rootfs |
最後可以得到1份文件
荔枝派nano上手笔记(一)移植Uboot
荔枝派 Nano 全志 F1C100s 编译运行 Linux ubuntu并升级gcc
Kernel 所需要的 config 文件
LCD螢幕:
最後可以得到2份文件
從官往下載壓縮包:https://buildroot.org/download.html
配置文件
編譯buildroot
編譯完成的 image 文件會在 buildroot-2021.05/output/images/rootfs.tar
將 image 文件解壓到SD卡根目錄分區即可
檢查 /etc/inittab 有沒有啟動串口
如果掛載權限有問題
http://fichugh.blogspot.com/2016/02/buildroot-study.html
https://www.cnblogs.com/arnoldlu/p/9553995.html
buildroot编译文件系统,出现mount: you must be root. can't open /dev/console: Permission denied这种错误。
在 u-boot 中清空 flash
編輯 Makefile:
如果不想管依賴問題,可以使用 -static 去編譯
更改 lv_conf.h:
編譯:
編譯出執行檔 demo , 複製於rootfs中
於Lichee-Pi上執行:
檢查運行需要的動態連結庫:
需要的文件 libc.so.6 ld-linux.so.3 可以在buildroot中尋找,並複製到 rootfs/bin/
尋找動態連結庫好麻煩啊… 直接 -static 編譯算了 XD
番外篇-sf用法:sf 称为SPI flash sub-system,即SPI flash 子系统,用来在uboot里面操作SPI Flash的。下面列举一些sf常用的用法:
荔枝派nano上手笔记(一)移植Uboot
荔枝派 Nano 全志 F1C100s 编译运行 Linux ubuntu并升级gcc
荔枝派Nano 全流程指南
编译和使用sunxi-tools
F1C100S/F1C200S系统构建
尝试从零构建F1C100s开发环境
sipeed文件
荔枝派nano 添加i2c
【荔枝派nano】试用体验——WIFI模块使用
WIFI配置
Licheepi Zero LCD驱动指南(BSP)
尝试从一开发F1C100s应用
利用lrz、lsz工具在linux与windows之间传输文件
My Business Card Runs Linux
thirtythreeforty/businesscard-linux
https://licheepizero.us/