This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Calling an Assembly Functon From C (RVMDK)

Hello,

I am struggling to do something that should be very simple: call an assembly function from a C function. Can anyone give me some pointers or an example of how to do this?

I am using uVision 3 with Realview MDK C compiler.

All of the documentation that I am finding points me to use inline assembly commands. However, this won't work, as I need the assembly code to modify the stack pointer.

Here is what I would like the code to:

void ChangeRegion (void)
{
     asm_adjust_sp(0x78000);  //call assembly to change the stack pointer
}

//asm_adjust_spi(Ulong ulAddress)
//1. change stack pointer to 0x4000F000
//2. branch to a the address contained by ulAddress

Any help that you can provide would be greatly appreciated.

Thanks!

Parents
  • Thanks for the advice everyone.

    I am trying to modify the stack pointer before invoking NXP's flash boot loader to flash my LPC2468. The reason for this is that their boot loader does not appear to reset the stack pointer, and if it is invoked when the stack pointer is not towards the top of the memory map, it will end up over writing its own stack.

Reply
  • Thanks for the advice everyone.

    I am trying to modify the stack pointer before invoking NXP's flash boot loader to flash my LPC2468. The reason for this is that their boot loader does not appear to reset the stack pointer, and if it is invoked when the stack pointer is not towards the top of the memory map, it will end up over writing its own stack.

Children