基于荔枝派Lichee Nano(f1c100s)的u-boot移植

  • 1.安装交叉编译链
  • 2.编译 u-boot
  • 3.开始配置uboot相关信息
  • 4.配置uboot传递参数,从nor flash启动内核。
  • 5.增加了u-boot对spi flash的识别。
  • 6.开始编译

说明:在编译过程中,有可能遇到一些报错,大概率是缺少了一些链接库,需要根据对应的错误进行安装。

1.安装交叉编译链

1.新建文件夹:mkdir f1c100s 并进入:cd f1c100s

2.下载编译链:wget https://releases.linaro.org/components/toolchain/binaries/7.2-2017.11/arm-linux-gnueabi/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz

说明:如果有的对应的交叉编译器压缩包,自行拷贝到对应的目录下解压即可。

3.解压 :xz -d file.tar.xz 再次解压: tar -xvf file.tar

4.拷贝到对应的目录下(我这里放到了/usr/local/arm-gcc/,可以根据自己选择路径,等会需要用到)

5.打开.bashrc:vim .bashrc 添加编译链的bin文件路径 ( 类似windows下的添加环境变量 ):
在文件末尾 添加以下内容

PATH="$PATH:/usr/local/arm-gcc/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi/bin/"

然后保存退出,最后更新环境变量:source .bashrc

2.编译 u-boot

1.进入f1c100s目录:cd f1c100s

2.拉取代码,从github上拉取对 Nano 进行了适配的 u-boot(如果没有git请先安装):git clone https://github.com/Lichee-Pi/u-boot.git

3.进入改目录:cd u-boot

4.查看分支:git branch -a

5.切换到 Nano 分支:git checkout nano-v2018.01 (说明:如果有uboot源码包直接解压即可)

3.开始配置uboot相关信息

1.此处告知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 CROSS_COMPILE=arm-linux-gnueabi- licheepi_nano_defconfig

2.进行可视化配置(make menuconfig),可使用命令:make ARCH=arm menuconfig

4.配置uboot传递参数,从nor flash启动内核。

1.需要从flash启动linux修改 include/configs/suniv.h,添加以下内容:(不推荐使用这种方式,看第二种方式)

//============================ 方式一 =================================

#define CONFIG_BOOTCOMMAND   "sf probe 0 50000000; "                           \"sf read 0x80C00000 0x100000 0x4000; "  \"sf read 0x80008000 0x110000 0x400000; " \"bootz 0x80008000 - 0x80C00000"
#define CONFIG_BOOTARGS "console=ttyS0,115200 panic=5 rootwait " \" mtdparts=spi32766.0:1M(uboot),64k(dtb),4M(kernel),-(rootfs) " \" root=/dev/mtdblock3 rw rootfstype=jffs2 "

//============================ 方式二 =================================
2.使用make ARCH=arm menuconfig进入配置界面:
2.1)添加参数:console=ttyS0,115200 panic=5 rootwait root=/dev/mtdblock3 rw rootfstype=jffs2

   [*] Enable boot arguments(console=ttyS0,115200 panic=5 rootwait root=/dev/mtdblock3 rw rootfstype=jffs2) Boot arguments

2.2)添加参数:console=ttyS0,115200 panic=5 rootwait root=/dev/mtdblock3 rw rootfstype=jffs2

   [*] Enable a default value for bootcmd   (sf probe 0 50000000; sf read 0x80C00000 0x100000 0x4000; sf read 0x80008000 0x110000 0x400000; bootz 0x80008000 - 0x80C00000) Boot  bootcmd

//==================================================================

5.增加了u-boot对spi flash的识别。

1.修改uboot源码下的:drivers/mtd/spi_spi_flash_ids.c,增加一行内容:

{"xt25f128",       INFO(0x0b4018, 0x0,  64*1024,     256, 0)},

6.开始编译

1.使用命令:make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j8

2.编译完成后,可一看到目录下多了一堆以u-boot带头的文件,我们只需取 u-boot-sunxi-with-spl.bin 即可

基于荔枝派Lichee Nano(全志f1c100s)的kernel移植(二)
链接: link.(https://blog.csdn.net/qq_39721016/article/details/123396573)

基于荔枝派Lichee Nano(全志f1c100s)的u-boot移植(一)相关推荐

  1. 基于荔枝派Lichee Nano(全志f1c100s)的kernel移植(二)

    基于荔枝派Lichee Nano(全志f1c100s)的kernel移植(二) 1.获取源代码 2.linux内核修改dts设备树文件 3.内核配置修改 3.1.使用命令进入配置界面 3.2.支持jf ...

  2. 基于荔枝派Lichee Nano(全志f1c100s)的rootfs移植(三)

    基于荔枝派Lichee Nano(全志f1c100s)的rootfs移植(三) 1.下载Buildroot代码包 2.解压文件,获得源代码 3.配置Buildroot 4.编译 5.生成rootfs. ...

  3. 玩转RT-Thread之荔枝派Nano(全志F1C100S) 新手上路

    玩转RT-Thread之荔枝派Nano(全志F1C100S) 一.新手上路 --作者:燕十三(flyingcys) blog:http://blog.csdn.net/flyingcys --荔枝派n ...

  4. 荔枝派 Nano 全志 F1C100s 编译运行 Linux 笔记

    首先是荔枝派的官方文档,写的不是很细,应当说我们必须明确几点: 出厂时 SPI Flash 自带了一个 U-Boot+Linux Kernel(出厂的时候可能烧过了),可直接拿来用.如果希望自己烧固件 ...

  5. 荔枝派 Nano 全志 F1C100s 编译运行 Linux ubuntu并升级gcc

    首先是荔枝派的官方文档,写的不是很细,应当说我们必须明确几点: 出厂时 SPI Flash 自带了一个 U-Boot+Linux Kernel(出厂的时候可能烧过了),可直接拿来用.如果希望自己烧固件 ...

  6. 基于荔枝派Nano学习Buildroot的构建过程

    文章目录 0. 声明 1. 前言 2. 开发环境以及工具准备 2.1 主机系统 2.2 编译工具链 3. 构建系统Buildroot 3.1 工程配置 (1)首次构建工具链的情况 (2)使用外部工具链 ...

  7. 新手玩荔枝派 f1c100s nano折腾笔记(二)

    查看文件信息 stat xxx 安装sunxi tools sudo apt install libz libusb-1.0-0-dev 报错unable  to libz 改为sudo apt in ...

  8. 新手玩荔枝派 f1c100s nano折腾笔记(三)

    应用开发篇: minimal_f1c100s-framebuffer.zip 荔枝派 nano引脚图 使用OTG功能没办法挂载U盘,插入TF卡,开机自动TF卡启动,开机后插入TF有提示,但找不到盘. ...

  9. lichee nano 荔枝派入门——linux内核

    获取源代码 见<lichee nano 荔枝派入门--搭建环境> 个人建议使用如下命令克隆内核代码: # 下载默认带480*272LCD的版本 git clone --depth=1 -b ...

  10. lichee nano 荔枝派入门——u-boot

    获取源代码 见上一篇文章<lichee nano 荔枝派入门--搭建环境> 切换分支 切换到lichee nano的代码分支,在u-boot目录下操作: # 查看分支 git branch ...

最新文章

  1. thinkphp-查询数据-基本查询
  2. 简单易懂的多线程(通过实现Runnable接口实现多线程)
  3. openCV学习教程(一):Mat类的使用
  4. boost::process::std_in相关的测试程序
  5. ps -ef 命令说明
  6. python库numpy的reshape的终极解释
  7. linux下dns视图配置
  8. Productivity Power Tools(Visual Studio 扩展) 最新亮点
  9. 一天入门Tableau详细教程(上)
  10. bzoj2821 作诗(Poetize)
  11. Excel转PDF,Excel行数过多导致PDF折行、换行显示
  12. HDU 4699 Editor(双向链表)
  13. Ural1671 Anansi's Cobweb
  14. 网络安全-CTF取证方法大汇总,建议收藏!
  15. 电子器件系列25:74HC138译码器
  16. [翻译]Linter简介-摘自维基百科
  17. 2022-08-02 乐理知识(一) 简谱的调号——简谱构造,唱名和音名,钢琴琴键的分组和命名方式,调号,全音和半音,调式,自然大调,C大调,音阶
  18. 斗鱼直播Android开发二面被刷,不吃透都对不起自己
  19. AR增强现实 Augmented Reality
  20. CSI笔记【6】:Guaranteeing spoof-resilient multi-robot networks论文阅读

热门文章

  1. A*求解带时间窗的路径规划问题
  2. 【传智播客】Javaweb程序设计任务教程 黑马程序员 第一章 课后答案
  3. Godot Timer节点
  4. NX入门到提高全部视频教程
  5. python源码中的pass
  6. python正则匹配中文
  7. 词云python_词牌名大全
  8. windows10安装masscan
  9. Java | 基础算法 - 排序:冒泡排序 代码实现(含详细注释)
  10. 泛微E8、E9二次开发、泛微开发获取流程文档主、明细表单值,提供泛微ecology8二次开发完整项目下载,泛微把流程文档内容推送HR、ERP、SAP操作,泛微与ERP、SAP、HR集成