IMX6ULL移植U-Boot 2022.04
目录
目录
1.编译环境以及uboot版本
2.默认编译测试
3.uboot中新增自己的开发板
3.编译测试
4.烧录测试
5.patch文件
1.编译环境以及uboot版本
| 宿主机 | Debian12 |
| u-boot版本 | lf_v2022.04 ; git 连接GitHub - nxp-imx/uboot-imx: i.MX U-Boot |
| 交叉编译工具 | gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf |
2.默认编译测试
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- distcleanmake ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- mx6ull_14x14_evk_emmc_defconfigmake ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf-
3.uboot中新增自己的开发板
#创建自己的config文件
cp configs/mx6ull_14x14_evk_emmc_defconfig configs/mx6ull_xing_emmc_defconfig

cp include/configs/mx6ullevk.h include/configs/mx6ull_xing_emmc.h

复制自己的板级文件夹
cd board/freescalecp -rf mx6ullevk mx6ull_xing_emmc
修改 mx6ull_xing_emmc 文件夹下的Makefile

修改mx6ull_xing_emmc 文件下的imximage.cfg

修改mx6ull_xing_emmc下的Kconfig文件

修改mx6ull_xing_emmc.c

修改MAINTAINERS

修改arch/arm/mach-imx/mx6/Kconfig

3.编译测试
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- distcleanmake ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- mx6ull_xing_emmc_defconfigmake ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf-

4.烧录测试
sudo dd if=u-boot-dtb.imx of=/dev/sdc bs=1k seek=1 conv=fsync

5.patch文件
From 8a36c3ca95ab8c8338eebe68a607cb575451be0c Mon Sep 17 00:00:00 2001
From: xingpeng89 <xingpeng8889@126.com>
Date: Thu, 15 Feb 2024 17:24:34 +0800
Subject: [PATCH] add mx6ull_xing_emmc board in uboot---uboot-imx/.binman_stamp | 0uboot-imx/arch/arm/mach-imx/mx6/Kconfig | 11 +.../board/freescale/mx6ull_xing_emmc/Kconfig | 17 +.../freescale/mx6ull_xing_emmc/MAINTAINERS | 8 +.../board/freescale/mx6ull_xing_emmc/Makefile | 4 +.../freescale/mx6ull_xing_emmc/imximage.cfg | 120 ++++++.../mx6ull_xing_emmc/imximage_lpddr2.cfg | 125 ++++++.../mx6ull_xing_emmc/mx6ull_xing_emmc.c | 376 ++++++++++++++++++.../board/freescale/mx6ull_xing_emmc/plugin.S | 263 ++++++++++++uboot-imx/configs/mx6ull_xing_emmc_defconfig | 109 +++++uboot-imx/include/configs/mx6ull_xing_emmc.h | 244 ++++++++++++uboot-imx/tools/boot/bootm.c | 1 +uboot-imx/tools/boot/fdt_region.c | 1 +uboot-imx/tools/boot/image-cipher.c | 1 +uboot-imx/tools/boot/image-fit-sig.c | 1 +uboot-imx/tools/boot/image-fit.c | 1 +uboot-imx/tools/boot/image-host.c | 1 +uboot-imx/tools/boot/image.c | 1 +18 files changed, 1284 insertions(+)create mode 100644 uboot-imx/.binman_stampcreate mode 100644 uboot-imx/board/freescale/mx6ull_xing_emmc/Kconfigcreate mode 100644 uboot-imx/board/freescale/mx6ull_xing_emmc/MAINTAINERScreate mode 100644 uboot-imx/board/freescale/mx6ull_xing_emmc/Makefilecreate mode 100644 uboot-imx/board/freescale/mx6ull_xing_emmc/imximage.cfgcreate mode 100644 uboot-imx/board/freescale/mx6ull_xing_emmc/imximage_lpddr2.cfgcreate mode 100644 uboot-imx/board/freescale/mx6ull_xing_emmc/mx6ull_xing_emmc.ccreate mode 100644 uboot-imx/board/freescale/mx6ull_xing_emmc/plugin.Screate mode 100644 uboot-imx/configs/mx6ull_xing_emmc_defconfigcreate mode 100644 uboot-imx/include/configs/mx6ull_xing_emmc.hcreate mode 100644 uboot-imx/tools/boot/bootm.ccreate mode 100644 uboot-imx/tools/boot/fdt_region.ccreate mode 100644 uboot-imx/tools/boot/image-cipher.ccreate mode 100644 uboot-imx/tools/boot/image-fit-sig.ccreate mode 100644 uboot-imx/tools/boot/image-fit.ccreate mode 100644 uboot-imx/tools/boot/image-host.ccreate mode 100644 uboot-imx/tools/boot/image.cdiff --git a/uboot-imx/.binman_stamp b/uboot-imx/.binman_stamp
new file mode 100644
index 00000000..e69de29b
diff --git a/uboot-imx/arch/arm/mach-imx/mx6/Kconfig b/uboot-imx/arch/arm/mach-imx/mx6/Kconfig
index 8954278c..7e9cb8bf 100644
--- a/uboot-imx/arch/arm/mach-imx/mx6/Kconfig
+++ b/uboot-imx/arch/arm/mach-imx/mx6/Kconfig
@@ -622,6 +622,16 @@ config TARGET_MX6ULL_14X14_EVKselect OF_SYSTEM_SETUPimply CMD_DM+config TARGET_MX6ULL_XING_EMMC
+ bool "Support mx6ull_xing_emmc"
+ depends on MX6ULL
+ select BOARD_LATE_INIT
+ select DM
+ select DM_THERMAL
+ select IMX_MODULE_FUSE
+ select OF_SYSTEM_SETUP
+ imply CMD_DM
+config TARGET_MYS_6ULXbool "MYiR MYS-6ULX"depends on MX6ULL
@@ -858,6 +868,7 @@ source "board/freescale/mx6sxsabreauto/Kconfig"source "board/freescale/mx6sx_17x17_val/Kconfig"source "board/freescale/mx6sx_19x19_val/Kconfig"source "board/freescale/mx6ul_14x14_evk/Kconfig"
+source "board/freescale/mx6ull_xing_emmc/Kconfig"source "board/freescale/mx6ul_14x14_ddr3_val/Kconfig"source "board/freescale/mx6ul_14x14_lpddr2_val/Kconfig"source "board/freescale/mx6ullevk/Kconfig"
diff --git a/uboot-imx/board/freescale/mx6ull_xing_emmc/Kconfig b/uboot-imx/board/freescale/mx6ull_xing_emmc/Kconfig
new file mode 100644
index 00000000..a21cef6c
--- /dev/null
+++ b/uboot-imx/board/freescale/mx6ull_xing_emmc/Kconfig
@@ -0,0 +1,17 @@
+if TARGET_MX6ULL_XING_EMMC
+
+config SYS_BOARD
+ default "mx6ull_xing_emmc"
+
+config SYS_VENDOR
+ default "freescale"
+
+config SYS_CONFIG_NAME
+ default "mx6ull_xing_emmc"
+
+config IMX_CONFIG
+ default "board/freescale/mx6ull_xing_emmc/imximage.cfg"
+
+config SYS_TEXT_BASE
+ default 0x87800000
+endif
diff --git a/uboot-imx/board/freescale/mx6ull_xing_emmc/MAINTAINERS b/uboot-imx/board/freescale/mx6ull_xing_emmc/MAINTAINERS
new file mode 100644
index 00000000..352405c0
--- /dev/null
+++ b/uboot-imx/board/freescale/mx6ull_xing_emmc/MAINTAINERS
@@ -0,0 +1,8 @@
+MX6ULLEVK BOARD
+M: Peng Xing <peng.xing@quectel.com>
+S: Maintained
+F: board/freescale/mx6ull_xing_emmc/
+F: include/configs/mx6ull_xing_emmc.h
+F: configs/mx6ull_xing_emmc_defconfig
+F: configs/mx6ull_14x14_evk_plugin_defconfig
+F: configs/mx6ulz_14x14_evk_defconfig
diff --git a/uboot-imx/board/freescale/mx6ull_xing_emmc/Makefile b/uboot-imx/board/freescale/mx6ull_xing_emmc/Makefile
new file mode 100644
index 00000000..438b1794
--- /dev/null
+++ b/uboot-imx/board/freescale/mx6ull_xing_emmc/Makefile
@@ -0,0 +1,4 @@
+# SPDX-License-Identifier: GPL-2.0+
+# (C) Copyright 2016 Freescale Semiconductor, Inc.
+
+obj-y := mx6ull_xing_emmc.o
diff --git a/uboot-imx/board/freescale/mx6ull_xing_emmc/imximage.cfg b/uboot-imx/board/freescale/mx6ull_xing_emmc相关文章:
IMX6ULL移植U-Boot 2022.04
目录 目录 1.编译环境以及uboot版本 2.默认编译测试 3.uboot中新增自己的开发板 3.编译测试 4.烧录测试 5.patch文件 1.编译环境以及uboot版本 宿主机Debian12u-boot版本lf_v2022.04 ; git 连接GitHub - nxp-imx/uboot-imx: i.MX U-Boot交叉编译工具gcc-arm-10.3-2021.0…...
ES实战-高级聚合
多桶型聚合 1.词条聚合–terms 2.范围聚合–range 3,直方图聚合–histogram/日期直方图 4.嵌套聚合 5.地理距离聚合 include(包含)exclude(不包含) GET /get-together/_search?pretty {"size": 0,"aggs": {"tags": {"terms": {"…...
网络安全产品之认识蜜罐
文章目录 一、什么是蜜罐二、蜜罐的主要类型三、蜜罐的主要功能四、蜜罐的主要组成及核心技术五、蜜罐的优缺点六、蜜罐如何与其他安全工具协同工作?七、什么是“蜜网”?与蜜罐的联系和区别是什么? 蜜罐的概念首次由Clifford Stoll在其1988年…...
推荐《架构探险:从零开始写Java Web框架》
版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 春节读了《架构探险:从零开始写Java Web框架》,一本大概10年前的好书。 本书的作者是阿里巴巴架构师黄勇。黄勇对分布式服务架构与大数据技术有深入…...
Go教程-Go语言简介
这篇文章我们来聊聊Go语言。 Go语言发展历史 以下是Go语言发展的几个里程碑节点: Go一开始是Google内部的一个项目,由三位大佬Rob Pike、Robert Griesemer、Ken Thompson早2007年发起。在2009年11月,Go语言正式对外开源。在2010年…...
React + SpringBoot + Minio实现文件的预览
思路:后端提供接口,从minio获取文件的预览链接,返回给前端,前端使用组件进行渲染展示 这里我从minio获取文件预览地址用到了一个最近刚开源的项目,挺好用的,大伙可以试试,用法也很简单 官网&am…...
心法利器[107] onnx和tensorRT的bert加速方案记录
心法利器 本栏目主要和大家一起讨论近期自己学习的心得和体会,与大家一起成长。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。 2023年新一版的文章合集已经发布,获取方式看这里:又添十万字-CS的陋室2…...
AcWing 122 糖果传递(贪心)
[题目概述] 有 n 个小朋友坐成一圈,每人有 a[i] 个糖果。 每人只能给左右两人传递糖果。 每人每次传递一个糖果代价为 1。 求使所有人获得均等糖果的最小代价。 输入格式 第一行输入一个正整数 n,表示小朋友的个数。 接下来 n 行,每行一个…...
unity的重中之重:组件
检查器(Hierarchy)面板中的所有东西都是组件。日后多数工作都是和组件打交道,包括调参、自定义脚本组件。 文章目录 12 游戏的灵魂,脚本组件13 玩转脚本组件14 尽职的一生,了解组件的生命周期15 不能插队!…...
Linux释放内存
free -m是Linux上查看内存的指令,其中-m是以兆(MB)为单位,如果不加则以KB为单位。 如下图表示,(total)总物理内存是809MB,(used)已使用167MB,&…...
Python算法题集_翻转二叉树
Python算法题集_翻转二叉树 题226:翻转二叉树1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【DFS递归】2) 改进版一【BFS迭代,节点循环】3) 改进版二【BFS迭代,列表循环】 4. 最优算法 本文为Python算法题集…...
Git快速掌握,通俗易懂
Git分布式版本控制工具 介绍 Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是由Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。Git可以帮助开发者们管理代码的版本,避免代码冲突&#…...
PHP毕业设计图片分享网站76t17
图片分享网站主要是为了提高工作人员的工作效率和更方便快捷的满足用户,更好存储所有数据信息及快速方便的检索功能,对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性,遵循开发的系统优化的原则,…...
代码随想录 Leetcode45. 跳跃游戏 II
题目: 代码(首刷看解析 2024年2月15日): class Solution { public:int jump(vector<int>& nums) {if (nums.size() 1) return 0;int res 0;int curDistance 0;int nextDistance 0;for (int i 0; i < nums.size(); i) {nex…...
【C语言】socketpair 的系统调用
一、 Linux 内核 4.19socketpair 的系统调用 SYSCALL_DEFINE4(socketpair, int, family, int, type, int, protocol,int __user *, usockvec) {return __sys_socketpair(family, type, protocol, usockvec); } 这段代码定义了一个名为 socketpair 的系统调用。系统调用是操作…...
【论文精读】BERT
摘要 以往的预训练语言表示应用于下游任务时的策略有基于特征和微调两种。其中基于特征的方法如ELMo使用基于上下文的预训练词嵌入拼接特定于任务的架构;基于微调的方法如GPT使用未标记的文本进行预训练,并针对有监督的下游任务进行微调。 但上述两种策略…...
Codeforces Round 925 (Div. 3) - A、B、C、D、E
文章目录 前言A. Recovering a Small StringB. Make EqualC. Make Equal AgainD. Divisible PairsE. Anna and the Valentines Day Gift 前言 本篇博客是Codeforces Round 925周赛的A、B、C、D、E五题的题解 A. Recovering a Small String 可以通过sum的大小分为三种情况&#…...
快速部署MES源码/万界星空科技开源MES
什么是开源MES软件? 开源MES软件是指源代码可以免费获取、修改和分发的MES软件。与传统的商业MES软件相比,开源MES软件具有更高的灵活性和可定制性。企业可以根据自身的需求对软件进行定制化开发,满足不同生产环境下的特定需求。 开源MES软件…...
【Python网络编程之TCP三次握手】
🚀 作者 :“码上有前” 🚀 文章简介 :Python开发技术 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 Python网络编程之[TCP三次握手] 代码见资源,效果图如下一、实验要求二、协议原理2.…...
【leetcode】深搜、暴搜、回溯、剪枝(C++)2
深搜、暴搜、回溯、剪枝(C)2 一、括号生成1、题目描述2、代码3、解析 二、组合1、题目描述2、代码3、解析 三、目标和1、题目描述2、代码3、解析 四、组合总和1、题目描述2、代码3、解析 五、字母大小写全排列1、题目描述2、代码3、解析 六、优美的排列1…...
未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
