linux内核设备树及编译,zynq-7000 zc706 uboot和内核及设备树编译

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=armCROSS_COMPILE=arm-xilinx-linux-gnueabi-menuconfig

编译内核时使用

make  ARCH=arm  CROSS_COMPILE=arm-xilinx-linux-gnueabi-/arch/arm/configs/查看板子有哪些配置内核时时,使用

make  ARCH=armCROSS_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-

那么命令就省了:

makexilinx_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是目标文件路径

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值