The TI E2E™ design support forums will undergo maintenance from Sept. 28 to Oct. 2. If you need design support during this time, contact your TI representative or open a new support request with our customer support center.

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.

C2000WARE: Different versions of GPIO_WritePin() in C2000ware

Part Number: C2000WARE

I have a project which started as an empty_bitfield_project, but which I later added driverlib support to (via the steps recommended by Santosh in this thread).

I'm doing simple GPIO access via functions like GPIO_WritePin() and GPIO_ReadPin(), but I've noticed that they execute very slowly, even with optimization. If I right click on the function call in my source code and choose Declarations > Project, it takes me to f28004x_gpio.c, a local source file which was in the original empty_bitfield_project. It seems to be a copy taken from {C2000ware_root}/device_support/f28004x/common/source. The declaration is in {C2000ware_root}/device_support/f28004x/common/include. These functions are not inlined, which is why they're executing so slowly. Driverlib has its own versions of these functions which are inlined, defined in {C2000ware_root}/driverlib/f28004x/driverlib/gpio.h. 

How to I tell the compiler/linker to use the inlined versions in driverlib? I've tried adding #include "driverlib.h" to the source files with the calls to GPIO_WritePin(), but it still uses the non-inlined versions. I even excluded f28004x_gpio.c from my build, but the linker returns "unresolved symbol" errors for all those functions. And when checking the declaration of GPIO_WritePin() in my source, it still takes me to the excluded f28004x_gpio.c!

Any help is appreciated