uboot的移植

文章目录

  • 一、官方uboot移植
    • 1.Uboot系统复制到Ubuntu系统
    • 2.解压Uboot系统
    • 3.编译Uboot系统
    • 4.生成可执行文件
    • 5.将u-boot.bin烧录到SD卡
    • 6.SD卡插入到板子,启动方式选择SD卡
    • 7.复位板子,查看打印信息,编译时间是否正常
  • 二、根据官方提供的uboot添加自己的板子
    • 1.添加默认配置文件
    • 2.修改下shell脚本
    • 3.打开defconfig文件
    • 4.添加头文件
    • 5.添加板级文件
    • 6.uboot图形配置
    • 7.编译后验证


一、官方uboot移植

1.Uboot系统复制到Ubuntu系统

2.解压Uboot系统

3.编译Uboot系统

💦方式1:直接输入指令或者创建shell脚本。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
💦方式2:直接在顶层makefile中,给下图两个变量赋值

在这里插入图片描述

4.生成可执行文件

在这里插入图片描述
💦移植uboot需要关注的地方,下面3点要和官方保持一致
1)DDR或者叫DRAM
2)串口
3)SD,EMMC,NAND存储

5.将u-boot.bin烧录到SD卡

1)使用imxdowload软件(裸机使用)烧录到SD上。
2)查看fdisk -l查看磁盘
在这里插入图片描述
3)输入执行指令
在这里插入图片描述

6.SD卡插入到板子,启动方式选择SD卡

7.复位板子,查看打印信息,编译时间是否正常

在这里插入图片描述
💦可以使用一些指令查看是否移植正常。

二、根据官方提供的uboot添加自己的板子

💦准备工作:使用VScode打开uboot,然后添加.vscode到工程中.vscode内屏蔽一些不必要文件。

1.添加默认配置文件

💦借鉴官方的6ull evk开发板的配置文件,复制官方的*defconfig,更改为自己的板子的defconfig。
在这里插入图片描述
💦目录如下:
在这里插入图片描述

2.修改下shell脚本

💦修改下shell脚本,defconfig配置文件修改成自己的defconfig配置文件,然后编译验证下,能否编译通过。

3.打开defconfig文件

CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6ullevk/imximage.cfg,MX6ULL_EVK_EMMC_REWORK"
CONFIG_ARM=y
CONFIG_ARCH_MX6=y
CONFIG_TARGET_MX6ULL_14X14_EVK=y
CONFIG_CMD_GPIO=y

配置文件分析:
💦board/freescale/mx6ullevk/imximage.cfg
Uboot编译后,在u-boot.imx中包含头部信息,这个信息就是imximage.cfg,文件内容如下:
在这里插入图片描述
💦更改信息,第一行和第四行,更改为自己的板子
在这里插入图片描述

4.添加头文件

💦添加头文件,不同板子需要配置的信息,一般在头文件里配置,每个板子有一个。
💦对于NXP官方的6ull开发板,这个头文件是mx6ullevk.h,这个文件在include/config文件下复制官方的头文件,改成自己板子的头文件。
在这里插入图片描述

5.添加板级文件

💦也就是3步骤里的路径,将board文件里的mx6ullevk文件夹复制一份,更改成自己的板级文件名称。
在这里插入图片描述
💦打开文件夹,更改mx6ullevk.c文件名字。
在这里插入图片描述
💦修改子makefile
在这里插入图片描述
更改为
在这里插入图片描述
💦修改 mx6ull_alientek_emmc 目录下的 imximage.cfg 文件。
在这里插入图片描述
💦原文件
在这里插入图片描述

if TARGET_MX6ULL_14X14_EVK || TARGET_MX6ULL_9X9_EVK

💦在configs/mx6ull_alientek_emmc.defconfig文件中
在这里插入图片描述
💦修改后
在这里插入图片描述
💦修改MAINTAINERS文件
在这里插入图片描述

6.uboot图形配置

💦Uboot启动配置昨晚,还差最后一步,修改uboot图形配置文件目录:arch/arm/cpu/armv7/mx6/Kconfig,在文件中添加下述内容。
在这里插入图片描述

在这里插入图片描述

7.编译后验证

1.查看是否生成对于的.o文件
2.查看头文件是否正确被多个文件引用
在这里插入图片描述
在这里插入图片描述
3.烧录到SD卡,启动uboot

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/550622.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

frp 内网穿透配置(v0.55.1 版本)

注意:从 [v0.52.0] 版本开始,配置文件由 frps.ini 改成了 frps.toml 一种快速反向代理,可帮助您将 NAT 或防火墙后面的本地服务器暴露给 Internet。 GitHub 地址 : github.com/fatedier/fr… 下载之后如果碰到杀毒软件报毒&#x…

富文本在线编辑器 - tinymce

tinymce 项目是一个比较好的富文本编辑器. 这里有个小demo, 下载下来尝试一下, 需要配置个本地服务器才能够访问, 我这里使用的nginx, 下面是我的整个操作过程: git clone gitgitee.com:chick1993/layui-tinymce.git cd layui-tinymcewget http://nginx.org/download/nginx-1.…

00_Qt概述以及如何创建一个QT新项目

Qt概述 1.Qt概述1.1 什么是Qt1.2 Qt的发展史1.3 支持的平台1.4 Qt版本1.5 Qt的下载与安装1.6 Qt的优点 2.QT新项目创建3.pro文件4.主函数5.代码命名规范和快捷键 1.Qt概述 1.1 什么是Qt Qt是一个跨平台的C图形用户界面应用程序框架。它为应用程序开发者提供建立艺术级图形界面…

【一竞技CS2】VP战队官宣签下electroNic取代mir

1、近日VP战队官宣签下electroNic,以取代阵容中的mir。 electroNic自己也表示:“VP是一支顶级队伍。阵容核心曾赢得Major冠军,所有队员都处于巅峰状态并且时刻准备着去争夺冠军。我们有着一样的雄心壮志。 此外我还对和Jame很感兴趣&#xf…

解决nginx日志过大问题

1. 问题点 nginx默认的日志在logs/access.log,并且是一直累加写入,时间长了就会非常大,占用过多的硬盘,如果强行删除是很不友好的,需要重启服务; 2. 文件分割 上图文件已经达到了十个G左右 处理的思路肯定…

AI大模型探索之路-应用篇14:认识国产开源大模型GLM

目录 前言 一、国产主流大模型概览 1. 国内主流大模型清单 2. 主流大模型综合指数 3. 大语言模型评测榜单 二、GLM大模型介绍 三、GLM大模型发展历程 四、GLM家族之基座模型GLM-130B 五、GLM家族之ChatGLM3 六、GLM家族之WebGLM 七、GLM家族之CogVLM 1. CogVLM 2. …

2024五一杯数学建模A题思路分析

文章目录 1 赛题思路2 比赛日期和时间3 组织机构4 建模常见问题类型4.1 分类问题4.2 优化问题4.3 预测问题4.4 评价问题 5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 比赛日期和时间 报名截止时间:2024…

P9241 [蓝桥杯 2023 省 B] 飞机降落

原题链接:[蓝桥杯 2023 省 B] 飞机降落 - 洛谷 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 dfs全排列的变形题。 因为最后问飞机是否降落,并且一架飞机降落完毕时另一架飞机才能降落。所以我们设置dfs的两个变量cnt为安全…

解决EasyPoi导入Excel获取不到第一列的问题

文章目录 1. 复现错误2. 分析错误2.1 导入的代码2.2 DictExcel实体类2.2 表头和标题 3. 解决问题 1. 复现错误 使用EasyPoi导入数据时,Excel表格如下图: 但在导入时,出现如下错误: name为英文名称,在第一列&#xff0c…

Java代码基础算法练习-水仙花数-2024.04.17

任务描述: 水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数。水仙花数是 指一个 3 位数,它的每个位上的数字的3次幂之和等于它本身。 例如: 1的3次方 5的3次方 …

计算机网络的七层模型

序 OSl(Open System Interconnect),即开放式系统互联。一般都叫OSI参考模型。在网络编程中最重要的模型就是OSI七层网络模型和TCP/IP四层网络模型 一、OSI七层参考模型以及功能概述 二、各层的具体职能以及实际应用 1.应用层: OSI参考模型中最接近用…

最新的网易星球GEC挖矿系统修复版 章鱼星球挖矿系统源码 区块链虚拟币交易源码 基于ThinkPHP5开发

区块链系统介绍 2018.12.10更新增加聚合数据短信接口 2018.11.19更新增加短信宝接口 2018.08.17修复Linux系统搭建验证码不显示问题 2018.08.09修复后台某处溢出数据库账号密码BUG 2018.08.06修复票卷BUG 源码介绍: 区块链系统中用户共九个等级,依…

【Git】生成patch和应用patch

生成patch 将本地所有修改打成补丁 git diff > /tmp/xxx.patch将本地对某个文件的修改打成补丁 git diff test/1.txt > /tmp/1.patch将某一次提交的修改内容打成补丁 -1表示只为单个提交创建patch,-o表示输出patch的文件夹路径,默认是用提交的…

轻松查询车辆信息的全能接口

在当今社会,车辆已经成为人们出行的重要工具之一。当我们在二手车买卖、事故处理或者其他需要查询车辆详细信息的情况下,我们通常需要耗费大量时间和精力去收集相关的资料。幸好,有了车辆信息查询接口,我们可以通过输入车架号vin来…

20240416,对象初始化和清理,对象模型和THIS指针

哈哈哈乌龟越狱了 目录 2.5 深拷贝&浅拷贝 2.6 初始化列表 2.7 类对象作为类成员 2.8 静态成员 2.9 成员变量和成员函数分开存储 2.10 THIS指针的用途 2.11 空指针访问成员函数 2.12 COSNT修饰成员函数 2.5 深拷贝&浅拷贝 浅拷贝:简单的赋值拷贝…

leetcode-合并两个有序链表

目录 题目 图解 方法一 方法二 代码(解析在注释中) 方法一 ​编辑方法二 题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1…

第11章 数据仓库和数据智能知识点梳理

第11章 数据仓库和数据智能知识点梳理(附带页码) ◼ 数据仓库(Data Warehouse,DW):始于 20 世纪 80 年代,发展于 20 世纪 90 年代,后与商务智能(Business Inteligence,BI…

MAC上如何将某个目录制作成iso格式磁盘文件,iso文件本质是什么?以及挂载到ParallelDesktop中?(hdiutil makehybrid )

背景 ParallelsDesktop没有安装ParallelsTools的无法共享目录,可以通过ParallelsDesktop提供CD磁盘的方式共享进去 命令 # 准备文档 mkdir mytestdir cp xxx mytestdir# 生成iso hdiutil makehybrid -o output.iso mytestdir -iso -joliethdiutil是MAC提供的磁盘…

使用FastDDS编译IDL文件

1.安装FastDDS环境 Ubuntu22.04 1.1安装依赖的软件 sudo apt-get update //基础工具安装 sudo apt install cmake g python3-pip wget git //Asio 是一个用于网络和低级 I/O 编程的跨平台C库,它提供了一致的 异步模型。 TinyXML2是一个简单,小巧&…

DFS算法系列题 全排列II

DFS算法系列题 – 全排列II DFS精选题- > 这次我们挑战的对象是: 全排列II 题目链接:47. 全排列 II - 力扣(LeetCode) 这道题和我们之前做的全排列不同的点在于这道题的题目包含了重复的数字,要求我们返回不重复…