I have a very simple CortexM3 based virtual platform example as below
The amba_pv_m2 is connected to a memory in the top. The BusDecoder master port address range is 0x0-0x3FFFFFFF
I have the following C program
#include <stdio.h>
int main(int argc, char *argv[]){ printf("Hello!!!\n"); return 0;}
and the following make commands
armcc --cpu=Cortex-M3 -g -O2 -c -o hello.o hello.carmlink --cpu=Cortex-M3 --ro-base 0x00000000 -o hello.axf hello.o
With that when I load the axf into the core and execute, I see the Hello is printed.
Bow I want to load the SW at 0x40000000. For that I did the following chnages
- BusDecoder master port address range 0x40000000-0x7FFFFFFF and make command as
armcc --cpu=Cortex-M3 -g -O2 -c -o hello.o hello.carmlink --cpu=Cortex-M3 --ro-base 0x40000000 -o hello.axf hello.o
with that the when I run the platform, it stucks somewhere and I am not getting the Hello output.
It seems I am missing some thing here.
Can you guys help me on this ?
Thanks
Khushi
Duplicated thread - See answer in the other thread https://community.arm.com/processors/f/discussions/11288/cortexm3