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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

磁盘database数据恢复: ddrescue,dd和Android 设备的数据拷贝

ddrescue和dd 区别&#xff1a; GNU ddrescue 不是 dd 的衍生物&#xff0c;也与 dd 没有任何关系 除了两者都可用于将数据从一台设备复制到另一台设备。 关键的区别在于 ddrescue 使用复杂的算法来复制 来自故障驱动器的数据&#xff0c;尽可能少地造成额外的损坏。ddrescue…

C 语言 devc++ 使用 winsock 实现 windows UDP 局域网发送消息

U参考来源 U 这里移植到windows 上 &#xff0c;使用 devc 开发。 服务端代码 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <winsock2.h>int main() {WORD sockVersion MAKEWORD(2, 2);WSAD…

2024年【危险化学品经营单位安全管理人员】考试报名及危险化学品经营单位安全管理人员考试资料

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 危险化学品经营单位安全管理人员考试报名是安全生产模拟考试一点通总题库中生成的一套危险化学品经营单位安全管理人员考试资料&#xff0c;安全生产模拟考试一点通上危险化学品经营单位安全管理人员作业手机同步练习…

二叉树相关OJ题

创作不易&#xff0c;感谢三连&#xff01;&#xff01; 一、选择题 1、某二叉树共有 399 个结点&#xff0c;其中有 199 个度为 2 的结点&#xff0c;则该二叉树中的叶子结点数为&#xff08; &#xff09; A.不存在这样的二叉树 B.200 C.198 D.199解析&#xff1a;选B&…

模拟算法总结(Java)

目录 模拟算法概述 练习 练习1&#xff1a;替换所有的问号 练习2&#xff1a;提莫攻击 练习3&#xff1a;Z字形变换 模拟算法概述 模拟&#xff1a;根据题目要求的实现过程进行编程模拟&#xff0c;即题目要求什么就实现什么 解决这类题目&#xff0c;需要&#xff1a; 1…

canal监听binlog记录业务数据的变更;canalAdmin对instance做web配置

概述 平时在开发中会通过logback打印一些开发日志&#xff0c;有时也会需要记录一些业务日志&#xff0c;简单的就直接用log记录一下&#xff0c;但是系统中需要记录日志的地方越来越多时&#xff0c;不能每个地方都写一套log记录&#xff1b; 由于平常用的大多都是mysql&…

做一个AI 红包封面,会火起来吗?

支持文生图 输入图片提示词&#xff0c;即可生成图片。 支持图生图 体验地址 关注公众号&#xff1a;回复红包 &#xff0c;获取体验地址

《区块链公链数据分析简易速速上手小册》第10章:未来趋势和挑战(2024 最新版)

文章目录 10.1 区块链技术的发展方向10.1.1 基础知识10.1.2 重点案例&#xff1a;构建一个简单的智能合约步骤1: 创建智能合约步骤2: 部署智能合约步骤3: 使用Python与智能合约交互结语 10.1.3 拓展案例 1&#xff1a;探索 DeFi 应用准备工作实现步骤步骤1: 获取Compound市场数…

Peter算法小课堂—哈希与哈希表

额……字符串我们是第一次学&#xff0c;给大家铺一些基础的不能再基础的基础&#xff0c; 字符串比较大小 字符串大小的比较&#xff0c;不是以字符串的长度直接决定&#xff0c;而是从最左边第一个字符开始比较&#xff0c;大者为大&#xff0c;小者为小&#xff0c;若相等…

【白话前端】一篇文章区分js库和js框架

假定你选择自助游&#xff0c;你需要找不同服务商帮你解决吃住行的问题&#xff0c;这些服务商就是js库。你也可以选择旅行社&#xff0c;给你全解决&#xff0c;这是js框架。 JavaScript库和框架都是用于简化Web开发的工具&#xff0c;但它们之间有一些区别。 JavaScript库&a…

【面试】盘点10个高频的前端算法题,你全都会了吗?

前言 &#x1f4eb; 大家好&#xff0c;我是南木元元&#xff0c;热爱技术和分享&#xff0c;欢迎大家交流&#xff0c;一起学习进步&#xff01; &#x1f345; 个人主页&#xff1a;南木元元 现在前端的面试中&#xff0c;算法出现的频率越来越高了&#xff0c;大厂更是必考算…

qml中解决Page控件头部元素Margin不生效的问题

0、想要的效果 1、问题描述 经测试&#xff1a;Page的头部无法完美的进行左右边距设置&#xff0c;leftMargin可以&#xff0c;rightMargin不可以。。。。 Page {// ...header: Frame {id: headerheight: 70// 必须首先锚定位&#xff0c;然后设置边距才生效padding: 0anchor…