I have some CCSV3 projects that currently use the DSP/BIOS 5 rtos. I'm in the process of migrating one of those projects to CCSV5 for a new program, but I also want to migrate to the newer rtos SYS/BIOS 6. I want to leverage as much (of the DSP/BIOS APIs) as possible and not have to start from scratch. The projects are all using the TMS320F28335 ds controller of the C2000 platform.
I did a brute-force migration to CCSV5 (SYS/BIOS 6) and managed to compile successfully, but the linking failed miserably. So I stepped back a bit and performed the steps in the app note: Bios_Legacy_App_Note.pdf (Migrating a DSP/BIOS 5 Application to SYS/BIOS) section 7 "Porting the Mailbox Example to SYS/BIOS 6 Using Legacy Support". I successfully built the mailbox project with no linking errors or warnings for the C6000 device platform, but when I tried the same example for a C2000 device (ezdsp28335), I got a number of linker errors. Most of those errors are the same as those I encountered in my brute-force migration. Please see the log below. Thanks in advance for any help.
**** Build of configuration Debug for project mailbox ****
"C:\\ti\\ccsv5\\utils\\bin\\gmake" -k all
'Building file: ../mailbox.cfg'
'Invoking: XDCtools'
"C:/ti/xdctools_3_24_05_48/xs" --xdcpath="C:/ti/bios_6_34_02_18/packages;C:/ti/ipc_1_25_00_04/packages;C:/ti/xdais_7_21_01_07/packages;C:/ti/xdais_7_21_01_07/examples;C:/misc/myRepos;C:/ti/ccsv5/ccs_base;" xdc.tools.configuro -o configPkg -t ti.targets.C28_large -p mbx_ezdsp28335 -r release -c "C:/ti/ccsv5/tools/compiler/c2000_6.1.1" --compileOptions "-g --optimize_with_debug" "../mailbox.cfg"
making package.mak (because of package.bld) ...
generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
configuring mailbox.x28L from package/cfg/mailbox_p28L.cfg ...
bios.enableRealTimeAnalysis is not supported
bios.enableRtdx is not supported
warning: ti.bios.PIE: "C:/ti/bios_6_34_02_18/packages/ti/bios/PIE.xs", line 197: ti.bios.PIE : 'VMAPMODE' not supported. SYS/BIOS uses the default value of VMAP.
warning: ti.bios.PIE: "C:/ti/bios_6_34_02_18/packages/ti/bios/PIE.xs", line 202: ti.bios.PIE : 'PIESELECT' not supported. The PIE is always enabled for the C2000 in SYS/BIOS.
cl28L package/cfg/mailbox_p28L.c ...
'Finished building: ../mailbox.cfg'
' '
'Building file: ../mailbox.c'
'Invoking: C2000 Compiler'
"C:/ti/ccsv5/tools/compiler/c2000_6.1.1/bin/cl2000" -v28 -ml -mt --float_support=fpu32 -g --include_path="C:/ti/ccsv5/tools/compiler/c2000_6.1.1/include" --include_path="C:/ti/bios_6_34_02_18/packages/ti/bios/include" --diag_warning=225 --display_error_number --diag_wrap=off --preproc_with_compile --preproc_dependency="mailbox.pp" --cmd_file="./configPkg/compiler.opt" "../mailbox.c"
'Finished building: ../mailbox.c'
' '
'Building target: mailbox.out'
'Invoking: C2000 Linker'
"C:/ti/ccsv5/tools/compiler/c2000_6.1.1/bin/cl2000" -v28 -ml -mt --float_support=fpu32 -g --diag_warning=225 --display_error_number --diag_wrap=off -z --stack_size=0x300 -m"mailbox.map" --warn_sections -i"C:/ti/ccsv5/tools/compiler/c2000_6.1.1/lib" -i"C:/ti/ccsv5/tools/compiler/c2000_6.1.1/include" --reread_libs --display_error_number --diag_wrap=off --rom_model -o "mailbox.out" -l"./configPkg/linker.cmd" "./mailbox.obj" -l"libc.a"
<Linking>
error #16008-D: file "./mailbox.obj" specifies ISA revision "C28FPU32", which is not compatible with ISA revision "C2800" specified in a previous file or on the command line
error #16008-D: file "C:\ti\bios_6_34_02_18\packages\ti\bios\lib\release\ti.bios.a28L<log.o28L>" specifies ISA revision "C2800", which is not compatible with ISA revision "C2700" specified in a previous file or on the command line
warning #10247-D: creating output section ".reset" without a SECTIONS specification
"./configPkg/linker.cmd", line 251: error #10099-D: program will not fit into available memory. placement with alignment/blocking fails for section ".econst" size 0x1db5 page 0. Available memory ranges:
>> Compilation failure
L03SARAM size: 0x4000 unused: 0x571 max hole: 0x571
"./configPkg/linker.cmd", line 248: error #10099-D: program will not fit into available memory. placement with alignment/blocking fails for section ".cinit" size 0x57f page 0. Available memory ranges:
L03SARAM size: 0x4000 unused: 0x539 max hole: 0x538
"./configPkg/linker.cmd", line 253: error #10099-D: program will not fit into available memory. run placement with alignment/blocking fails for section ".stack" size 0x400 page 0. Available memory ranges:
MSARAM size: 0x800 unused: 0x300 max hole: 0x300
error #10010: errors encountered during linking; "mailbox.out" not built
gmake: *** [mailbox.out] Error 1
gmake: Target `all' not remade because of errors.
**** Build Finished ****