I'm getting close to booting from FLASH but one problem stands in my way. I'm using DSP/BIOS v6.21, CCS v4.1, and XDC v3.16. I have my own platform built, though it is actually on an ezdsp28335 board.
The default boot sequence calls functionality from boot_cg.asm to initialize the CPU and copy a few sections based on some symbols defined, presumably, in the user linker command file. With Dave Russo's help, I have successfully extended the template linker command file (linker.cmd) to include load and run statements, as well as my own symbols for section start and size, e.g., _text_loadstart, _text_size, etc. However, I intend to use Tim Love's boot code example to copy the sections over to RAM from FLASH and I have targeted the standard "codestart" application to 0x33FFF6 in memory, which holds the boot to flash vector. This vector is mapped properly to my boot code.
The problem arises with the location of boot_cg's functionality. The library address to boot.a28FP is forced into the reset vector at 0x3FFFC0 through myriad configuration calls that I have been unable to trace. I don't mind the code on my build (it is small), but I cannot get the CPU to fetch the boot to flash vector nor can I place my code address in the reset location when I'm connected to the board through the USB emulator. I would imagine that if I ran from a standalone (no emulator) it would work properly, but I'm not ready to do that as I need the debug capability to verify the copy operations are working properly.
Is there a way to override the .reset vector value? If not, what do I have to do to re-build the target library in ${XDC_INSTALL}\packages\ti\targets\rts2800 using my own assembly code for the copy functions (as well as XINTF enables)?
Thanks,
Mark Takatz