sdk:ti-processor-sdk-linux-am335x-evm-04.03.00.05-Linux-x86-Install.bin。 存储启动设备:spi flash
进入u-boot命令行后,下一步是加载dtb和zImage。从u-boot的环境变量spiboot中,知道如何加载和启动zImage。
但是关于dtb,我有两个疑问:
(1)dtb下载到spi flash的什么位置?
(2)u-boot代码如何读取到dtb,并加载到内存的?
yongqing wang:
里面设置了dtb的保存位置,启动后会自动加载运行
Lee Jiejia:
回复 yongqing wang:
你好,里面是指u-boot代码吗?
yongqing wang:
回复 Lee Jiejia:
是的
yongqing wang:
回复 yongqing wang:
你查看一下uboot代码里面的/include/configs/里面的配置文件
Lee Jiejia:
回复 yongqing wang:
你好,我在u-boot代码中的am335x_evm.h中,找到这个宏定义: #define MTDPARTS_DEFAULT "mtdparts=m25p80-flash.0:128k(SPL)," \ "512k(u-boot),128k(u-boot-env1)," \ "128k(u-boot-env2),3464k(kernel)," \ "-(rootfs)" 想问一下,上面只看到u-boot-env1和u-boot-env2,但是没有看到dtb的保存位置。请问是保存到这两个u-boot-env的其中一个吗?还是说从spi启动是不需要dtb的?
Lee Jiejia:
SDK版本:ti-processor-sdk-linux-am335x-evm-04.03.00.05-Linux-x86-Install.bin 启动方式:SPI FLASH
目前可以进入到u-boot命令行。接下来想从spi flash加载zImage和dtb。但是我看了http://processors.wiki.ti.com/index.php/Linux_Core_U-Boot_User%27s_Guide#Using_SPI , 里面有spl, u-boot.img和zImage的存储,但是没有dtb的存储。
另外,我在u-boot代码的am335x_evm.h中,找到如下宏定义,也是没有dtb的存储描述。
#define MTDPARTS_DEFAULT "mtdparts=m25p80-flash.0:128k(SPL)," \ "512k(u-boot),128k(u-boot-env1)," \ "128k(u-boot-env2),3464k(kernel)," \ "-(rootfs)"
在u-boot命令行下,执行运行run spiboot,打印信息如下:
=> run spiboot Booting from spi …SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiBdevice 0 offset 0xe0000, size 0x362000SF: 3547136 bytes @ 0xe0000 Read: OK
Starting kernel … //一直在这里停住
新版本的SDK,从spi flash启动kernel,u-boot是不需要加载dtb的吗?如果需要,能不能告知一下,在哪里可以找到相关资料。
yongqing wang:
回复 Lee Jiejia:
要加载的,有个文件里面有具体的地址位置
Lee Jiejia:
回复 yongqing wang:
能说下是哪个文件嘛?我一直没找到。。
user1161658:
回复 yongqing wang:
能否详细列出哪些文件需要我们修改来配置自己板的Uboot?
TI中文支持网