uboot移植
1.添加开发板默认配置文件
在configs文件夹下创建自己的defconfig文件。复制半导体厂商的配置文件,例如NXP公司EVK开发板的配置文件是mx6ull_14x14_evk_emmc_defconfig,然后重命名为 mx6ull_alientek_emmc_defconfig。然后将文件 mx6ull_alientek_emmc_defconfig 中的内容改成下面的:
mx6ull_alientek_emmc_defconfig 基本和 mx6ull_14x14_evk_emmc_defconfig 中的内容一样,只是第 1 行和第 4 行做了修改
2.添加开发板对应的头文件
在目录 include/configs 下添加开发板对应的头文件 ,复制include/configs/mx6ullevk.h,并重命名为 mx6ull_alientek_emmc.h
3.添加开发板对应的板级文件夹
uboot 中每个板子都有一个对应的文件夹来存放板级文件,NXP 的 I.MX 系列芯片的所有板级文件夹都存放在 board/freescale 目录下,复制 mx6ullevk,将其重命名为 mx6ull_alientek_emmc
我们还需要对 mx6ull_alientek_emmc 目录下的文件做一些修改
1、修改 mx6ull_alientek_emmc 目录下的 Makefile 文件
第 6 行的 obj-y,改为 mx6ull_alientek_emmc.o,这样才会编译 mx6ull_alientek_emmc.c这个文件
2、修改 mx6ull_alientek_emmc 目录下的 imximage.cfg 文件
主要是修改了文件夹的路径
3、修改 mx6ull_alientek_emmc 目录下的 Kconfig 文件
重点说明:这个Kconfig文件必须改对!!我们修改了开发板对应的头文件的名字,那么我uboot怎么知道开发板对应的头文件是哪一个?我肯定要在某些地方告诉uboot,我新重命名的那个文件是我的头文件。SYS_CONFIG_NAME 就是通过这个变量名,将我的头文件联系了起来,因为头文件是存放在include文件夹里,所以只需要告诉uboot头文件的名字,不需要告诉头文件的路径。当然,上面的SYS_BOARD等变量,是板级文件夹存放的位置,这样不就都联系上了?
4.修改 U-Boot 图形界面配置文件
修改文件arch/arm/cpu/armv7/mx6/Kconfig(如果用的 I.MX6UL 的话,应该修改 arch/arm/Kconfig 这个文件)
4.修改LCD驱动和网络驱动等
修改LCD:打开文件 mx6ull_alientek_emmc.c,找到如下所示内容:
修改.mode里面的LCD参数
打开 mx6ull_alientek_emmc.h,找到所有如下语句:
改到这,LCD驱动基本就修改好了
问:如果修改完上述的环境变量后,使用print查看uboot的环境变量,发现没有改过来,这是怎么回事呢?
原来uboot 启动以后会先从 MMC 中读取环境变量,如果 MMC 中没有环境变量的话,才会使用 mx6ull_alientek_emmc.h 中的默认环境变量!!
网络驱动的移植比较复杂,这里就不详细说了,需要根据不同的开发板做不同的移植
一般 uboot 中需要解决串口、 NAND、 EMMC 或 SD 卡、网络和 LCD 驱动,因为 uboot的主要目的就是启动 Linux 内核,所以不需要考虑太多的外设驱动。
- I.MX6Q(TQIMX6Q/TQE9)学习笔记——U-Boot移植
- x210v3开发板u-boot-2012.10移植之补充篇---uboot启动流程详解
- u-boot移植(一)---准备工作
- 学习笔记(02):补基础之shell和Makefile-2.2.uboot和系统移植第2部分-2.2.4.shell编程学习2...
- u-boot 在s3c44b0移植总结
- 移植u-boot-2009-11->S3c44b0公板
- linux 学习- 编程基础之uboot移植
- U-boot在开发板上移植过程详解(2)---U-boot实现源码分析(第一阶段)
- 移植最新u-boot(裁剪和修改默认参数)
- uboot-2011.12移植到S3C2440(序二)—— binutils二进制工具集与u-boot
- U-Boot移植串口xmodem协议_附测试代码
- 移植U-Boot.1.2.0到友善之臂S3C2440
- FS_S5PC100 UBOOT-2011.12移植,支持DM9000
- u-boot-2009.08在飞凌OK2440/FL2440上的移植(五)——让u-boot从nand flash启动
- DAVINCI DM3730开发攻略——U-BOOT-2010.06的移植
- 移植u-boot-2015.07-rc3之增加smdk2440开发板框架支持(一)
- imx515 uboot UBIFS移植及android UBIFS文件系统烧写
- 友善mini2440:uboot和内核的移植
- 移植最新的uboot之:优化操作
- u-boot-2013.01.01移植(一)