blx instruction doesn't work
Closed this issue · 4 comments
Can't this be fixed easily by copying the body of BXWritePC(uint32_t addr)
into BLXWritePC(uint32_t addr)
, or am I missing something? As far as I can tell, these functions should do the same thing.
I tried that and it seemed to work for me.
Huh... I wasn't able to find a definition for BLXWritePC()
in the ARM ARM, I was just able to find it called by the blx
documentation.
what complier for a cortex-m would emit a blx instruction?
My standard cortex-m0+ reset handler looks like this
reset_handler:
ldr r0, = _crt0
blx _crt0
Also, blx would be good for executing code from RAM... flash is all the way down at 0x0000
and RAM is up at 0x2000_0000
on most Cortex-m's that I've seen. I don't know how you could get from 0x0000_0000
to 0x2000_0000
without a blx
BTW, great project 👍
Good point on BLX usage; the SoC I built this for had a unified memory, so
I never needed a long jump :D
"Section G.2 Pseudocode functions and procedures" at the very end is really
useful for that, it's just an alphabetized list of all the functions with
links.
Glad it's useful :), lemme know if there are other things that aren't
working.. it's likely bit-rotted a bit and there were always parts that
weren't complete.
On Wed, Jul 13, 2016 at 2:18 PM John Mamish notifications@github.com
wrote:
BTW, great project 👍
—
You are receiving this because you modified the open/close state.Reply to this email directly, view it on GitHub
#7 (comment), or mute
the thread
https://github.com/notifications/unsubscribe/AAUt3rLcnWMid7_fHmjbYKQuUhs7tpivks5qVSwIgaJpZM4JK3_j
.