Hello.
I am working on MSP430F67791 (512KB). We need to develop a bootloader for this microcontroller which shall have the provision to receive the file for the main application over UART and save it in the External Flash Memory. After receiving the complete file and verifying the validity through checksum check, it shall load the received file in the Main Flash memory of the microcontroller. To begin with, I have allocated memory range 0x00C000 to 0x2BFFF for the Bootloader and 0x02C000 to 0x08BFFF for the application code.
I am facing some issues as described below:
Bootloader as well as Application require to use the interrupts. But in case of MSP430, the Interrupt Vector table is hardcoded to the memory range 0xFF80 to 0xFFFF, with Reset Vector at 0xFFFE. Since bootloader is supposed to be executed first, I understand that the hardcoded interrupt vector table should be available with the bootloader.
I have gone through many of the threads in the TI Forum for finding the solution.
One of the solution is using Proxy Interrupt Vector table. But this too requires the address of ISR to be 16-bit only, i.e. between 0xC000 and 0xFF7F. This is not possible for us as we have divided the Flash memory into to parts, Bootloader - residing at start of the flash memory and Application - residing at the upper section of flash memory (0x2C000 to 0x8BFFF)
Another solution is using Interrupt Vector Table remapping to RAM. I tried the remapping of interrupt vector table to RAM in a small application without using any bootloader. The code got executed, but the interrupts did not work.
My bootloader code cannot fit into 4 KBytes (i.e. 0xC000 to 0xFF7F) to allow a starting address of 16 bits for the application.
Can anyone guide me to allow bootloader as well as application code to use the interrupts?
Is it actually possible to remap the interrupt vector table to RAM for the application code. If yes, how?
How do I avoid the reset vector to be at 0xFFFE for the application code.
In case I am unclear in explaining my requirements and issues, do let me know.
Looking forward to a helpful reply soon.
Thanks in Advance.
Piyush Chande