This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Compiler/TMS320F28069: Reallocate SYS/BIOS into other flash sector

Part Number: TMS320F28069
Other Parts Discussed in Thread: SYSBIOS

Tool/software: TI C/C++ Compiler

Hello!

I use TMS320F28069 with SYS/BIOS (6_46_04_53) and USB bootloader.

Now I want allocate USB bootloader into FLASHA sector, and main firmware in other sections.

I have a problem, SYS/BIOS allocate functions in FLASHA, it use section "sysbios_rom_text" with fixed address.

Please help me reallocate sysbios_rom_text into other flash sector?

  • I was found In documentation for SYS/BIOS string:

    "7.4 Sections and Memory Mapping for MSP430, Stellaris M3, and C28x
    ...
    Note that an additional XDCtools-generated linker command file is added to the project; this file places a
    few sections that are SYS/BIOS specific. This command file assumes that "FLASH" and "RAM" are part
    of the memory map."

    But I can't find any other information about it.
  • Turnaev,

    The device which you are using (F28069) does not have ROM. It appears your configuration script is incorrect. Your program should not have a section by the name of sysbios_rom_text. Please confirm the platform you are using when building your program.

    I suggest you import an example for the F28069 and inspect the map file.

    Which SDK are you using?

    ~Ramsey

  • Ramsey,

    Thanks for the answer.

    Yes, I was wrong about the ROM. sysbios_rom_text I found in the SYS / BIOS folder.
    My project haven't this memory section.

    I use a standard platform: ti.platforms.tms320x28: TMS320F28069
    However, I try to create their own, without the flash section A, in this case the linker error occurred.

    I am using Code Composer 6.2.0.

  • Turnaev,

    What is your linker error?

    I have attached a project which I think emulates your setup.

    4544.task28_TMS320F28069.zip

    I imported the SYS/BIOS Task example. I replaced the linker command file with the one used by the project wizard. I removed FLASHA memory segment. I used FLASHC instead. When I build the example, it does not quite fit into the FLASHC memory segment. So, I allowed the .cinit section to roll over into FLASHD memory segment.

    .cinit: > FLASHC | FLASHD, PAGE = 0

    Now the program builds successfully. Another option is to make FLASHC memory segment larger by taking away from FLASHD.

    I hope this shows you how to modify your linker command file.

    ~Ramsey

  • Ramsey,

    Thanks for the answer.

    Your example is really work! Thank you!

    For the correct compilation must be move sections CSM_RSVD, BEGIN and CSM_PWL too.  I did not do it.

    Once again, thank you so much for your help!