Tool/software:
I am working on a CCS project that needs to run on both TMS320F2800135 and TMS320F280039C. To achieve this, I have included all the necessary files for both ICs and manually switch between them by:
.ccxml
file.While switching from TMS320F2800135 to TMS320F280039C, there are no build errors, but the program does not appear to be running:
Checked Target Configuration:
.ccxml
file is active in targetConfigs.Modified Linker Command Files:
2800135_generic_ram_lnk.cmd
when switching to TMS320F280039C
.280039_generic_ram_lnk.cmd
instead.Checked SysConfig & DriverLib Dependencies:
syscfg
is updated to match the selected IC.Debugging Observations:
Any guidance on this issue would be greatly appreciated!
Hello,
Program execution appears to be stuck.
Can you provide more details on this? What is the state of the device when executing the migrated code?
Registers do not update in real-time unless the program is manually halted.
Did you enable "Continuous Refresh" in the registers view?
Are there additional project settings required in CCS to switch between TMS320F2800135 and TMS320F280039C dynamically?
The C2000 Migration Report Generation Tool may be helpful. You can view the register, device interconnect, and function level changes when migrating from F280013x to F28003x.
Should any modifications be made in the startup files or memory configurations?
Did you update the project to use the f28003x_codestartbranch.asm file in the device folder as well?
Best,
Matt
Yes, I have enabled the continuous refresh in the registers view but I think the problem is occuring while transferring from 135 IC to 39C IC as even the device initialization is not happening at all which I checked by introducing the breakpoint just after the device_init() statement in the main function which is not identified by the code, and hence no data is shown in the registers as well as no GPIO is blinking in the microcontroller as well because the data is not being fed to the microcontroller. One probable reason for this can be that the sysconfig is not generating the device.c and device.h files from its own, they are added manually and from changing it from one IC to another, it's not letting me to exclude the device.c and device.h files, so that I can add these files again for new IC. I've tried reinstalling sysconfig multiple times but still it is not working, so what can be the reason for this and how to successfully migrate the project from one IC to another using two different sysconfig files.
Hi,
Ensured thatsyscfg
is updated to match the selected IC.
How are you migrating SysConfig from F2800135 to F280039C? Is the "Device Support" Module enabled in SysConfig to use the generated device.c/h files?
Best,
Matt
Sysconfig is not generating the device.c and device.h file from its own, so I am using the device support files within the C2000WARE sdk, so it works for the IC for which I've imported the device support files but when I change the syconfig file and try to run it for other IC by disabling the sysconfig file of the previous IC, it doesn't and also it's not allowing me to change the device support files and so I am unable to migrate it to another IC. There's no such errors I'm facing, I just introduced a breakpoint after the device_init() function in main file which is not getting identified by the controller so it means that it is not going through the device initialization and the code is not being fed to the IC
Hi,
Can you check the linker's "File Search Path in the project properties to see if the device support files are included?
You can also try migrating the syscfg file itself -- it will migrate the configuration settings from F2800135 to F280039C automatically for you. Please note that it cannot be undone, so save a copy in case migration fails.
Best,
Matt
Okay, the device files are getting generated now, but I am getting the below debugging error while trying to debug it, can you help me with this
Hi,
The device is stuck in the ITRAP ISR. Can you try to step through the code to see what line triggers this to occur?
Best,
Matt
Just before the device_init() statement it is getting stuck and throwing this debugging error, so how to resolve this error. I've attached the registers window screenshot as well.
Hi,
Can you open Device_init() (by CTRL clicking the function) and see where it's defined? Is it from the SysConfig generated device.c or from the manually imported device.c?
Also, are you able to Step Into Device_init()?
Best,
Matt
It is from the sysconfig as you can see the location of device.c file at the right hand side of the image. Now, how to get rid of that error
Hello,
Thank you for checking that. Can you confirm all the steps in this FAQ on migration across C2000 families are being followed? If it still doesn't work, you can send me your project to look at if possible.
Best,
Matt
I've gone through the FAQ and followed each step but after converting my general project to universal. I am getting the following compilation error. So, please help me with it.
"C:/ti/c2000/C2000Ware_5_04_00_00/driverlib/f280013x/driverlib/ccs/Debug/driverlib.lib" -l"syscfg/device_cmd.cmd" -llibc.a
<Linking>
warning #10247-D: creating output section ".text" without a SECTIONS specification
warning #10247-D: creating output section ".data" without a SECTIONS specification
warning #10247-D: creating output section ".bss" without a SECTIONS specification
warning #10247-D: creating output section ".cinit" without a SECTIONS specification
warning #10247-D: creating output section ".const" without a SECTIONS specification
warning #10247-D: creating output section "codestart" without a SECTIONS specification
error #10430-D: ".TI.ramfunc" section generated by __attribute__((ramfunc)) or --ramfunc=on requires a SECTIONS specification to function.
error #10010: errors encountered during linking; "135IC.out" not built
>> Compilation failure
makefile:140: recipe for target '135IC.out' failed
gmake[1]: *** [135IC.out] Error 1
makefile:136: recipe for target 'all' failed
gmake: *** [all] Error 2
**** Build Finished ****
Hi,
Did you follow this step in the FAQ to configure the default RAM linker command file? It doesn't seem the linker command file (syscfg/device_cmd.cmd) was properly generated.
In the linker command file configuration, please make sure to set the following:
Best,
Matt
Oh, ok sorry for that, I forgot to active a CMD file last time, but after enabling it, it is working fine. But when I change it from one IC to another, it is giving me the below compilation error, if this error could be resolved then I think the migration part can be done successfully.
**** Build Finished ****
**** Build of configuration CPU1_RAM for project 135IC ****
"C:\\ti\\ccs1281\\ccs\\utils\\bin\\gmake" -k -j 8 all -O
Building file: "../2800135.syscfg"
Invoking: SysConfig
"C:/ti/ccs1281/ccs/utils/sysconfig_1.21.0/sysconfig_cli.bat" --script "C:/Users/Admin/workspace_for_migration/135IC/2800135.syscfg" -o "syscfg" -s "C:/ti/c2000/C2000Ware_5_04_00_00/.metadata/sdk.json" --compiler ccs
Running script...
Validating...
info: myEPWM1(/driverlib/epwm.js) epwmTimebase_clockDiv: For perfectly synchronized TBCLKs across multiple EPWM modules, the prescaler bits in the TBCTL register of each EPWM module must be set identically
info: myEPWM1(/driverlib/epwm.js) epwmActionQualifier_t1Source: T1/T2 selection and configuration of a trip/digital-compare event is indpendent of the configuration of that event in the Trip-Zone submodule
info: myEPWM1(/driverlib/epwm.js) epwmActionQualifier_t2Source: T1/T2 selection and configuration of a trip/digital-compare event is indpendent of the configuration of that event in the Trip-Zone submodule
info: myEPWM2(/driverlib/epwm.js) epwmTimebase_clockDiv: For perfectly synchronized TBCLKs across multiple EPWM modules, the prescaler bits in the TBCTL register of each EPWM module must be set identically
info: myEPWM2(/driverlib/epwm.js) epwmActionQualifier_t1Source: T1/T2 selection and configuration of a trip/digital-compare event is indpendent of the configuration of that event in the Trip-Zone submodule
info: myEPWM2(/driverlib/epwm.js) epwmActionQualifier_t2Source: T1/T2 selection and configuration of a trip/digital-compare event is indpendent of the configuration of that event in the Trip-Zone submodule
info: myEPWM2(/driverlib/epwm.js) epwmTimebase_phaseEnable: If the EPWMxSYNCI signal is held HIGH, the sync will NOT continously occur. The EPWMxSYNCI is rising edge activated.
info: myEPWM5(/driverlib/epwm.js) epwmTimebase_clockDiv: For perfectly synchronized TBCLKs across multiple EPWM modules, the prescaler bits in the TBCTL register of each EPWM module must be set identically
info: myEPWM5(/driverlib/epwm.js) epwmActionQualifier_t1Source: T1/T2 selection and configuration of a trip/digital-compare event is indpendent of the configuration of that event in the Trip-Zone submodule
info: myEPWM5(/driverlib/epwm.js) epwmActionQualifier_t2Source: T1/T2 selection and configuration of a trip/digital-compare event is indpendent of the configuration of that event in the Trip-Zone submodule
info: myEPWM5(/driverlib/epwm.js) epwmTimebase_phaseEnable: If the EPWMxSYNCI signal is held HIGH, the sync will NOT continously occur. The EPWMxSYNCI is rising edge activated.
Generating Code (2800135.syscfg)...
Writing C:\Users\Admin\workspace_for_migration\135IC\CPU1_RAM\syscfg\board.c...
Writing C:\Users\Admin\workspace_for_migration\135IC\CPU1_RAM\syscfg\board.h...
Writing C:\Users\Admin\workspace_for_migration\135IC\CPU1_RAM\syscfg\board.cmd.genlibs...
Writing C:\Users\Admin\workspace_for_migration\135IC\CPU1_RAM\syscfg\board.opt...
Writing C:\Users\Admin\workspace_for_migration\135IC\CPU1_RAM\syscfg\board.json...
Writing C:\Users\Admin\workspace_for_migration\135IC\CPU1_RAM\syscfg\pinmux.csv...
Writing C:\Users\Admin\workspace_for_migration\135IC\CPU1_RAM\syscfg\epwm.dot...
Writing C:\Users\Admin\workspace_for_migration\135IC\CPU1_RAM\syscfg\device.c...
Writing C:\Users\Admin\workspace_for_migration\135IC\CPU1_RAM\syscfg\device.h...
Writing C:\Users\Admin\workspace_for_migration\135IC\CPU1_RAM\syscfg\adc.dot...
Writing C:\Users\Admin\workspace_for_migration\135IC\CPU1_RAM\syscfg\device_cmd.cmd...
Writing C:\Users\Admin\workspace_for_migration\135IC\CPU1_RAM\syscfg\device_cmd.c...
Writing C:\Users\Admin\workspace_for_migration\135IC\CPU1_RAM\syscfg\device_cmd.h...
Writing C:\Users\Admin\workspace_for_migration\135IC\CPU1_RAM\syscfg\device_cmd.opt...
Writing C:\Users\Admin\workspace_for_migration\135IC\CPU1_RAM\syscfg\device_cmd.cmd.genlibs...
Writing C:\Users\Admin\workspace_for_migration\135IC\CPU1_RAM\syscfg\c2000ware_libraries.cmd.genlibs...
Writing C:\Users\Admin\workspace_for_migration\135IC\CPU1_RAM\syscfg\c2000ware_libraries.opt...
Writing C:\Users\Admin\workspace_for_migration\135IC\CPU1_RAM\syscfg\c2000ware_libraries.c...
Writing C:\Users\Admin\workspace_for_migration\135IC\CPU1_RAM\syscfg\c2000ware_libraries.h...
Writing C:\Users\Admin\workspace_for_migration\135IC\CPU1_RAM\syscfg\clocktree.h...
Finished building: "../2800135.syscfg"
Building file: "C:/ti/c2000/C2000Ware_5_04_00_00/device_support/f28003x/common/source/f28003x_codestartbranch.asm"
Invoking: C2000 Compiler
"C:/ti/ccs1281/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu0 -Ooff --include_path="C:/Users/Admin/workspace_for_migration/135IC" --include_path="C:/ti/c2000/C2000Ware_5_04_00_00/device_support/f280013x/common/include" --include_path="C:/ti/c2000/C2000Ware_5_04_00_00/device_support/f280013x/headers/include" --include_path="C:/Users/Admin/workspace_for_migration/135IC/device" --include_path="C:/ti/c2000/C2000Ware_5_04_00_00/driverlib/f280013x/driverlib" --include_path="C:/ti/ccs1281/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/include" --advice:performance=all --define=CPU1 --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="f28003x_codestartbranch.d_raw" --include_path="C:/Users/Admin/workspace_for_migration/135IC/CPU1_RAM/syscfg" --cmd_file="syscfg/board.opt" --cmd_file="syscfg/device_cmd.opt" --cmd_file="syscfg/c2000ware_libraries.opt" "C:/ti/c2000/C2000Ware_5_04_00_00/device_support/f28003x/common/source/f28003x_codestartbranch.asm"
Finished building: "C:/ti/c2000/C2000Ware_5_04_00_00/device_support/f28003x/common/source/f28003x_codestartbranch.asm"
Building file: "syscfg/device.c"
Invoking: C2000 Compiler
"C:/ti/ccs1281/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu0 -Ooff --include_path="C:/Users/Admin/workspace_for_migration/135IC" --include_path="C:/ti/c2000/C2000Ware_5_04_00_00/device_support/f280013x/common/include" --include_path="C:/ti/c2000/C2000Ware_5_04_00_00/device_support/f280013x/headers/include" --include_path="C:/Users/Admin/workspace_for_migration/135IC/device" --include_path="C:/ti/c2000/C2000Ware_5_04_00_00/driverlib/f280013x/driverlib" --include_path="C:/ti/ccs1281/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/include" --advice:performance=all --define=CPU1 --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="syscfg/device.d_raw" --include_path="C:/Users/Admin/workspace_for_migration/135IC/CPU1_RAM/syscfg" --obj_directory="syscfg" --cmd_file="syscfg/board.opt" --cmd_file="syscfg/device_cmd.opt" --cmd_file="syscfg/c2000ware_libraries.opt" "syscfg/device.c"
>> Compilation failure
subdir_rules.mk:45: recipe for target 'syscfg/device.obj' failed
"syscfg/device.c", line 112: warning #225-D: function "SysCtl_setMCANClk" declared implicitly
"syscfg/device.c", line 112: error #20: identifier "SYSCTL_MCANCLK_DIV_1" is undefined
"syscfg/device.c", line 152: error #20: identifier "SYSCTL_PERIPH_CLK_CLA1" is undefined
"syscfg/device.c", line 153: error #20: identifier "SYSCTL_PERIPH_CLK_DMA" is undefined
"syscfg/device.c", line 157: error #20: identifier "SYSCTL_PERIPH_CLK_CPUBGCRC" is undefined
"syscfg/device.c", line 158: error #20: identifier "SYSCTL_PERIPH_CLK_CLA1BGCRC" is undefined
"syscfg/device.c", line 161: error #20: identifier "SYSCTL_PERIPH_CLK_ERAD" is undefined
"syscfg/device.c", line 169: error #20: identifier "SYSCTL_PERIPH_CLK_EPWM8" is undefined
"syscfg/device.c", line 172: error #20: identifier "SYSCTL_PERIPH_CLK_ECAP3" is undefined
"syscfg/device.c", line 174: error #20: identifier "SYSCTL_PERIPH_CLK_EQEP2" is undefined
"syscfg/device.c", line 175: error #20: identifier "SYSCTL_PERIPH_CLK_SD1" is undefined
"syscfg/device.c", line 176: error #20: identifier "SYSCTL_PERIPH_CLK_SD2" is undefined
"syscfg/device.c", line 180: error #20: identifier "SYSCTL_PERIPH_CLK_SPIB" is undefined
"syscfg/device.c", line 184: error #20: identifier "SYSCTL_PERIPH_CLK_MCANA" is undefined
"syscfg/device.c", line 186: error #20: identifier "SYSCTL_PERIPH_CLK_ADCB" is undefined
"syscfg/device.c", line 192: error #20: identifier "SYSCTL_PERIPH_CLK_DACA" is undefined
"syscfg/device.c", line 193: error #20: identifier "SYSCTL_PERIPH_CLK_DACB" is undefined
"syscfg/device.c", line 194: error #20: identifier "SYSCTL_PERIPH_CLK_CLB1" is undefined
"syscfg/device.c", line 195: error #20: identifier "SYSCTL_PERIPH_CLK_CLB2" is undefined
"syscfg/device.c", line 196: error #20: identifier "SYSCTL_PERIPH_CLK_CLB3" is undefined
"syscfg/device.c", line 197: error #20: identifier "SYSCTL_PERIPH_CLK_CLB4" is undefined
"syscfg/device.c", line 198: error #20: identifier "SYSCTL_PERIPH_CLK_FSITXA" is undefined
"syscfg/device.c", line 199: error #20: identifier "SYSCTL_PERIPH_CLK_FSIRXA" is undefined
"syscfg/device.c", line 200: error #20: identifier "SYSCTL_PERIPH_CLK_LINA" is undefined
"syscfg/device.c", line 201: error #20: identifier "SYSCTL_PERIPH_CLK_LINB" is undefined
"syscfg/device.c", line 202: error #20: identifier "SYSCTL_PERIPH_CLK_PMBUSA" is undefined
"syscfg/device.c", line 204: error #20: identifier "SYSCTL_PERIPH_CLK_DCC1" is undefined
"syscfg/device.c", line 205: error #20: identifier "SYSCTL_PERIPH_CLK_HICA" is undefined
"syscfg/device.c", line 206: error #20: identifier "SYSCTL_PERIPH_CLK_AESA" is undefined
28 errors detected in the compilation of "syscfg/device.c".
gmake: *** [syscfg/device.obj] Error 1
Building file: "syscfg/board.c"
Invoking: C2000 Compiler
"C:/ti/ccs1281/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu0 -Ooff --include_path="C:/Users/Admin/workspace_for_migration/135IC" --include_path="C:/ti/c2000/C2000Ware_5_04_00_00/device_support/f280013x/common/include" --include_path="C:/ti/c2000/C2000Ware_5_04_00_00/device_support/f280013x/headers/include" --include_path="C:/Users/Admin/workspace_for_migration/135IC/device" --include_path="C:/ti/c2000/C2000Ware_5_04_00_00/driverlib/f280013x/driverlib" --include_path="C:/ti/ccs1281/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/include" --advice:performance=all --define=CPU1 --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="syscfg/board.d_raw" --include_path="C:/Users/Admin/workspace_for_migration/135IC/CPU1_RAM/syscfg" --obj_directory="syscfg" --cmd_file="syscfg/board.opt" --cmd_file="syscfg/device_cmd.opt" --cmd_file="syscfg/c2000ware_libraries.opt" "syscfg/board.c"
>> Compilation failure
subdir_rules.mk:45: recipe for target 'syscfg/board.obj' failed
"syscfg/board.c", line 399: error #20: identifier "SYSCTL_SDFMTYPE" is undefined
"syscfg/board.c", line 405: warning #225-D: function "SysCtl_setPeripheralAccessControl" declared implicitly
"syscfg/board.c", line 405: error #20: identifier "SYSCTL_ACCESS_ADCA" is undefined
"syscfg/board.c", line 406: error #20: identifier "SYSCTL_ACCESS_CPU1" is undefined
"syscfg/board.c", line 406: error #20: identifier "SYSCTL_ACCESS_FULL" is undefined
"syscfg/board.c", line 408: error #20: identifier "SYSCTL_ACCESS_CLA1" is undefined
"syscfg/board.c", line 409: error #20: identifier "SYSCTL_ACCESS_ADCB" is undefined
"syscfg/board.c", line 413: error #20: identifier "SYSCTL_ACCESS_ADCC" is undefined
"syscfg/board.c", line 417: error #20: identifier "SYSCTL_ACCESS_CMPSS1" is undefined
"syscfg/board.c", line 422: error #20: identifier "SYSCTL_ACCESS_DMA1" is undefined
"syscfg/board.c", line 424: error #20: identifier "SYSCTL_ACCESS_HIC" is undefined
"syscfg/board.c", line 425: error #20: identifier "SYSCTL_ACCESS_CMPSS2" is undefined
"syscfg/board.c", line 433: error #20: identifier "SYSCTL_ACCESS_CMPSS3" is undefined
"syscfg/board.c", line 441: error #20: identifier "SYSCTL_ACCESS_CMPSS4" is undefined
"syscfg/board.c", line 449: error #20: identifier "SYSCTL_ACCESS_DACA" is undefined
"syscfg/board.c", line 457: error #20: identifier "SYSCTL_ACCESS_DACB" is undefined
"syscfg/board.c", line 465: error #20: identifier "SYSCTL_ACCESS_EPWM1" is undefined
"syscfg/board.c", line 473: error #20: identifier "SYSCTL_ACCESS_EPWM2" is undefined
"syscfg/board.c", line 481: error #20: identifier "SYSCTL_ACCESS_EPWM3" is undefined
"syscfg/board.c", line 489: error #20: identifier "SYSCTL_ACCESS_EPWM4" is undefined
"syscfg/board.c", line 497: error #20: identifier "SYSCTL_ACCESS_EPWM5" is undefined
"syscfg/board.c", line 505: error #20: identifier "SYSCTL_ACCESS_EPWM6" is undefined
"syscfg/board.c", line 513: error #20: identifier "SYSCTL_ACCESS_EPWM7" is undefined
"syscfg/board.c", line 521: error #20: identifier "SYSCTL_ACCESS_EPWM8" is undefined
"syscfg/board.c", line 529: error #20: identifier "SYSCTL_ACCESS_EQEP1" is undefined
"syscfg/board.c", line 537: error #20: identifier "SYSCTL_ACCESS_EQEP2" is undefined
"syscfg/board.c", line 545: error #20: identifier "SYSCTL_ACCESS_ECAP1" is undefined
"syscfg/board.c", line 553: error #20: identifier "SYSCTL_ACCESS_ECAP2" is undefined
"syscfg/board.c", line 561: error #20: identifier "SYSCTL_ACCESS_ECAP3" is undefined
"syscfg/board.c", line 569: error #20: identifier "SYSCTL_ACCESS_SDFM1" is undefined
"syscfg/board.c", line 577: error #20: identifier "SYSCTL_ACCESS_SDFM2" is undefined
"syscfg/board.c", line 585: error #20: identifier "SYSCTL_ACCESS_CLB1" is undefined
"syscfg/board.c", line 591: error #20: identifier "SYSCTL_ACCESS_CLB2" is undefined
"syscfg/board.c", line 597: error #20: identifier "SYSCTL_ACCESS_CLB3" is undefined
"syscfg/board.c", line 603: error #20: identifier "SYSCTL_ACCESS_CLB4" is undefined
"syscfg/board.c", line 609: error #20: identifier "SYSCTL_ACCESS_SCIA" is undefined
"syscfg/board.c", line 615: error #20: identifier "SYSCTL_ACCESS_SCIB" is undefined
"syscfg/board.c", line 621: error #20: identifier "SYSCTL_ACCESS_SPIA" is undefined
"syscfg/board.c", line 629: error #20: identifier "SYSCTL_ACCESS_SPIB" is undefined
"syscfg/board.c", line 637: error #20: identifier "SYSCTL_ACCESS_I2CA" is undefined
"syscfg/board.c", line 643: error #20: identifier "SYSCTL_ACCESS_I2CB" is undefined
"syscfg/board.c", line 649: error #20: identifier "SYSCTL_ACCESS_PMBUSA" is undefined
"syscfg/board.c", line 657: error #20: identifier "SYSCTL_ACCESS_LINA" is undefined
"syscfg/board.c", line 665: error #20: identifier "SYSCTL_ACCESS_LINB" is undefined
"syscfg/board.c", line 673: error #20: identifier "SYSCTL_ACCESS_CANA" is undefined
"syscfg/board.c", line 679: error #20: identifier "SYSCTL_ACCESS_MCANA" is undefined
"syscfg/board.c", line 685: error #20: identifier "SYSCTL_ACCESS_FSIATX" is undefined
"syscfg/board.c", line 693: error #20: identifier "SYSCTL_ACCESS_FSIARX" is undefined
"syscfg/board.c", line 701: error #20: identifier "SYSCTL_ACCESS_HRPWMA" is undefined
"syscfg/board.c", line 709: error #20: identifier "SYSCTL_ACCESS_HICA" is undefined
"syscfg/board.c", line 715: error #20: identifier "SYSCTL_ACCESS_AESA" is undefined
"syscfg/board.c", line 722: error #20: identifier "SYSCTL_PERIPH_CLK_CLA1" is undefined
"syscfg/board.c", line 723: error #20: identifier "SYSCTL_PERIPH_CLK_DMA" is undefined
"syscfg/board.c", line 727: error #20: identifier "SYSCTL_PERIPH_CLK_CPUBGCRC" is undefined
"syscfg/board.c", line 728: error #20: identifier "SYSCTL_PERIPH_CLK_CLA1BGCRC" is undefined
"syscfg/board.c", line 731: error #20: identifier "SYSCTL_PERIPH_CLK_ERAD" is undefined
"syscfg/board.c", line 739: error #20: identifier "SYSCTL_PERIPH_CLK_EPWM8" is undefined
"syscfg/board.c", line 742: error #20: identifier "SYSCTL_PERIPH_CLK_ECAP3" is undefined
"syscfg/board.c", line 744: error #20: identifier "SYSCTL_PERIPH_CLK_EQEP2" is undefined
"syscfg/board.c", line 745: error #20: identifier "SYSCTL_PERIPH_CLK_SD1" is undefined
"syscfg/board.c", line 746: error #20: identifier "SYSCTL_PERIPH_CLK_SD2" is undefined
"syscfg/board.c", line 750: error #20: identifier "SYSCTL_PERIPH_CLK_SPIB" is undefined
"syscfg/board.c", line 754: error #20: identifier "SYSCTL_PERIPH_CLK_MCANA" is undefined
"syscfg/board.c", line 756: error #20: identifier "SYSCTL_PERIPH_CLK_ADCB" is undefined
"syscfg/board.c", line 762: error #20: identifier "SYSCTL_PERIPH_CLK_DACA" is undefined
"syscfg/board.c", line 763: error #20: identifier "SYSCTL_PERIPH_CLK_DACB" is undefined
"syscfg/board.c", line 764: error #20: identifier "SYSCTL_PERIPH_CLK_CLB1" is undefined
"syscfg/board.c", line 765: error #20: identifier "SYSCTL_PERIPH_CLK_CLB2" is undefined
"syscfg/board.c", line 766: error #20: identifier "SYSCTL_PERIPH_CLK_CLB3" is undefined
"syscfg/board.c", line 767: error #20: identifier "SYSCTL_PERIPH_CLK_CLB4" is undefined
"syscfg/board.c", line 768: error #20: identifier "SYSCTL_PERIPH_CLK_FSITXA" is undefined
"syscfg/board.c", line 769: error #20: identifier "SYSCTL_PERIPH_CLK_FSIRXA" is undefined
"syscfg/board.c", line 770: error #20: identifier "SYSCTL_PERIPH_CLK_LINA" is undefined
"syscfg/board.c", line 771: error #20: identifier "SYSCTL_PERIPH_CLK_LINB" is undefined
"syscfg/board.c", line 772: error #20: identifier "SYSCTL_PERIPH_CLK_PMBUSA" is undefined
"syscfg/board.c", line 774: error #20: identifier "SYSCTL_PERIPH_CLK_DCC1" is undefined
"syscfg/board.c", line 775: error #20: identifier "SYSCTL_PERIPH_CLK_HICA" is undefined
"syscfg/board.c", line 776: error #20: identifier "SYSCTL_PERIPH_CLK_AESA" is undefined
77 errors detected in the compilation of "syscfg/board.c".
gmake: *** [syscfg/board.obj] Error 1
Building file: "syscfg/device_cmd.c"
Invoking: C2000 Compiler
"C:/ti/ccs1281/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu0 -Ooff --include_path="C:/Users/Admin/workspace_for_migration/135IC" --include_path="C:/ti/c2000/C2000Ware_5_04_00_00/device_support/f280013x/common/include" --include_path="C:/ti/c2000/C2000Ware_5_04_00_00/device_support/f280013x/headers/include" --include_path="C:/Users/Admin/workspace_for_migration/135IC/device" --include_path="C:/ti/c2000/C2000Ware_5_04_00_00/driverlib/f280013x/driverlib" --include_path="C:/ti/ccs1281/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/include" --advice:performance=all --define=CPU1 --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="syscfg/device_cmd.d_raw" --include_path="C:/Users/Admin/workspace_for_migration/135IC/CPU1_RAM/syscfg" --obj_directory="syscfg" --cmd_file="syscfg/board.opt" --cmd_file="syscfg/device_cmd.opt" --cmd_file="syscfg/c2000ware_libraries.opt" "syscfg/device_cmd.c"
Finished building: "syscfg/device_cmd.c"
Building file: "syscfg/c2000ware_libraries.c"
Invoking: C2000 Compiler
"C:/ti/ccs1281/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu0 -Ooff --include_path="C:/Users/Admin/workspace_for_migration/135IC" --include_path="C:/ti/c2000/C2000Ware_5_04_00_00/device_support/f280013x/common/include" --include_path="C:/ti/c2000/C2000Ware_5_04_00_00/device_support/f280013x/headers/include" --include_path="C:/Users/Admin/workspace_for_migration/135IC/device" --include_path="C:/ti/c2000/C2000Ware_5_04_00_00/driverlib/f280013x/driverlib" --include_path="C:/ti/ccs1281/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/include" --advice:performance=all --define=CPU1 --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="syscfg/c2000ware_libraries.d_raw" --include_path="C:/Users/Admin/workspace_for_migration/135IC/CPU1_RAM/syscfg" --obj_directory="syscfg" --cmd_file="syscfg/board.opt" --cmd_file="syscfg/device_cmd.opt" --cmd_file="syscfg/c2000ware_libraries.opt" "syscfg/c2000ware_libraries.c"
Finished building: "syscfg/c2000ware_libraries.c"
Building file: "../135main.c"
Invoking: C2000 Compiler
"C:/ti/ccs1281/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu0 -Ooff --include_path="C:/Users/Admin/workspace_for_migration/135IC" --include_path="C:/ti/c2000/C2000Ware_5_04_00_00/device_support/f280013x/common/include" --include_path="C:/ti/c2000/C2000Ware_5_04_00_00/device_support/f280013x/headers/include" --include_path="C:/Users/Admin/workspace_for_migration/135IC/device" --include_path="C:/ti/c2000/C2000Ware_5_04_00_00/driverlib/f280013x/driverlib" --include_path="C:/ti/ccs1281/ccs/tools/compiler/ti-cgt-c2000_22.6.1.LTS/include" --advice:performance=all --define=CPU1 --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="135main.d_raw" --include_path="C:/Users/Admin/workspace_for_migration/135IC/CPU1_RAM/syscfg" --cmd_file="syscfg/board.opt" --cmd_file="syscfg/device_cmd.opt" --cmd_file="syscfg/c2000ware_libraries.opt" "../135main.c"
"../135main.c", line 77 (col. 48): advice #3195-D: (Performance) EABI double precision is 64-bits as opposed to 32-bits for COFF. Consider changing doubles to floats for improved performance in FPU32-mode.
"../135main.c", line 77 (col. 48): advice #2614-D: (Performance) Use --fp_mode=relaxed to enable TMU hardware support for FP division.
"../135main.c", line 77 (col. 37): advice #3195-D: (Performance) EABI double precision is 64-bits as opposed to 32-bits for COFF. Consider changing doubles to floats for improved performance in FPU32-mode.
"../135main.c", line 77 (col. 39): advice #3195-D: (Performance) EABI double precision is 64-bits as opposed to 32-bits for COFF. Consider changing doubles to floats for improved performance in FPU32-mode.
"../135main.c", line 77 (col. 24): advice #2614-D: (Performance) Use --fp_mode=relaxed to enable TMU hardware support for sinf.
Finished building: "../135main.c"
gmake: Target 'all' not remade because of errors.
**** Build Finished ****
Hi,
"syscfg/device.c", line 112: warning #225-D: function "SysCtl_setMCANClk" declared implicitly
"syscfg/device.c", line 112: error #20: identifier "SYSCTL_MCANCLK_DIV_1" is undefined
"syscfg/device.c", line 152: error #20: identifier "SYSCTL_PERIPH_CLK_CLA1" is undefined
"syscfg/device.c", line 153: error #20: identifier "SYSCTL_PERIPH_CLK_DMA" is undefined
"syscfg/device.c", line 157: error #20: identifier "SYSCTL_PERIPH_CLK_CPUBGCRC" is undefined
"syscfg/device.c", line 158: error #20: identifier "SYSCTL_PERIPH_CLK_CLA1BGCRC" is undefined
"syscfg/device.c", line 161: error #20: identifier "SYSCTL_PERIPH_CLK_ERAD" is undefined
"syscfg/device.c", line 169: error #20: identifier "SYSCTL_PERIPH_CLK_EPWM8" is undefined
"syscfg/device.c", line 172: error #20: identifier "SYSCTL_PERIPH_CLK_ECAP3" is undefined
"syscfg/device.c", line 174: error #20: identifier "SYSCTL_PERIPH_CLK_EQEP2" is undefined
"syscfg/device.c", line 175: error #20: identifier "SYSCTL_PERIPH_CLK_SD1" is undefined
"syscfg/device.c", line 176: error #20: identifier "SYSCTL_PERIPH_CLK_SD2" is undefined
"syscfg/device.c", line 180: error #20: identifier "SYSCTL_PERIPH_CLK_SPIB" is undefined
"syscfg/device.c", line 184: error #20: identifier "SYSCTL_PERIPH_CLK_MCANA" is undefined
"syscfg/device.c", line 186: error #20: identifier "SYSCTL_PERIPH_CLK_ADCB" is undefined
"syscfg/device.c", line 192: error #20: identifier "SYSCTL_PERIPH_CLK_DACA" is undefined
"syscfg/device.c", line 193: error #20: identifier "SYSCTL_PERIPH_CLK_DACB" is undefined
"syscfg/device.c", line 194: error #20: identifier "SYSCTL_PERIPH_CLK_CLB1" is undefined
"syscfg/device.c", line 195: error #20: identifier "SYSCTL_PERIPH_CLK_CLB2" is undefined
"syscfg/device.c", line 196: error #20: identifier "SYSCTL_PERIPH_CLK_CLB3" is undefined
"syscfg/device.c", line 197: error #20: identifier "SYSCTL_PERIPH_CLK_CLB4" is undefined
"syscfg/device.c", line 198: error #20: identifier "SYSCTL_PERIPH_CLK_FSITXA" is undefined
"syscfg/device.c", line 199: error #20: identifier "SYSCTL_PERIPH_CLK_FSIRXA" is undefined
"syscfg/device.c", line 200: error #20: identifier "SYSCTL_PERIPH_CLK_LINA" is undefined
"syscfg/device.c", line 201: error #20: identifier "SYSCTL_PERIPH_CLK_LINB" is undefined
"syscfg/device.c", line 202: error #20: identifier "SYSCTL_PERIPH_CLK_PMBUSA" is undefined
"syscfg/device.c", line 204: error #20: identifier "SYSCTL_PERIPH_CLK_DCC1" is undefined
"syscfg/device.c", line 205: error #20: identifier "SYSCTL_PERIPH_CLK_HICA" is undefined
"syscfg/device.c", line 206: error #20: identifier "SYSCTL_PERIPH_CLK_AESA" is undefined
The issue is that these values are defined in the F28003x driverlib (C2000Ware_X_XX_XX_XX\driverlib\f28003x\driverlib\sysctl.h), but not in the F280013x driverlib (C2000Ware_X_XX_XX_XX\driverlib\f280013x\driverlib\sysctl.h).
You will need to make sure you're using the F280013x sysctl driverlib definitions when migrating from F28003x.
Best,
Matt
One last question, can you please tell me how to resolve the above error means do I have to change he driverlib file in the ccs project again for F28003x or do I have to just add sysctl.h from the driverlib folder of F28003x or sysctl.h file needs to be generated through sysconfig. I've tried adding the sysctl.h file but still it is throwing the same error. Can you please guide me on how to ensure that the correct sysctl files are being used and so the projects can be migrated.
Hi Devesh,
You will need to have two different build configurations for F28003x and F280013x devices respectively.
You can create a new build configuration by right-clicking the project and navigating to Build Configurations > Manage
Then you can include/exclude the respective syscfg files by right-clicking the intended file and selecting "Exclude from build". CCS will remember your project settings per build configuration so they won't be lost when changing between device builds.
Best,
Matt
I appreciate your help and I was already looking to implement build configurations once I was done with migration, but it'll have no effect on the errors that I'm receiving because of the sysctl functions, the errors in device enable peripherals. I've tried it and still it is giving me the same error. Please guide me correctly to get rid of this error.
It's hard to say without diving into the specifics of the project. Is the target configuration file configured for F28003x or F280013x? Can you share the target configuration file that you are using?
Please see this thread for more details on migrating projects: https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1273438/tms320f28374s-how-to-migrate-project-from-f28379d
Best,
Matt
These are the files that I've in my project folder, where I'm using two target config file and changing them depending on which IC I'm using.
I'm selecting the IC from build manage option, which excludes the unnecessary syscfg files from itself. It's working fine with F280013x and not giving error but on switching to F28003x, it is providing me those sysctl compilation errors
I'm getting these errors in specific files from the board.c and device.c file generated from sysconfig as they are present in the syscfg folder. Now, please give me some valuable suggestion from which I can use my project for F28003x IC as well just by using migration.
Hi,
It looks like the device support header files for F28003x aren't being included in the build.
Two things to check:
You can also try manually linking the necessary device support header files, they're located at: C2000Ware_5_04_00_00\device_support\f28003x\headers
Best,
Matt