smdk6410.h文件中
/* Boot configuration (define only one of next) */
//#define CONFIG_BOOT_NOR
#define CONFIG_BOOT_NAND //配置成从nand启动uboot
//#define CONFIG_BOOT_MOVINAND //配置成从SD卡启动uboot
//#define CONFIG_BOOT_ONENAND
搭环境
uboot:
主makefile修改如下
ifeq ($(HOSTARCH),$(ARCH))
CROSS_COMPILE ?=
endif
CROSS_COMPILE = arm-xilinx-linux-gnueabi-
make zynq_zc706_config
arch/arm/configs/查看板子有哪些include/configs
make zynq_zc70x_config
make
kernel:
配置内核时时,使用
make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- menuconfig
编译内核时使用
make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi-
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
arch/arm/configs/查看板子有哪些
配置内核时时,使用
make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- xilinx_zynq_defconfig
编译内核时使用
make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- UIMAGE_LOADADDR=0x8000 uImage -j2
UIMAGE_LOADADDR=0x8000 不一定要。可能因该不要。这个LOADADDR 可能采用默认
或者在主makefile里配置如下
#ARCH ?= $(SUBARCH)
ARCH ?= arm
#CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)
CROSS_COMPILE = arm-xilinx-linux-gnueabi-
那么命令就省了:
make xilinx_zynq_defconfig
make UIMAGE_LOADADDR=0x8000 uImage -j4
make UIMAGE_LOADADDR=0x2080000 uImage -j4
//////////////////////////////////////////////////////
zedboard配置
tar -xvzf linux-digilent-3.3.0-digilent-12.07-zed-beta.tar.gz
.配置内核源码
在arch/arm/configs/目录下有这个配置文件 digilent_zed_defconfig
make ARCH=arm digilent_zed_defconfig
配置uboot
make distclean
make zynq_zed_config
make
////////////////////////////////////////////////////////////////////////////////////////////////
九、编译设备树dts为dtb
linux内核源码目录中已经包含了设备树编译器Device Tree Compiler(dtc),
在目录arch/arm/boot/dts/目录下。
dtc在scripts/dtc/dtc
#dtc -I dts -O dtb -o devicetree.dtb xilinx.dts
上面Dtc编译器有几个选项和参数:
-I是输入文件格式,在本文中是dts
-O是目标文件格式,在本文中是dtb
-o是目标文件路径
阅读(9307) | 评论(0) | 转发(0) |