Tool/software:
Hello,
We would like to use CLAmath, but the needed libraries are only provided in eabi (ELF) output format. As our project needs to be in COFF, we need the libraries to be in COFF aswell.
Could you please provide libraries of F28P55xCPU1_CLAROM_Symbols_fpu32.lib and F28P55xCPU1_BootROM_Symbols_fpu32.lib in COFF format?
Thank you and kind regards
Gabriel
Hi,
Our expert on this matter is out of office until early January. Please expect a delayed response.
Best Regards,
Ben Collier
Hi Gabriel,
is there a particular reason to want to use COFF project output format? Please note we encourage our customers to migrate applications to EABI for systems that are actively being developed.
if you’re not sure how to migrate to EABI from COFF, please check out this migration guide: https://software-dl.ti.com/ccs/esd/documents/C2000_c28x_migration_from_coff_to_eabi.html
it has useful information about the migration performance of EABI and steps to migrate.
Regards,
Ozino
Hi Ozino,
We have specific requirements related to variable addressing that align better with the COFF format.
Regards,
Gabriel
Hi Gabriel;
If you experience the same eabi→coff problem after every C2000Ware update as we do and need coff output, proceed as below:
1. Import the driverlib project (as .lib) into CCS for your µController (e.g. → C:\ti\c2000\C2000Ware_5_04_00_00\driverlib\f28p55x\driverlib)
2. In 'Project Properties' change the output format to coff
3. Rebuild project → The new output (driverlib.lib) will be in coff format
Good luck
Hi Ibrahim,
In general the project is compiling and I already recompiled driverlib as coff. This is not the problem.
However, from what I found in the documentation of CLAmath (CLA_MATH_LIB_UG.pdf in C:\ti\c2000\C2000Ware_X_XX_XX_XX\libraries\math\CLAmath\c28\docs), CLAmath needs separate libraries, which are mentioned in my original question.
For my device CLA Math library is present in the CLA Data ROM and I would like to use that.
Kind regards
Gabriel
HI Gabriel,
Thanks for the additional information. Please allow us some time as we reach out to the ROM team to gather more information about the COFF versions of the library.
Regards,
Ozino
Hi Ozino,
Just checking if there are any updates from the ROM team.
Best regards,
Gabriel
Hi Gabriel,
Still waiting to hear back from the team. I've gone ahead and CC'ed them on the post for their awareness. I'm following up with them offline.
Regards,
Ozino
Hi Gabriel,
I have heard back from our ROM team and I have the library to share with you. It will be publicly be available in the next C2000Ware release.
Hi Ozino,
Thanks for the good news. Could you please send me the library? I assume you have access to my email address
Kind regards
Gabriel
Hi Gabriel,
Here are the COFF equivalent files. Thanks again for your patience during this time.
Regards,
Ozino
Hi Ozino,
Thank you for the files.
Can you please send F28P55xCPU1_BootROM_Symbols_fpu32.lib in coff format aswell ?
Gabriel
Hi Gabriel,
Let me get back to the team to generate the necessary libraries. Thanks!
Regards,
Ozino
Hi Gabriel,
Please find attached the necessary libraries. Thank you for your patience!
F28P55xCPU1_BootROM_Symbols_COFF.lib
F28P55xCPU1_BootROM_Symbols_fpu32_COFF.lib
Please let me know if you need any further help!
Regards,
Ozino
Hi Ozino
It seems like the libraries are not compatible with the cla2_math_library_datarom_fpu32.lib. From the error messages I receive, I think cla2_math_library_datarom_fpu32.lib uses vcrc while F28P55xCPU1_BootROM_Symbols_fpu32_COFF.lib uses vcu2
If i choose VCU support vcrc in my my main project I get this error:
error #16004-D: file "../lib/F28P55xCPU1_BootROM_Symbols_fpu32_COFF.lib<F28P55x_ROM_out__GPIO_setAnalogMode_tmp.obj>" has a Tag_VCU attribute value of "2" that is different than one previously seen ("3"); combining incompatible files
and with VCU support vcu2 i get this error
error #16004-D: file "../lib/cla2_math_library_datarom_fpu32.lib<CLAsincos.obj>" has a Tag_VCU attribute value of "3" that is different than one previously seen ("2"); combining incompatible files
Apart from that i get errors about redefined symbols in driverlib.lib now:
error #10056: symbol "_GPIO_setAnalogMode" redefined: first defined in "../lib/F28P55xCPU1_BootROM_Symbols_fpu32_COFF.lib<F28P55x_ROM_out__GPIO_setAnalogMode_tmp.obj>"; redefined in "../lib/driverlib.lib<gpio.obj>"
error #10056: symbol "_GPIO_setPinConfig" redefined: first defined in "../lib/F28P55xCPU1_BootROM_Symbols_fpu32_COFF.lib<F28P55x_ROM_out__GPIO_setPinConfig_tmp.obj>"; redefined in "../lib/driverlib.lib<gpio.obj>"
error #10056: symbol "_GPIO_setDirectionMode" redefined: first defined in "../lib/F28P55xCPU1_BootROM_Symbols_fpu32_COFF.lib<F28P55x_ROM_out__GPIO_setDirectionMode_tmp.obj>"; redefined in "../lib/driverlib.lib<gpio.obj>"
error #10056: symbol "_GPIO_setQualificationMode" redefined: first defined in "../lib/F28P55xCPU1_BootROM_Symbols_fpu32_COFF.lib<F28P55x_ROM_out__GPIO_setQualificationMode_tmp.obj>"; redefined in "../lib/driverlib.lib<gpio.obj>"
error #10056: symbol "_GPIO_setPadConfig" redefined: first defined in "../lib/F28P55xCPU1_BootROM_Symbols_fpu32_COFF.lib<F28P55x_ROM_out__GPIO_setPadConfig_tmp.obj>"; redefined in "../lib/driverlib.lib<gpio.obj>"
error #10056: symbol "_Interrupt_enable" redefined: first defined in "../lib/F28P55xCPU1_BootROM_Symbols_fpu32_COFF.lib<F28P55x_ROM_out__Interrupt_enable_tmp.obj>"; redefined in "../lib/driverlib.lib<interrupt.obj>"
error #10056: symbol "_Interrupt_initModule" redefined: first defined in "../lib/F28P55xCPU1_BootROM_Symbols_fpu32_COFF.lib<F28P55x_ROM_out__Interrupt_initModule_tmp.obj>"; redefined in "../lib/driverlib.lib<interrupt.obj>"
Kind regards
Gabriel
Hi Gabriel,
Thank you for the information. I've sent your question to the bootROM team to clarify and regenerate any necessary libraries. Thank you for your patience.
Regards,
Ozino
Hi Gabriel,
Thank you for your patience. The team has generated new binaries. Please confirm if these work on your system.
Regards,
Ozino
7711.F28P55xCPU1_BootROM_Symbols_COFF.lib
2425.F28P55xCPU1_BootROM_Symbols_fpu32_COFF.lib
Hi Ozino,
is it possible that those libraries are now compiled for vcu2 and f28p55 needs vcrc?
Kind regards Gabriel
Hi Gabriel,
Yes F28P55 supports vcrc mode. I understand from the team that previously they were compiled with vcu2.
Please note these libraries, attached, should work now work for the F28P55 devices. Please let me know if that is not the case.
5756.F28P55xCPU1_BootROM_Symbols_COFF.lib
8461.F28P55xCPU1_BootROM_Symbols_fpu32_COFF.lib
8461.F28P55x_CLADATROM_Symbols_COFF.lib
8461.F28P55x_CLADATROM_Symbols_fpu32_COFF.lib
Regards,
Ozino
Hi Ozino,
Thank you. Now only the errors about the redefined symbols remain. In the documentation nothing about this is mentioned. Does this really need to be in the precompiled library?
error #10056: symbol "_GPIO_setAnalogMode" redefined: first defined in "../lib/8461.F28P55xCPU1_BootROM_Symbols_fpu32_COFF.lib<F28P55x_ROM_out__GPIO_setAnalogMode_tmp.obj>"; redefined in "../lib/driverlib.lib<gpio.obj>"
error #10056: symbol "_GPIO_setPinConfig" redefined: first defined in "../lib/8461.F28P55xCPU1_BootROM_Symbols_fpu32_COFF.lib<F28P55x_ROM_out__GPIO_setPinConfig_tmp.obj>"; redefined in "../lib/driverlib.lib<gpio.obj>"
error #10056: symbol "_GPIO_setDirectionMode" redefined: first defined in "../lib/8461.F28P55xCPU1_BootROM_Symbols_fpu32_COFF.lib<F28P55x_ROM_out__GPIO_setDirectionMode_tmp.obj>"; redefined in "../lib/driverlib.lib<gpio.obj>"
error #10056: symbol "_GPIO_setQualificationMode" redefined: first defined in "../lib/8461.F28P55xCPU1_BootROM_Symbols_fpu32_COFF.lib<F28P55x_ROM_out__GPIO_setQualificationMode_tmp.obj>"; redefined in "../lib/driverlib.lib<gpio.obj>"
error #10056: symbol "_GPIO_setPadConfig" redefined: first defined in "../lib/8461.F28P55xCPU1_BootROM_Symbols_fpu32_COFF.lib<F28P55x_ROM_out__GPIO_setPadConfig_tmp.obj>"; redefined in "../lib/driverlib.lib<gpio.obj>"
error #10056: symbol "_Interrupt_enable" redefined: first defined in "../lib/8461.F28P55xCPU1_BootROM_Symbols_fpu32_COFF.lib<F28P55x_ROM_out__Interrupt_enable_tmp.obj>"; redefined in "../lib/driverlib.lib<interrupt.obj>"
error #10056: symbol "_Interrupt_initModule" redefined: first defined in "../lib/8461.F28P55xCPU1_BootROM_Symbols_fpu32_COFF.lib<F28P55x_ROM_out__Interrupt_initModule_tmp.obj>"; redefined in "../lib/driverlib.lib<interrupt.obj>"
Kind regards
Gabriel
Hi Gabriel,
Thanks for confirming that the libraries are now compatible. Can you confirm if you rebuild the driverlib object (.lib)? Can you confirm that you are not rebuilding the driverlib directory in your project. You can always re add the dependencies back into the project if you're unsure.
Can you confirm if the directory is excluded from your workspace. And only leave the .lib included. See example below:
Regards,
Ozino
Hi Ozino,
Thank you for your response.
I believe the libraries are not compatible yet. In my understanding the error messages I posted before tell us, symbols are defined in 8461.F28P55xCPU1_BootROM_Symbols_fpu32_COFF.lib and driverlib.lib
If I am supposed to actively remove functions in the driverlib I would be thankful for instructions.
I can confirm, the driverlib is not rebuilt in the project and the precompiled .lib file is used as confirmed in the .map file.
Regards,
Gabriel
Hi Gabriel,
You shouldn't make have to remove libraries from driverlib. Can you confirm if you added the same bootROM libraries to an empty or led blinky project that you are observing the same compilation errors. If not, then I suspect something may be amiss with your project.
Can you confirm what version of the C2000Ware you are including in your project?
Regards,
Ozino