2021年01月14日 よく訓練された犬は.. [長年日記]
_ よく訓練された犬は..
raspberry pi 4 load address 他
https://www.raspberrypi.org/documentation/configuration/config-txt/boot.md
にまとめて書いてある.
32bit/64bit の切り替えは,
arm_64bit
If set to non-zero, forces the kernel loading system to assume a 64-bit kernel, starts the processors up in 64-bit mode, and sets kernel8.img to be the kernel image loaded, unless there is an explicit kernel option defined in which case that is used instead. Defaults to 0 on all platforms. NOTE: 64-bit kernels must be uncompressed image files.
で load の address は
kernel_address
kernel_address is the memory address to which the kernel image should be loaded. 32-bit kernels are loaded to address 0x8000 by default, and 64-bit kernels to address 0x80000. If kernel_old is set, kernels are loaded to the address 0x0.
でよいっぽい. memory map と peripherals の address は
https://datasheets.raspberrypi.org/bcm2711/bcm2711-peripherals.pdf
の memory map から,
main peripherals 0x4_7C00_0000 - 0x4_8000_0000
arm local peripherals 0x4_C000_0000 - 0x5_0000_0000
とあるのでこれで起動して Lチアあるいは周辺デバイスへのアクセスまでは
いけそうな雰囲気.
今一つ binary のフォーマットとかがよくわからんところはあるのだが.
kernel8.img が DOS で, kernel7x.img が zImage でとあるが,
変な parse していないで 単にloadして PC 先頭にもってきてくれる
というのならいけるのではないか.