Part Number: TMS320F28035
Dear team:
Recently I was doing IAP and reassigned the flash sector. The 8 sectors are mainly divided into 2 parts. One for the Boot program and one for the user program.
The “Begin” address of boot program is the default 0x3F7FF6, and the length is 2.
BEGIN : origin = 0x3F7FF6, length = 0x000002 /* Part of FLASHA. Used for "boot to Flash" bootloader mode. */
The “Begin” address of the user program is a custom 0x3E8000 with a length of 2. Then the flash address and length assignment of the application:
BEGIN : origin = 0x3E8000, length = 0x000002
FLASH_App : origin = 0x3E8002, length = 0x009FFE
I always think that the starting process of f28035 is as follows:
After power-on/reset, The PC pointer will point to the reset vector --> The reset vector points to "InitBoot" and determines the boot mode. --> codestart(0x3F7FF6) -->_c_int00 --> main().
In the program, the code start (0x3F7FF6) address contains a jump instruction that jumps to _c_int00. But my user program changed the BEGIN address of CMD to 0x3E8000, which is the flash of two pointer bits I assigned myself. It can't contain jump instructions, but the program is still running normally.
So, I am confused about the execution of IAP programs.