欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > U-Boot的移植流程

U-Boot的移植流程

2024/10/23 6:50:10 来源:https://blog.csdn.net/weixin_44601183/article/details/143134656  浏览:    关键词:U-Boot的移植流程

在这里插入图片描述

U-Boot的简化版启动流程:

1、设置状态寄存器 cpsr ,使CPU进入 SVC 特权模式,并且禁止 FIQ 和 IRQ;

2、关闭看门狗、中断、MMU、Cache;

3、初始化部分寄存器和外设(时钟、串口、Flash、内存);

4、自搬移uboot到内存中运行;

5、设置栈空间并初始化global_data;

6、剩余大部分硬件的初始化;

7、搬移Linux内核到内存;

U-Boot移植

  1. 从NXP官方提供的配置文件中找到相关联的配置文件:imx6ull_14×14_emmc_deconfig作为默认配置文件蓝本
    • 编译完成以后会生成 u-boot.bin、u-boot.imx 等文件,但是这些文件是 NXP 官方 I.MX6ULL EVK 开发板。
    • 将 imxdownload 软件拷贝到 uboot 源码根目录下,然后使用 imxdownload 软件将 u-boot.bin 烧写到 SD 卡中
    • 设置开发板从SD卡中启动,加载uboot
    • uboot 成功加载之后通常需要检查:
    • SD 卡和 EMMC 驱动是否正常(常规情况下都是正常的)
    • LCD 屏幕驱动是否正常(问题不大)
    • 网络驱动是否正常(核心部分)
  2. 先在 configs 目录下创建默认配置文件,复制 mx6ull_14x14_evk_emmc_defconfig,然后重命名为 mx6ull_alientek_emmc_defconfig
    • 修改其中的一些命名
  3. 添加开发板对应的头文件。在目录 include/configs 下添加 I.MX6ULL-ALPHA 开 发 板 对 应 的 头 文 件 , 复 制 include/configs/mx6ullevk.h,并重命名为 mx6ull_alientek_emmc.h
  4. 添加开发板对应的板级文件。uboot 中每个板子都有一个对应的文件夹来存放板级文件,比如开发板上外设驱动文件等等。NXP 的 I.MX 系列芯片的所有板级文件夹都存放在 board/freescale 目录下,在这个目录下有个名为 mx6ullevk 的文件夹,这个文件夹就是 NXP 官方 I.MX6ULL EVK 开发板的板级文件夹。复制 mx6ullevk,将其重命名为 mx6ull_alientek_emmc
    • 修改 mx6ull_alientek_emmc 目录下的 Makefile 文件
    • 修改 mx6ull_alientek_emmc 目录下的 imximage.cfg 文件
    • 修改 mx6ull_alientek_emmc 目录下的 Kconfig 文件
    • 修改 mx6ull_alientek_emmc 目录下的 MAINTAINERS 文件
  5. 修改 U-Boot 图形界面配置文件
  6. LCD驱动修改。一般 uboot 中修改驱动基本都是在 xxx.h 和 xxx.c 这两个文件中进行的,xxx 为板子名称,比如 mx6ull_alientek_emmc.h 和 mx6ull_alientek_emmc.c 这两个文件。
    • 一般修改 LCD 驱动重点注意以下几点:
    • LCD 所使用的 GPIO,查看 uboot 中 LCD 的 IO 配置是否正确。
    • LCD 背光引脚 GPIO 的配置。
    • LCD 配置参数是否正确。
  7. 网络驱动修改
  8. uboot 中有两个非常重要的环境变量 bootcmd 和 bootargs,接下来看一下这两个环境变量。bootcmd 和 bootagrs 是采用类似 shell 脚本语言编写的,里面有很多的变量引用,这些变量其实都 是 环 境 变 量 , 有 很 多 是 NXP 自 己 定 义 的 。 文 件 mx6ull_alientek_emmc.h 中的宏CONFIG_EXTRA_ENV_SETTINGS 保存着这些环境变量的默认值
    在这里插入图片描述
    参考链接1
    参考链接2

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com