How to you setup executable memory in DS5 simulator?

In RealView 4 I could do the following:

create test.s <- my asm file with an entry point, with the code loaded at 0x1000000

import (upload) a binary at address 0x00000000 with the length of 32k

then i could branch to a location with in that 32k range, let's say to location 0x1000.

the simulator would run just fine.  i could step instructions:

ldr          r0, _branch_address

bx          r0  ;this address would be 0x1000

Now in DS5, I created an asm project, setup the linker to put the code at 0x1000000 and everything runs fine.

BUT: if i load a binary image into 0x00000000 and try to branch into that area, it generates an exception (sort of... it really just locks up and i have to pause the simulator).

I did some experimentation and found that the memory below my application (anything < 0x1000000) is not executable?  I can't jump and execute anything in that area.

I'm assuming that the linker is setting the executable range for the simulator based on the linker settings?

I'm using DS5 5.21.1 Build: 5211009



Parents Reply Children
No Data