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.

RTOS/LAUNCHXL-F28379D: SYS/BIOS program will not fit into available memory

Part Number: LAUNCHXL-F28379D
Other Parts Discussed in Thread: C2000WARE, TMS320F28379D

Tool/software: TI-RTOS

Hello,

I am trying to build a simple program to blink the onboard LED using the SYS/BIOS. I've use the minimal SYS/BIOS template and added the essential initializing functions into the main(), based on the blinky example from the C2000ware device support as also linked the source and asm files. I've attached the console output. The error is related with the TMS32028379D.cmd linker file. How I can resolve this? Do I have to modify it the TMS32028379D.cmd linker file?  A link to the project: https://www.dropbox.com/s/htidha1ezi1zl6d/test_bios.zip?dl=0

Any help will be appreciated!



Console output:

**** Clean-only build of configuration Debug for project test_bios **** "C:\\Install\\ti\\ccsv8\\utils\\bin\\gmake" -k -j 4 clean -O cleaning ../src/sysbios ... DEL /F "test_bios.hex" "configPkg\linker.cmd" "configPkg\compiler.opt" "test_bios.out" DEL /F "F2837xD_CodeStartBranch.obj" "F2837xD_GlobalVariableDefs.obj" "F2837xD_Gpio.obj" "F2837xD_Ipc.obj" "F2837xD_SysCtrl.obj" "F2837xD_usDelay.obj" "main.obj" DEL /F "F2837xD_GlobalVariableDefs.d" "F2837xD_Gpio.d" "F2837xD_Ipc.d" "F2837xD_SysCtrl.d" "main.d" DEL /F "F2837xD_CodeStartBranch.d" "F2837xD_usDelay.d" RMDIR /S/Q "configPkg\" Could Not Find C:\Users\kyriakos\Desktop\workspace_v8\test_bios\Debug\test_bios.hex Could Not Find C:\Users\kyriakos\Desktop\workspace_v8\test_bios\Debug\test_bios.out Could Not Find C:\Users\kyriakos\Desktop\workspace_v8\test_bios\Debug\F2837xD_CodeStartBranch.d Finished clean **** Build Finished **** **** Build of configuration Debug for project test_bios **** "C:\\Install\\ti\\ccsv8\\utils\\bin\\gmake" -k -j 4 all -O Building file: "../app.cfg" Invoking: XDCtools "C:/Install/ti/xdctools_3_51_01_18_core/xs" --xdcpath="C:/Install/ti/bios_6_75_00_15/packages;" xdc.tools.configuro -o configPkg -t ti.targets.C28_float -p ti.platforms.tms320x28:TMS320F28379D -r release -c "C:/Install/ti/ccsv8/tools/compiler/ti-cgt-c2000_18.1.4.LTS" --compileOptions "-g" "../app.cfg" making package.mak (because of package.bld) ... generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ... configuring app.x28FP from package/cfg/app_p28FP.cfg ... generating custom ti.sysbios library makefile ... Starting build of library sources ... making C:/Users/kyriakos/Desktop/workspace_v8/test_bios/src/sysbios/sysbios.a28FP ... cl28FP C:/Install/ti/bios_6_75_00_15/packages/ti/sysbios/BIOS.c ... asm28FP C:/Install/ti/bios_6_75_00_15/packages/ti/sysbios/family/c28/Hwi_asm.s28 ... asm28FP C:/Install/ti/bios_6_75_00_15/packages/ti/sysbios/family/c28/Hwi_disp_asm.s28 ... asm28FP C:/Install/ti/bios_6_75_00_15/packages/ti/sysbios/family/c28/IntrinsicsSupport_asm.s28 ... asm28FP C:/Install/ti/bios_6_75_00_15/packages/ti/sysbios/family/c28/TaskSupport_asm.s28 ... ar28FP BIOS.obj c28_Hwi_asm.obj c28_Hwi_disp_asm.obj c28_IntrinsicsSupport_asm.obj c28_TaskSupport_asm.obj ... Build of libraries done. cl28FP package/cfg/app_p28FP.c ... Finished building: "../app.cfg" 1 file(s) copied. making ../src/sysbios/sysbios.a28FP ... gmake[1]: Nothing to be done for 'all'. Building file: "C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/common/source/F2837xD_CodeStartBranch.asm" Invoking: C2000 Compiler "C:/Install/ti/ccsv8/tools/compiler/ti-cgt-c2000_18.1.4.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --include_path="C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/common/include" --include_path="C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/headers/include" --include_path="C:/Users/kyriakos/Desktop/workspace_v8/test_bios" --include_path="C:/Install/ti/bios_6_75_00_15/packages/ti/posix/ccs" --include_path="C:/Install/ti/ccsv8/tools/compiler/ti-cgt-c2000_18.1.4.LTS/include" --define=xdc__strict --define=CPU1 --define=_LAUNCHXL_F238379D --define=_FLASH -g --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --preproc_with_compile --preproc_dependency="F2837xD_CodeStartBranch.d_raw" --cmd_file="configPkg/compiler.opt" "C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/common/source/F2837xD_CodeStartBranch.asm" Finished building: "C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/common/source/F2837xD_CodeStartBranch.asm" Building file: "C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/common/source/F2837xD_Ipc.c" Invoking: C2000 Compiler "C:/Install/ti/ccsv8/tools/compiler/ti-cgt-c2000_18.1.4.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --include_path="C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/common/include" --include_path="C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/headers/include" --include_path="C:/Users/kyriakos/Desktop/workspace_v8/test_bios" --include_path="C:/Install/ti/bios_6_75_00_15/packages/ti/posix/ccs" --include_path="C:/Install/ti/ccsv8/tools/compiler/ti-cgt-c2000_18.1.4.LTS/include" --define=xdc__strict --define=CPU1 --define=_LAUNCHXL_F238379D --define=_FLASH -g --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --preproc_with_compile --preproc_dependency="F2837xD_Ipc.d_raw" --cmd_file="configPkg/compiler.opt" "C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/common/source/F2837xD_Ipc.c" Finished building: "C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/common/source/F2837xD_Ipc.c" Building file: "C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/common/source/F2837xD_usDelay.asm" Invoking: C2000 Compiler "C:/Install/ti/ccsv8/tools/compiler/ti-cgt-c2000_18.1.4.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --include_path="C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/common/include" --include_path="C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/headers/include" --include_path="C:/Users/kyriakos/Desktop/workspace_v8/test_bios" --include_path="C:/Install/ti/bios_6_75_00_15/packages/ti/posix/ccs" --include_path="C:/Install/ti/ccsv8/tools/compiler/ti-cgt-c2000_18.1.4.LTS/include" --define=xdc__strict --define=CPU1 --define=_LAUNCHXL_F238379D --define=_FLASH -g --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --preproc_with_compile --preproc_dependency="F2837xD_usDelay.d_raw" --cmd_file="configPkg/compiler.opt" "C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/common/source/F2837xD_usDelay.asm" Finished building: "C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/common/source/F2837xD_usDelay.asm" Building file: "C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/common/source/F2837xD_SysCtrl.c" Invoking: C2000 Compiler "C:/Install/ti/ccsv8/tools/compiler/ti-cgt-c2000_18.1.4.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --include_path="C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/common/include" --include_path="C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/headers/include" --include_path="C:/Users/kyriakos/Desktop/workspace_v8/test_bios" --include_path="C:/Install/ti/bios_6_75_00_15/packages/ti/posix/ccs" --include_path="C:/Install/ti/ccsv8/tools/compiler/ti-cgt-c2000_18.1.4.LTS/include" --define=xdc__strict --define=CPU1 --define=_LAUNCHXL_F238379D --define=_FLASH -g --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --preproc_with_compile --preproc_dependency="F2837xD_SysCtrl.d_raw" --cmd_file="configPkg/compiler.opt" "C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/common/source/F2837xD_SysCtrl.c" "C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/common/source/F2837xD_SysCtrl.c", line 828 (col. 47): advice #2614-D: (Performance) Use --fp_mode=relaxed to enable TMU hardware support for FP division. Finished building: "C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/common/source/F2837xD_SysCtrl.c" Building file: "C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/common/source/F2837xD_Gpio.c" Invoking: C2000 Compiler "C:/Install/ti/ccsv8/tools/compiler/ti-cgt-c2000_18.1.4.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --include_path="C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/common/include" --include_path="C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/headers/include" --include_path="C:/Users/kyriakos/Desktop/workspace_v8/test_bios" --include_path="C:/Install/ti/bios_6_75_00_15/packages/ti/posix/ccs" --include_path="C:/Install/ti/ccsv8/tools/compiler/ti-cgt-c2000_18.1.4.LTS/include" --define=xdc__strict --define=CPU1 --define=_LAUNCHXL_F238379D --define=_FLASH -g --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --preproc_with_compile --preproc_dependency="F2837xD_Gpio.d_raw" --cmd_file="configPkg/compiler.opt" "C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/common/source/F2837xD_Gpio.c" Finished building: "C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/common/source/F2837xD_Gpio.c" Building file: "../main.c" Invoking: C2000 Compiler "C:/Install/ti/ccsv8/tools/compiler/ti-cgt-c2000_18.1.4.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --include_path="C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/common/include" --include_path="C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/headers/include" --include_path="C:/Users/kyriakos/Desktop/workspace_v8/test_bios" --include_path="C:/Install/ti/bios_6_75_00_15/packages/ti/posix/ccs" --include_path="C:/Install/ti/ccsv8/tools/compiler/ti-cgt-c2000_18.1.4.LTS/include" --define=xdc__strict --define=CPU1 --define=_LAUNCHXL_F238379D --define=_FLASH -g --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --preproc_with_compile --preproc_dependency="main.d_raw" --cmd_file="configPkg/compiler.opt" "../main.c" Finished building: "../main.c" Building file: "C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/headers/source/F2837xD_GlobalVariableDefs.c" Invoking: C2000 Compiler "C:/Install/ti/ccsv8/tools/compiler/ti-cgt-c2000_18.1.4.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --include_path="C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/common/include" --include_path="C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/headers/include" --include_path="C:/Users/kyriakos/Desktop/workspace_v8/test_bios" --include_path="C:/Install/ti/bios_6_75_00_15/packages/ti/posix/ccs" --include_path="C:/Install/ti/ccsv8/tools/compiler/ti-cgt-c2000_18.1.4.LTS/include" --define=xdc__strict --define=CPU1 --define=_LAUNCHXL_F238379D --define=_FLASH -g --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --preproc_with_compile --preproc_dependency="F2837xD_GlobalVariableDefs.d_raw" --cmd_file="configPkg/compiler.opt" "C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/headers/source/F2837xD_GlobalVariableDefs.c" Finished building: "C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/headers/source/F2837xD_GlobalVariableDefs.c" making ../src/sysbios/sysbios.a28FP ... gmake[2]: Nothing to be done for 'all'. Building target: "test_bios.out" Invoking: C2000 Linker "C:/Install/ti/ccsv8/tools/compiler/ti-cgt-c2000_18.1.4.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla1 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --define=xdc__strict --define=CPU1 --define=_LAUNCHXL_F238379D --define=_FLASH -g --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on -z -m"test_bios.map" --stack_size=0x200 --warn_sections -i"C:/Install/ti/ccsv8/tools/compiler/ti-cgt-c2000_18.1.4.LTS/lib" -i"C:/Install/ti/ccsv8/tools/compiler/ti-cgt-c2000_18.1.4.LTS/include" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="test_bios_linkInfo.xml" --rom_model -o "test_bios.out" "./F2837xD_CodeStartBranch.obj" "./F2837xD_GlobalVariableDefs.obj" "./F2837xD_Gpio.obj" "./F2837xD_Ipc.obj" "./F2837xD_SysCtrl.obj" "./F2837xD_usDelay.obj" "./main.obj" "C:/Install/ti/c2000/C2000Ware_1_00_06_00/device_support/f2837xd/headers/cmd/F2837xD_Headers_BIOS_cpu1.cmd" "../TMS320F28379D.cmd" -l"configPkg/linker.cmd" -lrts2800_fpu32.lib <Linking> "../TMS320F28379D.cmd", line 119: error #10099-D: program will not fit into available memory. placement with alignment/blocking fails for section "codestart" size 0x2 page 0. Available memory ranges: BEGIN size: 0x2 unused: 0x0 max hole: 0x0 error #10010: errors encountered during linking; "test_bios.out" not built >> Compilation failure makefile:148: recipe for target 'test_bios.out' failed gmake[1]: *** [test_bios.out] Error 1 makefile:144: recipe for target 'all' failed gmake: *** [all] Error 2 **** Build Finished ****

  • Hi,

    Have you by any chance included 2 linker command files that assigns codestart to BEGIN memory region? Or may be assign some other region to BEGIN memory region?

    Regards,
    Veena
  • Hello Veena,

    I have included two linker files the F2837xD_Headers_BIOS_cpu1.cmd and the TMS320F28379D.cmd ,  but i think that the first one does not assigned the codestart to any memory location. I have expanded the BEGIN memory region (+)2 and reduced the FLASHA (-)2 in the TMS320F28379D.cmd  and the project can be build now. But is this the right way to do this?

    Thanks,

    Kyriakos

  • Hi,

    But I thought your codestart section was only of size 0x2. Having a BEGIN region of size 0x2 is enough for that. Have you assigned any other section to BEGIN region? You can take a look at the .map file to see which sections are assigned to each memory region with their sizes.

    Regards,
    Veena
  • Hello,

    I was debugging the same issue and I found some forum post (sorry, I've lost the link by now), that suggested that the F2837xD_CodeStartBranch.asm is not actually needed with TI-RTOS. The Bios will handle the boot sequence internally nowadays.

    I was doing the TI-RTOS workshop with the TMSDOCK28379D Experimenter Kit. I just removed the file and it worked. I'm just working through the different labs and I haven't found any issue.

    Best regards,

    Tero

  • Hi,

    The .codestart section is indeed 0x2 long. Looking at the .map file I found that SYS/BIOS assigns the  section .ti_catalog_c2800_initF2837x_begin alongside with the .codestart in the BEGIN region as you've expect. How can resolve this? The only way so far as mentioned above, is to remove the CodeStartBrach.asm or modify the TMS320F28379D.cmd file. In every case, the code runs when debug, but after CPU reset the target seems to hang: Break at address "0x3ff16a" with no debug information available, or outside of program code but not if CPU restart or power-cycle.

    Best regards,

    Kyriakos

  • Hi,

    Probably I am going through the same workshop. Seems that you can get away with no using the "classic" hardware initialization routine which the C2000Ware use to have in various examples (at least for blinking a LED). Your recommendation is working upon adding "Boot" and "Startup" into the .cfg file from the XGCONF (not sure if these additions are related yet though) . The only "problem" so far is that I cant figure out why when I am in debug mode and hit the CPU RESET button when the code is running it "Break at address "0x3ff16a" with no debug information available, or outside of program code".

    Best regards,

    Kyriakos
  • Hi,

    When you press CPU reset, it jumps to the init routine for which the debug symbols are unavailable in your .out. You could use the restart button which will execute the init routine and stops at start of main.

    Regards,

    Veena