做众筹网站需要什么条件,学院网站建设的作用,定制vx怎么弄,做通风工程上哪个网站发布一. 简介
mx6ull_alientek_nand.h文件是 开发板的 uboot的一个配置文件。每个开发板都有一个 .h的配置文件。
mx6ull_alientek_nand.h 文件其实是 之前针对正点原子ALPHA开发板移植的 Uboot配置文件。
本文继上一篇文章的学习#xff0c;地址如下#xff1a;uboot移植之m…一. 简介
mx6ull_alientek_nand.h文件是 开发板的 uboot的一个配置文件。每个开发板都有一个 .h的配置文件。
mx6ull_alientek_nand.h 文件其实是 之前针对正点原子ALPHA开发板移植的 Uboot配置文件。
本文继上一篇文章的学习地址如下uboot移植之mx6ull_alientek_nand.h文件详解二-CSDN博客
本文继续分析针对正点原子ALPHA开发板的 配置文件 mx6ull_alientek_nand.h。 二. mx6ull_alientek_nand.h文件详解 继续分析 mx6ull_alientek_nand.h 文件的内容。 1. EMMC分区
#define CONFIG_SYS_MMC_ENV_DEV 1 /* USDHC2 */
#define CONFIG_SYS_MMC_ENV_PART 0 /* user area */
#define CONFIG_MMCROOT /dev/mmcblk1p2 /* USDHC2 */ 第 1 行宏 CONFIG_SYS_MMC_ENV_DEV 为默认的 MMC 设备这里默认为 USDHC2 也就是 EMMC 。 第 2 行宏 CONFIG_SYS_MMC_ENV_PART 为模式分区默认为第 0 个分区。 第 3 行宏 CONFIG_MMCROOT 设置进入 linux 系统的根文件系统所在的分区这里设 置为 /dev/mmcblk1p2 也就是 EMMC 设备的第 2 个分区。第 0 个分区保存 uboot 第 1 个分 区保存 linux 镜像和设备树第 2 个分区为 Linux 系统的根文件系统。 2. 针对 NAND-Flash版的开发板。
/* NAND stuff */
#ifdef CONFIG_SYS_USE_NAND
#define CONFIG_CMD_NAND
#define CONFIG_CMD_NAND_TRIMFFS#define CONFIG_NAND_MXS
#define CONFIG_SYS_MAX_NAND_DEVICE 1
#define CONFIG_SYS_NAND_BASE 0x40000000
#define CONFIG_SYS_NAND_5_ADDR_CYCLE
#define CONFIG_SYS_NAND_ONFI_DETECTION/* DMA stuff, needed for GPMI/MXS NAND support */
#define CONFIG_APBH_DMA
#define CONFIG_APBH_DMA_BURST
#define CONFIG_APBH_DMA_BURST8
#endif 与 NAND 有关的宏定义如果使用 NAND 的话。 3. 环境变量偏移地址针对不同版的开发板偏移地址不同。
#define CONFIG_ENV_SIZE SZ_8K
#if defined(CONFIG_ENV_IS_IN_MMC)
#define CONFIG_ENV_OFFSET (12 * SZ_64K)
#elif defined(CONFIG_ENV_IS_IN_SPI_FLASH)
#define CONFIG_ENV_OFFSET (768 * 1024)
#define CONFIG_ENV_SECT_SIZE (64 * 1024)
#define CONFIG_ENV_SPI_BUS CONFIG_SF_DEFAULT_BUS
#define CONFIG_ENV_SPI_CS CONFIG_SF_DEFAULT_CS
#define CONFIG_ENV_SPI_MODE CONFIG_SF_DEFAULT_MODE
#define CONFIG_ENV_SPI_MAX_HZ CONFIG_SF_DEFAULT_SPEED
#elif defined(CONFIG_ENV_IS_IN_NAND)
#undef CONFIG_ENV_SIZE
#define CONFIG_ENV_OFFSET (60 20)
#define CONFIG_ENV_SECT_SIZE (128 10)
#define CONFIG_ENV_SIZE CONFIG_ENV_SECT_SIZE
#endif 第 1 行宏 CONFIG_ENV_SIZE 为环境变量大小默认为 8KB 。 第 2~ 16 行宏 CONFIG_ENV_OFFSET 为环境变量偏移地址这里的偏移地址是相对 于存储器的首地址。 如果环境变量保存在 EMMC 中的话环境变量偏移地址为 12*64KB 。 如 果环境变量保存在 SPI FLASH 中的话偏移地址为 768*1024 。 如果环境变量保存在 NAND 中 的话偏移地址为 6020(60MB) 并且重新设置环境变量的大小为 128KB 。 4. 与 USB 相关的宏定义。
但是我们在做 uboot移植时并没有使用到 usb。
/* USB Configs */
#define CONFIG_CMD_USB
............
#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
#endif 5. 网络相关配置
#ifdef CONFIG_CMD_NET
#define CONFIG_CMD_PING
#define CONFIG_CMD_DHCP
#define CONFIG_CMD_MII
#define CONFIG_FEC_MXC
#define CONFIG_MII
#define CONFIG_FEC_ENET_DEV 1#if (CONFIG_FEC_ENET_DEV 0)
#define IMX_FEC_BASE ENET_BASE_ADDR
#define CONFIG_FEC_MXC_PHYADDR 0x2
#define CONFIG_FEC_XCV_TYPE RMII
#elif (CONFIG_FEC_ENET_DEV 1)
#define IMX_FEC_BASE ENET2_BASE_ADDR
#define CONFIG_FEC_MXC_PHYADDR 0x1
#define CONFIG_FEC_XCV_TYPE RMII
#endif
#define CONFIG_ETHPRIME FEC#define CONFIG_PHYLIB
#define CONFIG_PHY_MICREL
#endif 与网络相关的宏定义比如使能 dhcp 、 ping 等命令。 第 7 行宏 CONFIG_FEC_ENET_DEV 指定 uboot 所使用的网口 I.MX6ULL 有两个网口为 0 时使 用 ENET1 为 1 时使用 ENET2 。 宏 IMX_FEC_BASE 为 ENET 接口的寄存器首地址。 宏 CONFIG_FEC_MXC_PHYADDR 为网口 PHY 芯片的地址。 宏 CONFIG_FEC_XCV_TYPE 为 PHY 芯片所使用的接口类型 I.MX6U-ALPHA 开发板的两个 PHY 都使用的 RMII 接口。 6. 其他配置项
例如开启LCD屏幕上显示 LOG图片等。
#define CONFIG_IMX_THERMAL#ifndef CONFIG_SPL_BUILD
#define CONFIG_VIDEO
#ifdef CONFIG_VIDEO
#define CONFIG_CFB_CONSOLE
#define CONFIG_VIDEO_MXS
#define CONFIG_VIDEO_LOGO
#define CONFIG_VIDEO_SW_CURSOR
#define CONFIG_VGA_AS_SINGLE_DEVICE
#define CONFIG_SYS_CONSOLE_IS_IN_ENV
#define CONFIG_SPLASH_SCREEN
#define CONFIG_SPLASH_SCREEN_ALIGN
#define CONFIG_CMD_BMP
#define CONFIG_BMP_16BPP
#define CONFIG_VIDEO_BMP_RLE8
#define CONFIG_VIDEO_BMP_LOGO
#define CONFIG_IMX_VIDEO_SKIP
#endif
#endif#define CONFIG_IOMUX_LPSR#if defined(CONFIG_ANDROID_SUPPORT)
#include mx6ullevk_android.h
#endif#endif最后的这段代码 都是一些配置宏例如 CONFIG_VIDEO 宏用于开启 LCD CONFIG_VIDEO_LOGO 使能 LOGO 显示 CONFIG_CMD_BMP 使能 BMP 图片显示指令。这 样就可以在 uboot 中显示图片了一般用于显示 logo 。 三. 总结 针对 uboot 的裁剪其实通过 mx6ull_alientek_nand.h 头文件的更改可以完成。
mx6ull_alientek_nand.h头文件中使用了很多功能。如果使能了某个功能则这个功能对应的源码就会编译进 uboot里面。