Estamos usando a placa personalizada baseada em preto beaglebone, quero gravar alguns resultados de teste no local da RAM a partir do SPL e ler esse log e enviá-lo via tftpput
para o PC host.
Até agora, consegui fazer tftpput
da RAM para o PC host. Mas no lado mais seguro eu quero encontrar a localização da RAM que nem SPL nem U-Boot usa.
Para descobrir isso, preciso de sugestões sobre o mapa de memória do SPL e do U-Boot.
A informação da placa é a seguinte:
#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
file mostra o endereço max da seguinte forma:
8083c7ac B __bss_end
8083c7ac B __bss_limit
O arquivo
u-boot.map
mostra o endereço máximo da seguinte forma:
.__bss_end 0x8083c7ac 0x0 arch/arm/lib/libarm.o
0x8083c7ac __bss_end
O arquivo
u-boot-spl.map
mostra o endereço máximo da seguinte forma:
0x80a0299c . = ALIGN (0x4)
0x80a0299c __bss_end = .
Alguém pode explicar bdinfo
por favor? Quero entender os seguintes campos em bdinfo
, "TLB addr", "relocaddr", "reloc off", "irq_sp" & "sp start".
Então, devo considerar o uso de 0x81000000 como endereço seguro e começar a usá-lo para meu registro em log?