incubator-nuttx/boards/arm/mps/mps3-an547
anjiahao 15fa55f234 mps3-an547:let ap build with pic,and use bootloader boot it
Implement PIC loading in armv8-m qemu,
for example: load address-independent AP ELF in the bootloader,
and the text segment in AP ELF is XIP,
no need to apply for memory and modify it.

Two config:

bootloader abbreviation bl:
  use romfs to load ap elf, use the boot command to parse and jump to ap

application abbreviation ap:
  run os test

We need to compile ap first, then compile bl.

compile step:
  ./tools/configure.sh mps3-an547:ap
  make -j20
  mkdir -p pic
  cp boot pic/.
  genromfs -a 128 -f ../romfs.img -d pic
  make distclean -j20
  ./tools/configure.sh mps3-an547:bl
  make -j20

run qemu:
  qemu-system-arm -M mps3-an547 -m 2G -nographic -kernel nuttx.bin \
    -gdb tcp::1127 -device loader,file=../romfs.img,addr=0x60000000

  nsh> boot /etc/boot
  ap> ostest

Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2024-10-16 18:40:06 +08:00
..
configs mps3-an547:let ap build with pic,and use bootloader boot it 2024-10-16 18:40:06 +08:00
include
scripts mps3-an547:let ap build with pic,and use bootloader boot it 2024-10-16 18:40:06 +08:00
src mps3-an547:let ap build with pic,and use bootloader boot it 2024-10-16 18:40:06 +08:00
CMakeLists.txt mps/cmake: add cmake build 2024-10-12 15:35:16 +08:00
Kconfig mps:support bootloader and ap defconfig build 2024-10-16 18:40:06 +08:00