完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
前面编译了官方开发板定制的uboot,并下载修改开发中,能够启动。所以到我们这个官方开发板的配置,添加自己的开发板,然后开发板的驱动。
一、添加配置文件中官方的默认配置 编译我们的开发板的配置是自己的mx6ull_14x14_evk_emmc_defconfig ,所以添加的配置就是复制这个文件,并命名,在configs文件中使用命令: cp mx6ull_14x14_evk_emmc_defconfig mx6ull_alpha_emmc_defconfig 修改结果如下: 使用gedit mx6ull_alpha_emmc_defconfig打开文件,修改文件中的CONFIG_SYS_EXTRA_OPTIONS、CONFIG_DEFAULT_DEVICE_TREE这两个宏,修改为自己开发板的名字,修改CONFIG_TARGET_MX6ULL_14X14_EVK为CONFIG_TARGET_MX6ULL_ALPHA_EMMC,其他的不用修改。修改后如下: CONFIG_ARM=y CONFIG_ARCH_MX6=y CONFIG_TARGET_MX6ULL_ALPHA_EMMC=y CONFIG_ENV_SIZE=0x2000 CONFIG_ENV_OFFSET=0xE0000 CONFIG_DM_GPIO=y CONFIG_NR_DRAM_BANKS=1 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6ull_alpha_emmc/imximage.cfg" CONFIG_BOOTDELAY=3 # CONFIG_CONSOLE_MUX is not set CONFIG_SYS_CONSOLE_IS_IN_ENV=y CONFIG_SUPPORT_RAW_INITRD=y CONFIG_BOUNCE_BUFFER=y CONFIG_BOARD_EARLY_INIT_F=y CONFIG_HUSH_PARSER=y CONFIG_CMD_BOOTZ=y # CONFIG_CMD_IMLS is not set CONFIG_CMD_MEMTEST=y CONFIG_CMD_GPIO=y CONFIG_CMD_I2C=y CONFIG_CMD_MMC=y CONFIG_CMD_SF=y CONFIG_CMD_USB=y CONFIG_CMD_DHCP=y CONFIG_CMD_PING=y CONFIG_CMD_BMP=y CONFIG_CMD_CACHE=y CONFIG_CMD_NET=y CONFIG_CMD_EXT2=y CONFIG_CMD_EXT4=y CONFIG_CMD_EXT4_WRITE=y CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_OF_CONTROL=y CONFIG_DEFAULT_DEVICE_TREE="imx6ull-alpha-emmc" CONFIG_ENV_IS_IN_MMC=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y CONFIG_DM_74X164=y CONFIG_DM_I2C=y CONFIG_DM_MMC=y CONFIG_FSL_USDHC=y CONFIG_MTD=y CONFIG_DM_SPI_FLASH=y CONFIG_SF_DEFAULT_MODE=0 CONFIG_SF_DEFAULT_SPEED=40000000 CONFIG_SPI_FLASH_STMICRO=y CONFIG_PHYLIB=y CONFIG_PHY_MICREL=y CONFIG_PHY_MICREL_KSZ8XXX=y CONFIG_DM_ETH=y CONFIG_DM_ETH_PHY=y CONFIG_FEC_MXC=y CONFIG_MII=y CONFIG_PINCTRL=y CONFIG_PINCTRL_IMX6=y CONFIG_DM_REGULATOR=y CONFIG_DM_REGULATOR_FIXED=y CONFIG_DM_REGULATOR_GPIO=y CONFIG_SPI=y CONFIG_DM_SPI=y CONFIG_SOFT_SPI=y CONFIG_FSL_QSPI=y CONFIG_USB=y CONFIG_DM_USB=y CONFIG_USB_STORAGE=y CONFIG_USB_HOST_ETHER=y CONFIG_USB_ETHER_ASIX=y CONFIG_DM_VIDEO=y CONFIG_SYS_WHITE_ON_BLACK=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DOWNLOAD=y CONFIG_USB_GADGET_MANUFACTURER="FSL" CONFIG_USB_GADGET_VENDOR_NUM=0x0525 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5 CONFIG_CI_UDC=y CONFIG_CMD_FASTBOOT=y CONFIG_USB_FUNCTION_FASTBOOT=y CONFIG_FASTBOOT_UUU_SUPPORT=y CONFIG_FASTBOOT=y CONFIG_FASTBOOT_BUF_ADDR=0x83800000 CONFIG_FASTBOOT_BUF_SIZE=0x40000000 CONFIG_FASTBOOT_FLASH=y CONFIG_EFI_PARTITION=y CONFIG_SYS_EXTRA_OPTIONS从新指定了,开发板的信息的路径,现在不过是指定工程中的文件并没有我们的开发板的,所以,添加,进入board/freescale/这个文件夹,复制mx6ullevk(mx6ull_14x14_evk_defconfig中的这个文件夹),并修改名字为mx6ull_alpha_emmc。CONFIG_SYS_EXTRA_OPTIONS从新指定了,开发板的信息的路径,但是现在uboot的工程中并没有我们的开发板的文件,所以需要添加,进入board/freescale/这个文件夹,mx6ullevk(mx6ull_14x14_evk_defconfig中指定的文件夹这个文件夹),并修改名字为mx6ull_alpha_emmc。 进入mx6ull_alpha_emmc文件夹,内容如下: 首先mx6ullevk.c的名字为mx6ull_alpha_emmc.c 修改Makefile如下: obj-y := mx6ull_alpha_emmc.o 修改imximage.cfg的第34行如下 PLUGIN board/freescale/mx6ull_alpha_emmc/plugin.bin 0x00907000 修改imximage_lpddr2.cfg的第35行如下 PLUGIN board/freescale/mx6ull_alpha_emmc/plugin.bin 0x00907000 修改Kconfig如下: if TARGET_MX6ULL_ALPHA_EMMC config SYS_BOARD default "mx6ull_alpha_emmc" config SYS_VENDOR default "freescale" config SYS_CONFIG_NAME default "mx6ull_alpha_emmc" config SYS_TEXT_BASE default 0x87800000 endif 修改MAINTAINERS如下 1 MX6ULL_ALPHA_EMMC BOARD 2 M: Peng Fan 3 S: Maintained 4 F: board/freescale/mx6ull_alpha_emmc/ 5 F: include/configs/mx6ull_alpha_emmc.h 6 F: configs/mx6ull_14x14_evk_defconfig 7 F: configs/mx6ull_14x14_evk_plugin_defconfig 8 F: configs/mx6ulz_14x14_evk_defconfig mx6ull_alpha_emmc_defconfig文件中CONFIG_DEFAULT_DEVICE_TREE配置是设备树。所以我们还需要去arch/arm/dts中,复制imx6ull14x14-evk-emmc.dts,修改名字为imx6ull-alpha-emmc.dts(名字是CONFIG_DEFAULT_DEVICE_TREE) cp imx6ull-14x14-evk-emmc.dts imx6ull-alpha-emmc.dts 并修改arch/arm/dts/Makefile文件,添加编译imx6ull-alpha_emmc.dtb,修改后如下 711 dtb-$(CONFIG_MX6ULL) += 712 imx6ull-14x14-ddr3-val.dtb 713 imx6ull-14x14-ddr3-val-epdc.dtb 714 imx6ull-14x14-ddr3-val-emmc.dtb 715 imx6ull-14x14-ddr3-val-gpmi-weim.dtb 716 imx6ull-14x14-ddr3-val-tsc.dtb 717 imx6ull-14x14-evk.dtb 718 imx6ull-14x14-evk-emmc.dtb 719 imx6ull-alpha-emmc.dtb 720 imx6ull-14x14-evk-gpmi-weim.dtb 721 imx6ull-9x9-evk.dtb 722 imx6ull-colibri.dtb 723 imx6ull-phytec-segin-ff-rdk-emmc.dtb 724 imx6ull-dart-6ul.dtb 725 imx6ull-somlabs-visionsom.dtb 726 imx6ulz-14x14-evk.dtb 727 imx6ulz-14x14-evk-emmc.dtb 728 imx6ulz-14x14-evk-gpmi-weim.dtb 729 从board/freescale/mx6ull_alpha_emmc/MAINTAINERS文件中的第5行可知,我们还需要include/configs中的有文件。所以进入include/configs中,复制mx6ullevk.h,修改名字为mx6ull_alpha_emmc.h cp mx6ullevk.h mx6ull_alpha_emmc.h 看起来准备工作差不多了,现在要使CPU支持我们的开发板就把我们的板子添加进去了。 进入arch/arm/mach-imx/mx6文件夹,修改Kconfig,添加一下内容 config TARGET_MX6ULL_ALPHA_EMMC bool "Support mx6ull_alpha_emmc" select BOARD_LATE_INIT select DM select DM_THERMAL select MX6ULL imply CMD_DM source "board/freescale/mx6ull_alpha_emmc/Kconfig" 接下来就编译一下试一试: make distclean make mx6ull_alpha_emmc_defconfig make 编译顺利通过,复制到TF卡,启动开发板试一试。 和使用官方配置的结果一样是修改的,当然,,应该为我们只是添加自己的板子,是从复制,没有做任何事情的,下一个是官方安装的。我们自己的板子了。 |
|
|
|
只有小组成员才能发言,加入小组>>
3182 浏览 9 评论
2870 浏览 16 评论
3375 浏览 1 评论
8800 浏览 16 评论
3975 浏览 18 评论
9607浏览 3评论
973浏览 3评论
497浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
497浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2218浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-18 06:13 , Processed in 0.750419 second(s), Total 49, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号