Quantcast
Channel: MSP low-power microcontroller forum - Recent Threads
Viewing all articles
Browse latest Browse all 22451

msp430f168 CALL instruction issue in a custom Boot Loader

$
0
0

I am having an issue when I try to use the assembly instruction CALL to launch/enter the application from the bootloader.

The bootloader starts at 0xF000 and was given control of all the interrupt vectors including the reset vector pointing at the bootloader code.

The application uses 0x4000-0xEFFF, with the application reset vector located at 0xEFFE.

I have tried calling assebly inline using

    asm(DINT);          //disable interrupts
    asm(CALL &0EFFEh);  //call to start the application
    asm(RET);           //will never get here, should not return

I have tried calling a fucntion defined in an assembly file

;*******************************************************************************
; MACROS
;*******************************************************************************
        .def    CallApplication
;*******************************************************************************
; Functions
;*******************************************************************************
CallApplication:
        DINT
        CALL &0EFFEh    ;branch to code pointed to by application vector table
        RET             ;should never get here

where I call "CallApplication();" in the bootloader C file when it is time to start running the application

I have also tried variations of the above with not disabling interrupts and placing several 'nop' instructions between the disabling of the interrupts and the "CALL" instruction.

For reference I am using Code Composer Studio Version: 6.1.3.00034 and the TI v4.4.6 compiler

If there is info that I should have included to better assist you in understanding my issue please let me know and I will provide it.  Thank you in advance!


Viewing all articles
Browse latest Browse all 22451

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>