Tool/software: Code Composer Studio
Hi,
I just have a question whether I unterstand the logic of a bootloader correctly. In your serial_bootloader example, I managed to flash my program via the UART device. However, the application wont start. To test it, I flashed the application to the regarded address (0x2800) and flashed the bootloader afterwards to address 0x00 without erasing any flash pages (checked it @ the disassembly window). As far as I understand the mechanics while debugging, the bootloader will jump for starting the application to its vector table:
;;
;; Load the initial PC from the application's vector table and branch to
;; the application's entry point.
;;
ldr r0, [r0, #4]
bx r0
.endasmfunc
This address results from the define
VTABLE_START_ADDRESS
which is set to 0x2800. Is it possible to test it this way or in other words: when flashing the bin / out file to the controller, will the vector table start at 0x2800 like loading with the bootloader? How can this be determined using the Disassembly window?
Last question for my understanding: initializing the bootloader will initialize the processor (with the same-named function). Starting my program, it will initialiaze the clock itself. Will the pre-mode settings be overwritten?
Volker