Question ARM sim target and Cortex M
Luis Machado
luis.machado@linaro.org
Mon Oct 26 13:55:15 GMT 2020
Hi Fredrik,
On 10/24/20 6:02 AM, Fredrik Hederstierna via Gdb wrote:
> Hi,
>
> I have a question about using ARM target simulator and bare metal Cortex M elf.
>
> I tried to start my arm-none-eabi with my program:
>
> $ arm-none-eabi-gdb myprog.elf
> ...
> (gdb) target sim
> Connected to the simulator.
> (gdb) load
> Loading section .text, size 0x549f0 lma 0x2800
> Loading section .data, size 0x934 lma 0x571f0
> Loading section .ARM.exidx, size 0x8 lma 0x57b24
> Start address 0x28ff
> Transfer rate: 2791776 bits in <1 sec.
> (gdb) run
> Starting program: /home/fredrik/build/myprog.elf
> Unknown machine type '22'; please update sim_create_inferior.
> [Inferior 1 (process 42000) exited normally]
> (gdb)
>
> Looking in <sim/arm/wrapper.c> I see missing handling alot of newer targets > arm_5?
> Looking in <bfd/bfd-in2.h>:
>
> bfd/bfd-in2.h:#define bfd_mach_arm_5TEJ 14
> bfd/bfd-in2.h:#define bfd_mach_arm_6 15
> bfd/bfd-in2.h:#define bfd_mach_arm_6KZ 16
> bfd/bfd-in2.h:#define bfd_mach_arm_6T2 17
> bfd/bfd-in2.h:#define bfd_mach_arm_6K 18
> bfd/bfd-in2.h:#define bfd_mach_arm_7 19
> bfd/bfd-in2.h:#define bfd_mach_arm_6M 20
> bfd/bfd-in2.h:#define bfd_mach_arm_6SM 21
> bfd/bfd-in2.h:#define bfd_mach_arm_7EM 22
> bfd/bfd-in2.h:#define bfd_mach_arm_8 23
> bfd/bfd-in2.h:#define bfd_mach_arm_8R 24
> bfd/bfd-in2.h:#define bfd_mach_arm_8M_BASE 25
> bfd/bfd-in2.h:#define bfd_mach_arm_8M_MAIN 26
> bfd/bfd-in2.h:#define bfd_mach_arm_8_1M_MAIN 27
>
> My target is Cortex-M4 so its ID '22' meaning <bfd_mach_arm_7EM>,
> cannot I run Cortex-M4 in target simulator, or what do I do wrong here?
> Are there more targets that could be added in eg <sim/arm/wrapper.c>, or am I looking in the wrong place?
>
> Thanks! BR Fredrik
>
Overall, the ARM/AArch64 sim targets should not be considered up-to-date
nor complete. In fact, I think they are fairly outdated and shouldn't be
considered for any serious simulator-based work/testing. Only casual
trivial testing.
I'd recommend QEMU instead, which is much better supported in terms of
features.
Of course, folks are welcome to update the sim targets.
More information about the Gdb
mailing list