向NXP官方uboot添加Nand版开发板

一.   简介

本文学习将我所使用的正点原子的 ALPHA 开发板如何添加到 NXP(恩智浦)官方的 uboot源码中。

这里 IMX6ULL芯片的封装是 14x14,开发板是 NAND版本。我们就参考 NXP 官方的 I.MX6ULL EVK 开发板,向 uboot 中添加我们的开发。

NXP 官方的uboot 也是支持 NAND版的开发板的。也就是说,NXP官方的 uboot 可以在 ALPHA开发板(NAND版)上可以正常运行。

二.   向NXP官方uboot添加Nand版开发板

接下来我们就参考 NXP 官方的 I.MX6ULL EVK 开发板 学习如何在 uboot 中添加正点原子的 ALPHA 开发板

下面具体学习如何向 NXP官方 uboot添加 正点原子的ALPHA开发板(NAND版)。

(1) 首先,添加开发板默认的配置文件。

这里 IMX6ULL芯片的封装是 14x14,开发板是 NAND版本。我们就参考 NXP 官方的 I.MX6ULL EVK 开发板,向 uboot 中添加我们的开发

开发板默认配置文件在 uboot根目录的 configs目录下。先在 configs 目录下创建默认配置文件,复制 mx6ull_14x14_evk_nand_defconfig,然后重命名为 mx6ull_alientek_nand_defconfig,操作如下:

@wangtian:~/zhengdian_Linux/linux/uboot/nxp_uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga/configs$ cp mx6ull_14x14_evk_nand_defconfig mx6ull_alientek_nand_defconfig

更改 mx6ull_alientek_nand_defconfig 配置文件中的内容,更改如下:

CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6ull_alientek_nand/imximage.cfg,SYS_BOOT_NAND"
CONFIG_ARM=y
CONFIG_ARCH_MX6=y
CONFIG_TARGET_MX6ULL_ALIENTEK_NAND=y
CONFIG_CMD_GPIO=y
可以看出, mx6ull_alientek_emmc_defconfig 基本和 mx6ull_14x14_evk_emmc_defconfig 中的内容一样,只是第 1 行和第 4 行做了修改。

(2) 其次,添加开发板对应的头文件。

在目录 include/configs 下添加 I.MX6ULL-ALPHA 开 发 板 对 应 的 头 文 件 ,每个板子都有一个相应的 配置头文件。
复 制 include/configs/mx6ullevk.h ,并重命名为 mx6ull_alientek_nand.h ,命令如下:

wangtian@wangtian-virtual-machine:~/zhengdian_Linux/linux/uboot/nxp_uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga/include/configs$ cp mx6ullevk.h mx6ull_alientek_nand.h

拷贝完成以后,需要更改 mx6ull_alientek_nand.h文件中的内容。更改如下:
#ifndef __MX6ULLEVK_CONFIG_H
#define __MX6ULLEVK_CONFIG_H

更改为如下:

#ifndef __MX6ULL_ALIENTEK_NAND_CONFIG_H
#define __MX6ULL_ALIENTEK_NAND_CONFIG_H

mx6ull_alientek_nand.h 里面有很多宏定义,这些宏定义基本用于配置 uboot ,也有一些
I.MX6ULL 的配置项目。如果我们自己要想使能或者禁止 uboot 的某些功能,那就在 mx6ull_alientek_nand.h 里面做修改即可。
注意: 这里关键是更改 DDR的容量大小!!!
因为 ALPHA-NAND版开发板所使用的 DDR(即 DRAM)容量是 256MB,而NXP官方的NAND-Flash版开发板所使用的DDR容量是 512MB。所以 ,涉及 DDR容量的更改。更改如下的部分:
#ifdef CONFIG_TARGET_MX6ULL_9X9_EVK
........
#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

可以看出,更改了  else下面的宏 PHYS_SDRAM_SIZE  为 SZ_256M。因为 IMX6ULL芯片是 14x14封装,所以,会执行下面的 else部分。

(3) 其次,添加开发板对应的板级文件夹。

cd board/freescale/
cp mx6ullevk/ -r mx6ull_alientek_nand
uboot 中每个板子都有一个对应的文件夹来存放板级文件,比如开发板上外设驱动文件等。 NXP I.MX 系列芯片的所有板级文件夹都存放在 board/freescale 目录下,在这个目录下 有个名为 mx6ullevk 的文件夹,这个文件夹就是 NXP 官方 I.MX6ULL EVK 开发板的板级文件 夹。

进入 board/freescale 目录下,复制一份 mx6ullevk文件夹,将其重命名为 mx6ull_alientek_nand,命令如下:

cd board/freescale/
cp mx6ullevk/ ./mx6ull_alientek_nand -rf

这时在 board/freescale 目录下就 存在了 mx6ull_alientek_nand 文件夹。接下来更改 mx6ull_alientek_nand文件夹下的一些文件名或文件内容。

进入 board/freescale/mx6ull_alientek_nand 目录下进行更改。

①  更改 mx6ull_alientek_nand 文件夹下 mx6ullevk.c 文件的名字。更改如下:

mv mx6ullevk.c mx6ull_alientek_nand.c

②  更改 mx6ull_alientek_nand 文件夹下 Makefile,更改如下:

obj-y  := mx6ull_alientek_nand.o

更改 mx6ull_alientek_nand 文件夹下的 imximage.cfg 文件。imximage.cfg 中的PLUGIN.bin 路径更改如下:

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

  更改 mx6ull_alientek_nand 目录下的 Kconfig 文件。Kconfig 文件更改的内容如下:

if TARGET_MX6ULL_ALIENTEK_NAND

config SYS_BOARD
	default "mx6ull_alientek_nand"

config SYS_VENDOR
	default "freescale"

config SYS_SOC
    default "mx6"

config SYS_CONFIG_NAME
	default "mx6ull_alientek_nand"

endif

更改 mx6ull_alientek_nand 目录下的 MAINTAINERS 文件,MAINTAINERS 文件更改如下:

MX6ULLEVK BOARD
M:	Peng Fan <peng.fan@nxp.com>
S:	Maintained
F:	board/freescale/mx6ull_alientek_nand/
F:	include/configs/mx6ull_alientek_nand.h
F:	configs/mx6ull_alientek_nand

(4) 最后,修改 u-boot图形界面配置文件 。

uboot 是支持图形界面配置,后面再了解 Uboot的图形界面配置。更改 arch/arm/cpu/armv7/mx6/目录下的 Kconfig 文件 。在 207 行加入如下内容:
config TARGET_MX6ULL_ALIENTEK_NAND
	bool "Support mx6ull_alientek_nand"
	select MX6ULL
	select DM
	select DM_THERMAL

可以看出,宏定义 TARGET_XXX 应该与 配置文件内部的宏名字保持一致。

在最后一行的 endif 的前一行添加如下内容:
source "board/freescale/mx6ull_alientek_nand/Kconfig"

至此,向 NXP官方 uboot添加 正点原子ALPHA开发板的工作已经完成。

下一篇文章进行对更改后的 Uboot源码进行编译。并运行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IMX6ULL模块开发底板ALTIUM原理图库+PCB封装库+主要器件技术手册,主要器件手册: 2SK3018.PDF 74LV595.PDF 74LVC1G125SE.PDF 8位1.27MM拨码开关.PDF AP3216C.pdf AP6236.pdf CH340.pdf FE1.1.pdf FH12-40S-0.5SV.pdf FXC1040-100M.pdf HR911105A.pdf HS0038B.pdf KSZ8081RNBIA-TR.PDF LL4148.pdf MAX3232CSE.PDF MAX3485.pdf MP2144GJ.pdf MP2482DN.pdf MPU6050.pdf MS90C385B.PDF MT9700.pdf PESD3V3L1BA.PDF RB521S30.PDF SII9022ACNU.PDF SSM3J328R.pdf TJA1042T_3.pdf WM8960CGEFL.PDF 原理图库器件列表: Library Component Count : 140 Name Description ---------------------------------------------------------------------------------------------------- 12MHZ_1 12MHZ_1_1 2SK3018_0 TRANS MOSFET N-CH 30V .1A SOT-323 2X15P_2.0MM_DIP 2X4_1 32.768KHZ 6PIN-2_0.0-D-H 74LV595 IC REG S 8BIT TS 1.0-3.6V TSSOP16 74LVC1G125 AP3216C_0 AP6212 ATOM010130010052_HDMI_19PCON 1X19 HDMI SMT 0.5MM 249H AU -- IMX6ULL_SOM_S1_1 IND IND PWR 1UH@100KHZ 2.6A 30% SMT JTAG_5X2_0 KSZ8081RNB_32P IC XCVR 10/100M EPHY 3.3V QFN32 LED_0 LED GRN SGL 25MA 0603 LED_0_1 LED GRN SGL 25MA 0603 LED_1 LED GRN SGL 25MA 0603 LQH32C_0 LQH32C_0_1 MAX3232EEAE MAX3232EEAE_1 MIC_JACK MIC_JACK_1 MIC_POM AUDIO DEVICE MIC 0.5MA 2V 38-48+/-3dB 2.2KOHM 6MM TH MODULE_LCD_0 SUBASSEMBLY CON 1X40 FPC SMT RA + CON 1X6 FPC/FFC RA SKT + TFT DISPLAY 4.3INCH MOSFET_P TRAN PMOS PWR 12V 4.3A SOT23 MP2144GJ_TSOT23_8P IC SYNC STEP-DOWN SW 1.2MHZ 0.6V 2A 2.5-5.5V TSOT23-8 MP2482DN_2 MPU-6050_1 MS90C385_1 NPN TRAN NPN GEN 0.5A 45V AEC-Q101 SOT23 PIEZO_BUZZER_0 POWER_JACK_3 RJ45_HR961160C_0 CON 12 RJ45 SHLD RA SM 1.02MM SP 625H -- RT9169 SII9022A IC XMTR HDMI 165MHZ 1.8/3.3V QFN72 SPACER_0 FASTENER, STANDOFF 4.5MMX3.53XM3.0X0.5 ROUND THR .635"L BRASS SRV05-4 DIODE TVS ARRAY 12A 5V 300W SOT23_S6 SW_DIP-7_0 SW_PB_ESW_0 SW SPST MOM NO PB TACT 50mA 50V SMT SY6280AAC TJA10
IMX6ULL 核心板AD PADS CADENCE 3种封装原理图库+PCB封装库+主要器件技术手册, 器件手册: IMX6ULLIEC.pdf KLM8G1GETF-B041-14B.pdf MT41K256M16TW-107 IT.pdf MT9700.pdf RB521S30.PDF RT8096CHGJ5.PDF SSM3J328R.pdf 原理图库器件列表: Library Component Count : 45 Name Description ---------------------------------------------------------------------------------------------------- CAP_NP CAP CER 0.22UF 6.3V 20% X5R 0402 CAP_NP_1 CAP CER 22UF 6.3V 20% X5R 0603 CAP_NP_10 CAP CER 0.22UF 6.3V 20% X5R 0402 CAP_NP_11 CAP CER 0.22UF 6.3V 20% X5R 0402 CAP_NP_12 CAP CER 0.22UF 6.3V 20% X5R 0402 CAP_NP_13 CAP CER 0.22UF 6.3V 20% X5R 0402 CAP_NP_14 CAP CER 0.22UF 6.3V 20% X5R 0402 CAP_NP_2 CAP CER 22UF 6.3V 20% X5R 0603 CAP_NP_3 CAP CER 22UF 6.3V 20% X5R 0603 CAP_NP_4 CAP CER 0.22UF 6.3V 20% X5R 0402 CAP_NP_5 CAP CER 0.22UF 6.3V 20% X5R 0402 CAP_NP_6 CAP CER 0.22UF 6.3V 20% X5R 0402 CAP_NP_7 CAP CER 0.22UF 6.3V 20% X5R 0402 CAP_NP_8 CAP CER 22UF 6.3V 20% X5R 0603 CAP_NP_9 CAP CER 0.22UF 6.3V 20% X5R 0402 CRYSTAL XTAL 32.768KHZ 7PF 20PPM -- SMT CRYSTAL_JXS63 XTAL 24MHZ -- 30PPM 3.2X2.5MM SMD DIODE_SCHTKY_0 DIODE SCH RECT 200MA 30V AEC-Q101 SOD-523 IMX6ULL_CORE_140P INDUCTOR IND WW PWR 1.5uH@1MHZ 2A 20% 2520 MCIMX6Y2DVM05AA_PBGA_289PIC CPU ARM COREA7 528MHZ 16BIT 1.5V PBGA289 MOSFET_P TRAN PMOS PWR 12V 4.3A SOT23 MT29F32G08CBADB_48P IC MEM NAND FLASH ASYNC 32GB 2.7-3.6V TSOP48 MT41J256M16RE_FBGA96IC MEM DDR3 SDRAM 256MX16 1.071NS 1.35V FBGA96 MTFC4GMVEA_WFBGA_153PIC MEM NAND FLASH 8GB MMC 4.51 CTLR 2.7-3.6V FBGA153 RT8096CHGJ5 RT9166-18GVL SY6280AAC
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值