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.
art Number: TMS320F28377D
Tool/software: Code Composer Studio
Hi,
I am trying to use the CLB tool and enable it on my project which is created using the Embedded Coder Support Package for TI using MATLAB. I followed the exact steps in the CLB tool documents to enable CLB Tool In existing driverLib projects but I keep getting the same errors every time. The description of the errors as follows:
gmake: *** [syscfg/board.obj] Error 1 StackedPhases C/C++ Problem
gmake: *** [syscfg/clb_config.obj] Error 1 StackedPhases C/C++ Problem
gmake: Target 'all' not remade because of errors. StackedPhases C/C++ Problem
The TI controller I am using is the F28377D.
I thought it could be the issue of adding driverlib support to the created project's file and I looked into many forums to see how to add it and followed the steps as well but still getting errors.
https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/894464?tisearch=e2e-sitesearch&keymatch=add%25252525252520DriverLib%25252525252520f28377d
So can please help me out to solve this issue?
attached is the CCS project
Thanks,
Mohammed
Mohammed without the full console output I cannot help resolve this or move on to the next step.
Nima
Please help me add the CLB tool to the attached project. I tried all the possible ways and followed the instructions but still getting errors.
Your help would really be appreciated!
Regards, TwoPhaseForStuck_ert_rtw.zip
First, this is a bitfield project. You need to have driverlib software support to be able to use the CLB tool.
So step one is to add driverlib support to your project.
After step one is completed:
Step two is to follow the instructions here to add the CLB tool and other available tools to your project:
[FAQ] How do I add SYSCONFIG support (Pinmux and Peripheral Initialization) to an existing driverlib...
Nima
Hi Nima,
Thanks for your reply and your help.
I tried to add a driverlib support to my project, which I generated using MATLAB support package btw. I followed the below link to add the driverlib support to the project.
https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/894464?tisearch=e2e-sitesearch&keymatch=add%25252525252520DriverLib%25252525252520f28377d
However, I got the attached errors!
**** Build of configuration Debug for project TwoPhaseForStuck ****
"C:\\ti\\ccs1011\\ccs\\utils\\bin\\gmake" -k all
Building target: "TwoPhaseForStuck.out"
Invoking: C2000 Linker
"C:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/bin/cl2000" --advice:performance=all --define=MODEL=TwoPhaseForStuck --define=NUMST=1 --define=NCSTATES=0 --define=HAVESTDIO --define=MODEL_HAS_DYNAMICALLY_LOADED_SFCNS=0 --define=CLASSIC_INTERFACE=0 --define=ALLOCATIONFCN=0 --define=TID01EQ=0 --define=TERMFCN=1 --define=ONESTEPFCN=1 --define=MAT_FILE=0 --define=MULTI_INSTANCE_CODE=0 --define=INTEGER_CODE=0 --define=MT=0 --define=DAEMON_MODE=1 --define=MW_PIL_SCIFIFOLEN=16 --define=F2837X_REG_FORMAT --define=MW_F2837XD --define=STACK_SIZE=512 --define=__MW_TARGET_USE_HARDWARE_RESOURCES_H__ --define=RT --define=F28377D --define=CPU1 --define=BOOT_FROM_FLASH=1 --abi=coffabi -s -v28 -ml --large_memory_model --silicon_version=28 --define=LARGE_MODEL -v28 --float_support=fpu32 -ml -DF28377D -DCPU1 -DBOOT_FROM_FLASH=1 -DF28377D -DCPU1 -DBOOT_FROM_FLASH=1 -z --warn_sections -i"C:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/lib" -i"C:/ti/ccs1011/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include" --reread_libs --define=F28377D --define=CPU1 --define=BOOT_FROM_FLASH=1 --define=BOOT_USING_BL=0 --rom_model -z --stack_size=512 --warn_sections --heap_size=1024 --reread_libs --rom_model -mTwoPhaseForStuck.map -o "TwoPhaseForStuck.out" "./F2837xD_Adc.obj" "./F2837xD_CodeStartBranch.obj" "./F2837xD_CpuTimers.obj" "./F2837xD_DefaultISR.obj" "./F2837xD_Dma.obj" "./F2837xD_GlobalVariableDefs.obj" "./F2837xD_Gpio.obj" "./F2837xD_Ipc_Driver_Lite.obj" "./F2837xD_PieCtrl.obj" "./F2837xD_PieVect.obj" "./F2837xD_SysCtrl.obj" "./F2837xD_usDelay.obj" "./MW_c28xx_adc.obj" "./MW_c28xx_board.obj" "./MW_c28xx_csl.obj" "./MW_c28xx_pwm.obj" "./TwoPhaseForStuck.obj" "./TwoPhaseForStuck_data.obj" "./c2837xDBoard_Realtime_Support.obj" "./c2837xDSchedulerTimer0.obj" "./ert_main.obj" "./profiler_Support.obj" "./device/F2837xD_CodeStartBranch.obj" "./device/device.obj" "C:/ti/c2000/C2000Ware_3_03_00_00/driverlib/f2837xd/driverlib/ccs/Debug/driverlib.lib" -l"C:/ProgramData/MATLAB/SupportPackages/R2018b/toolbox/target/supportpackages/tic2000/rtlib/IQmath_fpu32.lib" -l"C:/ProgramData/MATLAB/SupportPackages/R2018b/toolbox/target/supportpackages/tic2000/src/c2837xDPeripherals.cmd" -l"C:/ProgramData/MATLAB/SupportPackages/R2018b/toolbox/target/supportpackages/tic2000/src/c28377D.cmd" -lrts2800_fpu32.lib
<Linking>
error: symbol "code_start" redefined: first defined in
"./F2837xD_CodeStartBranch.obj"; redefined in
"./device/F2837xD_CodeStartBranch.obj"
error: ".TI.ramfunc" section generated by __attribute__((ramfunc)) or
--ramfunc=on requires a SECTIONS specification to function.
"C:/ProgramData/MATLAB/SupportPackages/R2018b/toolbox/target/supportpackages/tic2000/src/c28377D.cmd", line 86: error:
program will not fit into available memory, or the section contains a call
site that requires a trampoline that can't be generated for this section.
placement with alignment/blocking fails for section "codestart" size 0x4page
0. Available memory ranges:
BEGIN_FLASH size: 0x2 unused: 0x2 max hole: 0x2
error: errors encountered during linking; "TwoPhaseForStuck.out" not built
>> Compilation failure
makefile:168: recipe for target 'TwoPhaseForStuck.out' failed
gmake: *** [TwoPhaseForStuck.out] Error 1
gmake: Target 'all' not remade because of errors.
**** Build Finished ****
Thanks
I am feeling embarrassed by keeping asking you and I do appreciate it!
I removed the CodeStartBranch.asm file from the project file but according to the link I sent above I should keep the CodeStartBranch.asm file under the device folder. I did, however, rebuild the project for the two cases and I got these remaining errors: reduced to 4 errors
<Linking>
error: ".TI.ramfunc" section generated by __attribute__((ramfunc)) or
--ramfunc=on requires a SECTIONS specification to function.
error: errors encountered during linking; "TwoPhaseForStuck.out" not built
>> Compilation failure
makefile:166: recipe for target 'TwoPhaseForStuck.out' failed
gmake: *** [TwoPhaseForStuck.out] Error 1
gmake: Target 'all' not remade because of errors.
**** Build Finished ****
Mohammed,
No problem. Glad we could get the original CLB tool example project to work.
Porting of existing bitfield project to driverlib and adding sysconfig can be a bit confusing.
This next error is at link time. So the place to look for is in your cmd file. and make sure you have ONE memory map defining cmd file. I currently dont see a CMD file.
Possibly starting a new thread where a SW person can help with this would be a better idea.
Make sure to title it with the "TI.ramfunc section generated by ..."
Nima