Part Number: TMS320F28386D
Hello everyone,
I am developing a custom bootloader for my project, I have assigned the first two sectors of FLASH to it.
So far I manage to load in the FLASH the first two sectors and run the whole program in RAM except for the rts2800_fpu64_eabi.lib, because this library contains the whole partition, memset, memcpy routines necessary for the .binit section created by the linker command.
The need to be able to run the whole bootloader from RAM is so that the bootloader can update itself.
Is there any way to link all this library for the c2000_init routine, binit LOAD in FLASH an RUN in FLASH and then for the rest of the Bootloader C program link as LOAD in FLASH and RUN in RAM?
My compiler version is TI v20.2.5.LTS
Attached a piece of my cmd linker
.TI.ramfunc {-l c28x_vcrc_library_fpu64.lib -l F2838x_C28x_FlashAPI.lib -l rts2800_fpu64_eabi.lib }
LOAD = FLASH0,
RUN = RAMLS5_7 | RAMGS3_8,
TABLE(BINIT)
ALIGN(8)
The result is that if you run this project it will crash because of the absence of the copy table routine in the RAM expected for the c2000_init routine.
Any suggestions would be greatly appreciated.
Regards,
Fernando Marotta