Jens-Michael / Jeff Tenney + Anyone Who Can Help :)
I've read quite a few of your very helpful posts on this and other forums online regarding creating an MSP430 bootloader. I'm in the process of creating a custom bsl solution for our application that needs more peripheral support that the existing BSL.
My bootloader has been written, tested and has support for RF/UART and is awaiting me solving this vector mapping issue. Rewriting the entire BSL in assembly with support for the entire RF stack is out of the question, so my question is, why can't this be done in C?
Here's the direction I'm attempting to go in and any and I'm open to all suggestions:
1. Modify the crt0.asm file to map/point the default vector addresses (FFFF - FFE0) to an area in RAM that can be modified when passing control to the Application
2. Immediately before application entry from the bootloader, point the mapped IVT in ram to the actual IVT for the application.
... Is it really that straight forward, or am I totally missing something here? I'm still not addressing the difficulty in modifying the memory map to support the proper placement of the IVT in the application, but I'll cross that bridge when I know I'm at least going in the right direction to begin with.
Thanks for any and all help..
Additionally - I'll be more than willing to help anyone / provide sample code once I've gotten this working. The SLAA341is a good start, but aside from the revectoring examples, it doesn't help with the issue of modifying the addresses after passing control to the bootloader...