Part Number: CCSTUDIO-THEIA
Other Parts Discussed in Thread: C2000WARE, SYSCONFIG
Hello,
I am working with the F28P65x and C2000Ware 6.00.01.00. I would like to use the Device Support (Bit-fields) headers within a SysConfig-based DriverLib project to perform direct register access for performance-critical tasks.
1. Base Project: I am using the following example as my starting point: C:\ti\c2000\C2000Ware_6_00_01_00\driverlib\f28p65x\examples\c28x_dual\led_ex2_blinky_sysconfig_cpu1
2. Steps Taken to Enable Device Support: To enable bit-field structures, I followed these steps referencing the led_ex1_blinky (non-SysConfig) example:
-
Project Properties > General > Variables: Added the following paths:
-
C2000WARE_COMMON_INCLUDE:${COM_TI_C2000WARE_INSTALL_DIR}/device_support/f28p65x/common/include/ -
C2000WARE_HEADERS_INCLUDE:${COM_TI_C2000WARE_INSTALL_DIR}/device_support/f28p65x/headers/include/
-
-
Project Properties > Build > C2000 Compiler > Include Options: Added both
${C2000WARE_COMMON_INCLUDE}and${C2000WARE_HEADERS_INCLUDE}. -
File Migration: Copied the following files to my project folder (same level as
main.c):-
f28p65x_headers_nonBIOS_cpu1.cmd -
f28p65x_globalvariabledefs.c
-
-
Code Modification (main.c):
-
Added
#include "f28p65x_device.h" -
Added a test line:
GpioDataRegs.GPADAT.bit.GPIO1 = 1;
-
3. Error Encountered: During compilation, I received the following errors related to header conflicts:
"C:\ti\c2000\C2000Ware_6_00_01_00\device_support\f28p65x\headers\include\f28p65x_lin.h", line 238: error #41: expected an identifier
"C:\ti\c2000\C2000Ware_6_00_01_00\device_support\f28p65x\headers\include\f28p65x_lin.h", line 238: error #80: expected a type specifier
"C:\ti\c2000\C2000Ware_6_00_01_00\device_support\f28p65x\headers\include\f28p65x_lin.h", line 238: error #170: a function type is not allowed here
"C:\ti\c2000\C2000Ware_6_00_01_00\device_support\f28p65x\common\include\f28p65x_globalprototypes.h", line 136: error #41: expected an identifier
"C:\ti\c2000\C2000Ware_6_00_01_00\device_support\f28p65x\common\include\f28p65x_globalprototypes.h", line 136: error #91: function returning function is not allowed
It seems like f28p65x_device.h (or its dependencies) is conflicting with the DriverLib/SysConfig environment.
4. Question: Since my application includes performance-sensitive code, I must use direct register access (Bit-fields) alongside DriverLib. What is the recommended way to resolve these header conflicts when mixing Device Support and DriverLib in a SysConfig-enabled project for the F28P65x?
Best regards,