<Linux开发> -之-系统移植 uboot移植过程详细记录(第一部分)

7 篇文章 1 订阅
3 篇文章 1 订阅

<Linux开发> -之-系统移植 uboot移植过程详细记录(第一部分)

前言:本系列文章主要讲解正点原子linux开发板 开发过程的一些记录;
本章主要讲解将NXP官方提供的uboot,移植到正点原子的linux开发板上;
一般一款linux开发板的设计与开发,都会参考芯片原厂的demo板,而芯片原厂会对demo板提供一套完整的资料。所以在使用第三方设计的开发板或自己做的电路板时,都会参考芯片远程的demo板的设计;在软件方面也会移植demo板配套的工具等,毕竟芯片原厂提供的资料匹配兼容性肯定是比其它的好的。
本部分主要介绍,相关设计的软件,以及NXP原厂uboot编译测试。

<Linux开发> -之-系统移植 uboot移植过程详细记录(第二部分)

以下开发过程涉及的资料,如有需要,可联系作者索要。
联系方式QQ:759521350

一、uboot移植前期准备
注:以下准备工作,都参考正点原子linux开发手册
1、安装虚拟机和ubuntu;(一般是这样,方便和window环境一起使用)
2、安装交叉编译工具;(编译用)
3、安装FileZillaClient;(方便和window传输文件)
4、安装vscode;(方便uboot源码的一些修改)
5、正点原子Linux开发板;(或IMX6ULL同系列开发板。一般操作过程都差不多,毕竟都是NXP的)

二、NXP原Uboot测试
注:先用NXP原厂的uboot直接测试看看,一般都能正常 运行。同芯片不同开发板,主要区别在于一些配置参数不同,包括一部分驱动选择,名字,存储类型选择等等。
1、将NXP的原厂uboot通过FileZillaClient传到Ubuntu中,然后解压;
解压命令:tar -vxjf 文件名
在这里插入图片描述
命令: tar -vxjf uboot-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2
在这里插入图片描述
注:原厂uboot使用来源由正点原子linux开发板配套资料提供。

2、在解压后得到的目录下创建mx6ull_water.sh,如下图:
使用命令:touch mx6ull_water.sh
在这里插入图片描述
3、可用vscode打开uboot-imx-rel_imx_4.1.15_2.1.0_ga文件夹,并在mx6ull_water.sh中添加如下命令,添加后如下图:

#!/bin/bash
#清理工程
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
#执行配置uboot
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_14x14_evk_emmc_defconfig
#执行编译
make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j16

#注1: ARCH=arm  设置目标为arm架构
#注2: CROSS_COMPILE=arm-linux-gnueabihf-    指定编译工具链前缀
#注3: V=1  用于设置编译过程的信息输出级别
#注4-j16 使用16核编译uboot

4、运行mx6ull_water.sh;
使用命令给文件执行的权限:chmod 777 mx6ull_water.h;
使用命令运行文件: ./mx6ull_water.sh
在这里插入图片描述
编译完成后如下图所示:
在这里插入图片描述

5、烧写u-boot.bin
使用正点原子提供的sd卡烧写工具“imxdownload”将u-boot.bin下载到SD;
烧写命令:./imxdownload u-boot.bin /dev/sdc
注意:1)imxdownload放到解压的文件的跟目录下;在裸机例程中随便找一个例程进入即可找到imxdownload,将其通过FileZillaClient传到Ubuntu中uboot解压的跟目录下。
在这里插入图片描述
2)使用:chmod 777 imxdownload 给予权限
在这里插入图片描述
3)/dev/sdc,中的sdc是SD卡挂载到ubuntu 的文件名,烧写时,建议先查看SD卡是否正常挂载成功,否则可能会损坏SD卡;
SD卡查询命令:下图是有很多sda、sdb、sdc、sde等,其中sda/1/2/5是系统磁盘,其余是读卡器的,由于作者用的读卡器是多卡位的,所以有多个,其中有sdc、sdc1,即sdc是作者使用的卡槽,sdc1是一个分区。所以作者选用的是sdc。
在这里插入图片描述
烧写进入sd卡:./imxdownload u-boot.bin /dev/sdc
在这里插入图片描述

6、运行测试
(1)将开发板设置为SD卡启动;
在这里插入图片描述

(2)将SD卡插入开发板,打开secureCRT;
在这里插入图片描述

(3)按下复位键,可在CRT中看到相关输出,倒计时结束前按下回车键,让系统串口终端停留在boot,如下图:
在这里插入图片描述

7、NXP原厂uboot测试完成,但是可以从输出的信息中看出,有些功能是不正常的,比如网口信息,LCD,设备名称等等;这是因为,原厂的uboot是配套官方的demo板子做的,而作者使用的是正点原子的开发板,所以硬件上会有一部分差异,比如网络芯片LAN8720的复位引脚,LCD的大小和相关参数等;接下来的移植工作,就是针对正点原子linux开发板的硬件电路不同而修改的一些操作。

由于篇幅过长,文章分两部分写,第一部分主要是在环境搭建好的基础上,先测试运行NXP原厂的uboot是否能正常使用,并查看运行的相关信息。以便熟悉编译下载运行的流程,方便接下来移植后的一系列工作。

<Linux开发> -之-系统移植 uboot移植过程详细记录(第二部分)

本系列文章讲解记录过程,均参考正点原子提供的驱动开发教程,如有遗漏或讲解不足指出,还请不吝赐教,也欢迎交流技术。

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

waterfxw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值