ARM架构下linux设备树加载的方法

引入设备树后bootloader加载DTB方法:

1. 标准方法

将linux kernel放到内存地址为<kernel img addr>的内存中。

将DTB放到地址为<dtb addr>的内存中。

在u-boot下通过下面的命令启动内核: bootm <kernel img addr> – <dtb addr>

2.兼容方法

配置内核CONFIG_ARM_APPENDED_DTB选项,将DTB放到紧跟内核后面的地址。

具体方法如下:

1)将DTB放到内核后面

cat arch/arm/boot/zImage arch/arm/boot/dts/myboard.dtb > my-zImage

mkimage ... -d my-zImage my-uImage

2)将打包好的文件my-uImage放到内存:<kernel img addr>

3)在u-boot下使用传统的命令启动内核:bootm <kernel img addr>

时间: 2024-08-28 16:33:16

ARM架构下linux设备树加载的方法的相关文章

Wince下演示系统自启动/加载dll方法

前面我们已经介绍过了Wince开机画面,自启动方法了. 今天主要是介绍我们演示系统是如何实现的自运行和加载Dll的方法. 之前我们碰到的主要问题是这样的: 1.在catalog items下加载 Sotorage Devices--MSFLash- Drivers--Flash MDD. 这样,Wince下就可以看到NandFlash的盘符,并且修改注册表/校准鼠标后都可以保存下来. 但是,此时是不能用飞凌提供的程序自启动的,且dll也无法自动加载. 2.在catalog items下不加载 S

Linux设备树语法详解

Linux内核从3.x开始引入设备树的概念,用于实现驱动代码与设备信息相分离.在设备树出现以前,所有关于设备的具体信息都要写在驱动里,一旦外围设备变化,驱动代码就要重写.引入了设备树之后,驱动代码只负责处理驱动的逻辑,而关于设备的具体信息存放到设备树文件中,这样,如果只是硬件接口信息的变化而没有驱动逻辑的变化,驱动开发者只需要修改设备树文件信息,不需要改写驱动代码.比如在ARM Linux内,一个.dts(device tree source)文件对应一个ARM的machine,一般放置在内核的

Linux设备树语法详解【转】

本文转载自:http://www.cnblogs.com/xiaojiang1025/p/6131381.html 概念 Linux内核从3.x开始引入设备树的概念,用于实现驱动代码与设备信息相分离.在设备树出现以前,所有关于设备的具体信息都要写在驱动里,一旦外围设备变化,驱动代码就要重写.引入了设备树之后,驱动代码只负责处理驱动的逻辑,而关于设备的具体信息存放到设备树文件中,这样,如果只是硬件接口信息的变化而没有驱动逻辑的变化,驱动开发者只需要修改设备树文件信息,不需要改写驱动代码.比如在AR

zynq基础--&gt;LINUX 设备树

1.概念 linux设备树是用于描述硬件及部分启动指令的文件,由bootloader传递给内核, 内核分析此文件而对硬件使用不同的参数. 比如两块开发板仅仅是内存容量不一样,那么就只需要修改设备树中对内存容量的描述即可, 而不需要重新编译内核. 与设备树相关的文件有如下几种: DTS(device tree source) .dts文件,就是ASCII字符串形式的文本文件,直接由开发人员修改. 对于ARM架构而言,这些文件位于:arch/arm/boot/dts 目录下. DTSI(device

linux开机自动加载分区/etc/fstab配置文件

解释一下/etc/fstab,开机自动挂载 [[email protected] home]# cat /etc/fstab LABEL=/                 /                       ext3    defaults        1 1 LABEL=/boot             /boot                   ext3    defaults        1 2 tmpfs                   /dev/shm  

我眼中的Linux设备树(四 中断)

四 中断 中断一般包括中断产生设备和中断处理设备.中断控制器负责处理中断,每一个中断都有对应的中断号及触发条件.中断产生设备可能有多个中断源,有时多个中断源对应中断控制器中的一个中断,这种情况中断产生设备的中断源称之为中断控制器中对应中断的子中断.一般情况中断产生设备数量要多于中断控制器,多个中断产生设备的中断都由一个中断控制器处理,这种多对一的关系也很像一个树形结构,所以在设备树中,中断也被描述成树,叫中断树.以下表述的时候为了明确是在说中断树,在父节点和子节点前边我们都加上“中断”二字,是为

伟景行 citymaker 从入门到精通(2)——工程图层树加载

工程树是指explorer左边这棵树 本例子实现了图层树加载,点击节点切换可视状态 树控件使用easyui的树 html部分 onCheck:treeProjectTreeOnCheck是指树节点的onCheck是js函数treeProjectTreeOnCheck 1 <div data-options="region:'center',fit:true"> 2 <object id="__g" type="application/x-

有关Linux ipv6模块加载失败的问题

有关Linux ipv6模块加载失败的问题 同事一个SUSE11sp3环境配置ipv6地址失败,提示不支持IPv6,请求帮助,第一反应是应该ipv6相关内核模块没有加载.     主要检查内容:   ipv6地址是否存在    ifconfig |grep inet6     没有默认inet6地址       ipv6模块是否存在    # modinfo -n ipv6    /lib/modules/3.0.101-0.47.90-default/kernel/net/ipv6/ipv6.

Linux设备树(四 中断)

四 中断 中断一般包括中断产生设备和中断处理设备.中断控制器负责处理中断,每一个中断都有对应的中断号及触发条件.中断产生设备可能有多个中断源,有时多个中断源对应中断控制器中的一个中断,这种情况中断产生设备的中断源称之为中断控制器中对应中断的子中断.一般情况中断产生设备数量要多于中断控制器,多个中断产生设备的中断都由一个中断控制器处理,这种多对一的关系也很像一个树形结构,所以在设备树中,中断也被描述成树,叫中断树.以下表述的时候为了明确是在说中断树,在父节点和子节点前边我们都加上"中断"