使用 bdinfo 了解 SPL 和 U-Boot 内存映射?

使用 bdinfo 了解 SPL 和 U-Boot 内存映射?

我们正在使用基于 beaglebone black 的定制板,我想将一些测试结果从 SPL 写入 RAM 位置,并读取该日志并将其发送tftpput到主机 PC。

到目前为止,我可以tftpput从 RAM 到主机 PC 进行操作。但从更安全的角度来看,我想找到 SPL 和 U-Boot 都不使用的 RAM 位置。

为了找出答案,我需要有关 SPL 和 U-Boot 内存映射的建议。 Board的信息如下:

#bdinfo
arch_number = 0x00000E05
boot_params = 0x80000100
DRAM bank   = 0x00000000
-> start    = 0x80000000  ---> RAM Start address
-> size     = 0x10000000  ---> 256 MB
eth0name    = cpsw
ethaddr     = 1c:ba:8c:9d:5f:f0
current eth = cpsw
ip_addr     = 192.168.1.106
baudrate    = 115200 bps
TLB addr    = 0x8FFF0000  ---> AFA i understand its for Linux right ?
relocaddr   = 0x8FFB3000  ---> Does u-boot use this ?
reloc off   = 0x0F7B3000  ---> Does u-boot use this ?
irq_sp      = 0x8FE92F38  ---> Does u-boot use this ?
sp start    = 0x8FE92F28  ---> Does u-boot use this ?

System.map文件显示最大地址如下:

8083c7ac B __bss_end
8083c7ac B __bss_limit

u-boot.map文件显示最大地址如下:

 .__bss_end     0x8083c7ac        0x0 arch/arm/lib/libarm.o
                0x8083c7ac                __bss_end

u-boot-spl.map文件显示最大地址如下:

0x80a0299c                . = ALIGN (0x4)
0x80a0299c                __bss_end = .

有人可以解释bdinfo一下吗?我想了解bdinfo“TLB addr”、“relocaddr”、“reloc off”、“irq_sp”和“sp start”中的以下字段。

那么我应该考虑使用 0x81000000 作为安全地址并开始使用它进行日志记录吗?

答案1

我一直在寻找这个,但也没有找到太多相关信息。有一个命令help bdinfo可能对您有帮助,但仅此而已。我可能倾向于找到其来源bdinfo并查看它,看看它是否能进一步阐明输出中的内容。

相关内容