1. 程式人生 > >u-boot中fdt命令的使用

u-boot中fdt命令的使用

[u-boot: v2012.10]

[Author: Bo Shen <[email protected]>]

依linux community的要求,從linux-3.5後,新提交的code必須對device tree進行支援。下面介紹如何使u-boot支援device tree,以及fdt命令的使用。

1. u-boot對fdt(flattened device tree)的支援。

實現:只要加入

#define CONFIG_OF_LIBFDT               /* Device Tree support */ 重新編譯u-boot,就可以實現對device tree的支援。 2. u-boot下的fdt命令使用 2.1 首先檢視fdt的幫助資訊。 ------------------------------------------------ U-Boot> fdt
fdt - flattened device tree utility commands

Usage:
fdt addr <addr> [<length>] - Set the fdt location to <addr>
fdt move <fdt> <newaddr> <length> - Copy the fdt to <addr> and make it active
fdt resize - Resize fdt to size + padding to 4k addr
fdt print <path> [<prop>] - Recursive print starting at <path>
fdt list <path> [<prop>] - Print one level starting at <path>
fdt set <path> <prop> [<val>] - Set <property> [to <val>]
fdt mknode <path> <node> - Create a new node after <path>
fdt rm <path> [<prop>] - Delete the node or <property>
fdt header - Display header info
fdt bootcpu <id> - Set boot cpuid
fdt memory <addr> <size> - Add/Update memory node
fdt rsvmem print - Show current mem reserves
fdt rsvmem add <addr> <size> - Add a mem reserve
fdt rsvmem delete <index> - Delete a mem reserves
fdt chosen [<start> <end>] - Add/update the /chosen branch in the tree
<start>/<end> - initrd start/end addr
NOTE: Dereference aliases by omiting the leading '/', e.g. fdt print ethernet0.
U-Boot> ------------------------------------------------ 2.2 使用fdt命令

把device tree blob (dtb)檔案下載到記憶體裡

-----------------------------------------

U-Boot> tftpboot 0x71000000 bshen/test-ek.dtb

-----------------------------------------

設定fdt的地址

-----------------------------------------

U-Boot> fdt addr 0x71000000

-----------------------------------------

然後就可以使用其餘的命令引數了

-----------------------------------------

U-Boot> fdt header
magic: 0xd00dfeed
totalsize: 0x1887 (6279)
off_dt_struct: 0x38
off_dt_strings: 0x1648
off_mem_rsvmap: 0x28
version: 17
last_comp_version: 16
boot_cpuid_phys: 0x0
size_dt_strings: 0x23f
size_dt_struct: 0x1610
number mem_rsv: 0x0

-----------------------------------------

fdt print 不跟引數時,打印出整顆樹

fdt print加path引數,則打path內容,如下(其中/memory是path):

-----------------------------------------

U-Boot> fdt print /memory
memory {
device_type = "memory";
reg = <0x70000000 0x4000000>;
};

-----------------------------------------

相關推薦

u-bootfdt命令的使用

[u-boot: v2012.10] [Author: Bo Shen <[email protected]>] 依linux community的要求,從linux-3.5後,新提交的code必須對device tree進行支援。下面介紹如何使u-

u-bootmmc命令使用

[u-boot: v2013.01] [Author: Bo Shen <[email protected]>] mmc命令的幫助資訊如下: U-Boot> mmc      mmc - MMC sub system Usage: mmc

u-bootnand相關命令使用---- ubi, ubifsls, ubifsmount, ubifsumount

轉載地址:https://blog.csdn.net/voice_shen/article/details/8425763  [Version: 2013-01-rc2] [Author: Bo Shen <[email protected]>] 1. &

u-boot 增加自定義命令hjlcmd2------(新增檔案來定義)

1,在 "[email protected]:/home/hjl/Downloads/uboot/common#" 目錄中新增檔案 cmd_hjl.c ,加上標頭檔案     #include <common.h>    &nbs

u-boot 增加自定義命令hjlcmd1

在uboot/common資料夾下找到command.c檔案,進入編輯: 對照隨便一個命令,如: do_version (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) { extern char version_strin

U-BOOT的常用命令

我們以JZ2440  V3開發板,採用U-BOOT 1.1.6版本,熟悉常用命令與環境變數 1、help命令 (1)查詢所有的命令 OpenJTAG> help ? - alias for 'help' autoscr - run script from m

u-boot新增mtdparts支援以及Linux的分割槽設定

閱讀目錄(Content) 簡介 作者:彭東林 u-boot版本:u-boot-2015.04 Linux版本:Linux-3.14 硬體平臺:tq2440, 記憶體:64M   NandFlash: 256MB 下面我們分兩部分,u-boot和k

U-boot新增乙太網驅動

版權宣告:本文為博主原創文章,未經博主允許不得轉載。    https://blog.csdn.net/mao0514/article/details/17523803 當定義CONFIG_CMD_NET和CONFIG_CMD_PING,編譯之後執行ping命令,告警沒有

u-boot:rm:無法刪除 "asm":是一個目錄

轉自:http://blog.163.com/zhangyingxin_/blog/static/218307222201331291755998/ uboot移植編譯小問題 ———rm:無法刪除 "asm":是一個目錄 我之前所做的uboot移植工作都快要完成了,想要拷貝

u-boot到kernel命令列引數設定及傳遞

軟體配置env的情況(CONFIG_ENV_IS_NO_WHERE=y) 1, 在u-boot/include/configs/xxx_config.h配置檔案中我們可以找到CONFIG_BOOTARGS配置項,在這裡我們可以設定要傳遞的到核心的命令列引數 u-boot/i

U-BOOT實現讀取電池電量

platform: s3c2440 + u-boot 1.1.4 + linux 2.6.18       為了防止低電開機啟動到一半的時候系統down掉,所以有必要在 u-boot 中加入電池電量的偵測。 偵測電池電量只需讀 AN0 口上的 AD 值就可以了,當電量少於 5

U-boot新增Cubieboard(全志A10)乙太網驅動

當定義CONFIG_CMD_NET和CONFIG_CMD_PING,編譯之後執行ping命令,告警沒有找到乙太網。 因此,需要開啟U-boot的網路功能, u-boot-sunxi-sunxi中沒有找到明顯的網路驅動程式碼,或許有通用的驅動,但可以獲得資料的途徑有限,再說我

u-bootmkimage工具的具體使用

通常,u-boot為kernel提供一些kernel無法知道的資訊,比如ramdisk在RAM中的地址。Kernel也必須為U-boot提供必要的資訊,如通過mkimage這個工具(在u-boot程式碼的tools目錄中)可以給zImage新增一個header,也就是使得通常

u-bootmakefile的執行步驟

本文分析的uboot版本是2013.04.主要目的是通過分析uboot頂目錄下的makefile檔案,瞭解uboot的大致執行步驟和順序。 簡而言之就是先讀取makefile檔案;然後讀取include包含的檔案;重建已讀取makefile檔案的規則;展開變數和函式等。

U-BootMAC地址設定及往核心傳遞

一、核心引數的傳遞 U-Boot向Linux驅動傳遞引數的方式有兩種,一為在系統啟動的時候由bootloader傳入,還有一種是將驅動編譯成模組,將引數作為模組載入的引數傳入。 核心通過setup介面接受Bootloader傳入的引數。方式如下: st

U-boot通過ENV設定顯示裝置(如LCD)引數的方法與格式

對於一個移植比較完善的U-boot來說,顯示裝置一般也是可以使用的。在嵌入式中的LCD液晶屏一般由晶片的內建的LCD控制器或者VPSS(視訊處理子系統)來控制。在U-boot中已經實現了類似framebuffer的機制,只要在移植的時候完成對LCD控制等顯示裝置的初始化,並

在linux系統通過fw_printenv檢視和設定u-boot的環境變數

uboot下可以通過命令訪問和修改環境變數,但是如果需要在Linux系統下訪問這些資料該怎麼辦呢?其實uboot早就幫我們想好了。      1、編譯fw_printenv工具     在你使用的uboot程式碼中用以下編譯指令:     make env     這樣就可

u-boot的啟動、編譯過程和命令添加

U-BOOTu-boot的啟動、編譯過程和命令添加MCU:s5pv210開發板:unsp210u-boot:1.3.4一、簡介U-Boot是一種支持多架構,多操作系統的Bootloader(啟動引導程序)u-boot目前最新版本是:http://ftp.denx.de/pub/u-boot/二、啟動過程嵌入式

u-boot-2014.10移植(6)添加mtdparts命令和分區

重新編譯 ids files fine 別人 makefile 參考 tdi mon 添加mtdparts命令,改命令可以查看當前分區,在啟動參數裏面可以以分區名代表地址和長度 grep "cmd_mtdpart" * -nR 搜索可知,mtdpart在cmd_mtdpa

嵌入式Linux開發——(十三)u-boot常用命令

1、幫助命令help 執行help命令可以看到U-Boot中所有命令的作用,如“help bootm”可以用“?”來替代,比如“?Bootm”。 2、下載命令 Boot支援串列埠下載、網路下載,相關命令有:loadb、loads、loadx、loady和tftpboot、nfs。 &