i have written a custom boot-loader that successfully writes a new image to sectors b to h, it successfully branches to the new application image but the application is unable to access library functions such as CpuTimer0.Interruptcount and other registers such as GPIO. I generated the application image using hex2000 -m3 option which produces two S-Record fiels that I then merge together to form a single image that is sent to the micro. Interrupts in the new application do fire and call the appropriate functions but execution of certain lines of code seem to do nothing (like the cputimer example).
The interesting thing is that if I load the application symbols into the debugger and run the code it runs without issue. However, if I add the application symbols onto the symbols for the boot-loader it does not run properly. Is there a critical step that is supposed to be performed when branching? Currently I am just using a function pointer to the application reset vector to execute the code.
Thanks!