0
点赞
收藏
分享

微信扫一扫

MongoDB URL链接 如何设置账号密码

c一段旅程c 2023-10-22 阅读 45

一.  简介

mx6ull_alientek_nand.h文件是 开发板的 uboot的一个配置文件。每个开发板都有一个 .h的配置文件。

mx6ull_alientek_nand.h文件其实是 之前针对正点原子ALPHA开发板移植的 Uboot配置文件。

本文简单分析一下 针对正点原子ALPHA开发板的 配置文件: mx6ull_alientek_nand.h。

二.  mx6ull_alientek_nand.h文件详解

mx6ull_alientek_nand.h文件所在目录:uboot根目录下的 /include/configs

下面简单分析 mx6ull_alientek_nand.h文件内容。

1.  mx6ull_alientek_nand.h文件调用的头文件

mx6ull_alientek_nand.h文件调用的头文件如下:

#include <asm/arch/imx-regs.h>
#include <linux/sizes.h>
#include "mx6_common.h"
#include <asm/imx-common/gpio.h>

这里调用了 mx6_common.h 头文件,应该是 IMX6系列通用的头文件。如果在 mx6ull_alientek_emmc.h 中没有发现配置 某个功能或命令,但是实际却存在的话,可以到 mx6_common.h 文件里面去找一下。

2. 开发板的 DDR容量(即DRAM容量)

下面一个重要的代码是 设置 DDR容量,如下:

#ifdef CONFIG_TARGET_MX6ULL_9X9_EVK
#define PHYS_SDRAM_SIZE		SZ_256M
#define CONFIG_BOOTARGS_CMA_SIZE   "cma=96M "
#else
#define PHYS_SDRAM_SIZE		SZ_256M
#define CONFIG_BOOTARGS_CMA_SIZE   ""
/* DCDC used on 14x14 EVK, no PMIC */
#undef CONFIG_LDO_BYPASS_CHECK
#endif

这里的 ALPHA开发板所使用的 IMX6ULL芯片,不是 9x9封装的,所以,就执行了else的代码: 正点原子ALPHA开发板 的 DDR容量是 256MB。

3. 显示CPU信息,开发板信息,malloc 内存池大小

代码如下:

#define CONFIG_DISPLAY_CPUINFO
#define CONFIG_DISPLAY_BOARDINFO

/* Size of malloc() pool */
#define CONFIG_SYS_MALLOC_LEN		(16 * SZ_1M)

#define CONFIG_BOARD_EARLY_INIT_F
#define CONFIG_BOARD_LATE_INIT

CONFIG_DISPLAY_CPUINFO uboot 启动的时候可以输出 CPU 信息。

CONFIG_DISPLAY_BOARDINFO uboot 启动的时候可以输出板子信息。

CONFIG_SYS_MALLOC_LEN malloc 内存池大小,这里设置为 16MB

CONFIG_BOARD_EARLY_INIT_F ,这样 board_init_f 函数就会调用 board_early_init_f 函数。

CONFIG_BOARD_LATE_INIT ,这样 board_init_r 函数就会调用  board_late_init 函数。

4.  串口地址,USB地址。
#define CONFIG_MXC_UART
#define CONFIG_MXC_UART_BASE		UART1_BASE

/* MMC Configs */
#ifdef CONFIG_FSL_USDHC
#define CONFIG_SYS_FSL_ESDHC_ADDR	USDHC2_BASE_ADDR

/* NAND pin conflicts with usdhc2 */
#ifdef CONFIG_SYS_USE_NAND
#define CONFIG_SYS_FSL_USDHC_NUM	1
#else
#define CONFIG_SYS_FSL_USDHC_NUM	2
#endif
#endif

/* I2C configs */
#define CONFIG_CMD_I2C
#ifdef CONFIG_CMD_I2C
#define CONFIG_SYS_I2C
#define CONFIG_SYS_I2C_MXC
#define CONFIG_SYS_I2C_MXC_I2C1		/* enable I2C bus 1 */
#define CONFIG_SYS_I2C_MXC_I2C2		/* enable I2C bus 2 */
#define CONFIG_SYS_I2C_SPEED		100000

第1~2行,使能 I.MX6ULL 的串口功能,宏 CONFIG_MXC_UART_BASE 表示串口寄 存器基地址,这里使用的串口 1 ,基地址为 UART1_BASE

第5~6行,EMMC 接在 I.MX6ULL USDHC2 上,宏 CONFIG_SYS_FSL_ESDHC_ADDR

EMMC 所使用接口的寄存器基地址,也就是 USDHC2 的基地址。

9~12 行,跟 NAND 相关的宏,因为 NAND USDHC2 的引脚冲突,因此如果使用 NAND 的只能使用一个 USDHC 设备 (SD ) 如果没有使用 NAND ,那么就有两个 USDHC (EMMC SD ),CONFIG_SYS_FSL_USDHC_NUM宏 表示 USDHC 数量。

这里使用的 NAND,所以,只能使用一个 USDHC设备。

举报

相关推荐

0 条评论