当前位置: 首页 > news >正文

正点原子IMX6ULL开发板U-Boot编译

/bash

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_14x14_evk_emmc_defconfig

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- V=1 -j12

image

image

拨码开关拨到从SD卡启动,重启开发板。看到日志Board:MX6ULL 14x14 EVK官方开发板信息。

图片

(1)复制 mx6ull_14x14_evk_emmc_defconfig重命名为 mx6ull_alientek_emmc_defconfig:

cd configs

cp mx6ull_14x14_evk_emmc_defconfig mx6ull_alientek_emmc_defconfig

(2)修改mx6ull_alientek_emmc_defconfig 中第 1 行和第 4 行的内容为:

image

在目录 include/configs 下 添 加 I.MX6ULL-ALPHA 开 发 板 对 应 的 头 文 件 , 复 制

include/configs/mx6ullevk.h,并重命名为 mx6ull_alientek_emmc.h:

cp include/configs/mx6ullevk.h include/configs/mx6ull_alientek_emmc.h

拷贝完成后头文件定义修改为:

#ifndef __MX6ULL_ALIENTEK_EMMC_CONFIG_H

#define __MX6ULL_ALIENTEK_EMMC_CONFIG_H

uboot中每个板子都有一个对应的文件夹来存放板级文件,NXP 的 I.MX 系列芯片的所有板级文件夹都存放在 board/freescale 目录下,在这个目录下有个名为 mx6ullevk 的文件夹,这个文件夹就是 NXP 官方 I.MX6ULL EVK 开发板的板级文件夹。

(1)复制mx6ullevk,将其重命名为mx6ull_alientek_emmc

cd board/freescale/

cp mx6ullevk/ -r mx6ull_alientek_emmc

进入 mx6ull_alientek_emmc 目 录 中 , 将 其 中 的 mx6ullevk.c 文 件 重 命 名 为

mx6ull_alientek_emmc.c。

cd mx6ull_alientek_emmc

mv mx6ullevk.c mx6ull_alientek_emmc.c

(2)修改 mx6ull_alientek_emmc 目录下的 Makefile 文件

改为如下所示:

# (C) Copyright 2015 Freescale Semiconductor, Inc.

#

# SPDX-License-Identifier: GPL-2.0+

#

obj-y := mx6ull_alientek_emmc.o

extra-$(CONFIG_USE_PLUGIN) := plugin.bin

$(obj)/plugin.bin: $(obj)/plugin.o

$(OBJCOPY) -O binary --gap-fill 0xff $< $@

(3)修改 mx6ull_alientek_emmc 目录下的 imximage.cfg 文件

将 imximage.cfg 中的:

PLUGIN board/freescale/mx6ullevk/plugin.bin 0x00907000

改为:

PLUGIN board/freescale/mx6ull_alientek_emmc /plugin.bin 0x00907000

(4)修改 mx6ull_alientek_emmc 目录下的 Kconfig 文件

图片

(5)修改 mx6ull_alientek_emmc 目录下的 MAINTAINERS 文件

修改 MAINTAINERS 文件,修改后的内容如下:

图片

修改文件arch/arm/cpu/armv7/mx6/Kconfig(如果用的 I.MX6UL 的话,应该修改 arch/arm/Kconfig 这个文

件),在 207 行加入如下内容:

image

image

如果编译报错,安装依赖sudo apt-get install lzop后重新编译。

在 uboot 根目录下新建一个名为 mx6ull_alientek_emmc.sh 的 shell 脚本,在这个 shell 脚本

里面输入如下内容:

#!/bin/bash

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_alientek_emmc_defconfig

make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j12

chmod 777 mx6ull_alientek_emmc.sh // 给予可执行权限,一次即可

./mx6ull_alientek_emmc.sh // 运行脚本编译 uboot编译

编译完成以后就使用 imxdownload 将新编译出来的 u-boot.bin 烧写到 SD 卡中测试。

image

图片

从SD卡启动,启动日志中Board已经修改为自己的开发板了。

图片

ubuntun 2204下gcc 11.2.0编译报错。

multiple definition of yylloc; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): ...

图片

1、下载gcc-9

sudo apt install gcc-9

2、切换gcc版本

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100

http://www.cnnetsun.cn/news/49392.html

相关文章:

  • Neovim代码补全终极指南:极速配置与智能提示
  • 【Kubernetes】使用Helm简化k8s部署、管理
  • 零基础也能搭建企业官网:Halo开源建站工具实战指南
  • Open-SaaS邮件系统性能优化实战:构建高并发异步处理架构
  • 基于vue的考研信息共享平台_a5a399ip_springboot php python nodejs
  • ROAPI零代码API构建完整指南:从入门到实战
  • 基于vue的小明餐厅点餐平台的设计_9yzk5cgp_springboot php python nodejs
  • 35、掌握Bash脚本:提升Linux管理效率的秘诀
  • 软考 系统架构设计师系列知识点之面向服务架构设计理论与实践(13)
  • Proxy Audio Device:macOS虚拟音频驱动器的完整指南
  • 终极PHP调试解决方案:用symfony/debug实现高效错误处理
  • 智慧养老项目:当SpringBoot遇到硬件,如何优雅地处理异常与状态管理?
  • 5步轻松搞定AppSmith实时推送:告别消息延迟的终极指南
  • IOPaint终极指南:AI一键去除水印的完整解决方案
  • Windows更新后RDPWrap失效修复指南:快速恢复多用户远程桌面功能
  • GPU和TPU差异之联网
  • 解决 Oracle 监听外网 IP 及腾讯云防火墙配置
  • ORACLE解析游标生成JSON
  • AMD GPU并行通信技术:突破性性能优化实战指南
  • Everywhere AI助手:跨平台智能对话系统深度解析
  • 考古学开放数据中的Paradata研究——CAPTURE项目与文献综述解读
  • 论文解读|将1930年前所有阿拉伯期刊添加到Wikidata——学术众包项目Jarāʾid向数字公共领域的迁移
  • 5分钟掌握UpSetR:超越维恩图的集合交集可视化神器
  • 机构洗盘拼合指标绝无未来 源码分析
  • Android项目架构完整指南:模块化开发与Kotlin最佳实践
  • Horovod Process Sets:让千亿参数模型训练触手可及
  • 5步掌握Loco+Tauri:构建高性能跨平台桌面应用的终极指南
  • 如何在Zephyr RTOS中制定最佳编译策略?
  • 专业实验室改造,必须避开的5大坑
  • 千万注意!实验室装修这5个关键点不容忽视