Part Number: TMS320F28379D
Other Parts Discussed in Thread: C2000WARE
Tool/software:
Dear All,
I’m developing a TI C2000 F28379D application in Code Composer Studio that combines TI’s high-level DriverLib APIs with direct register writes for cycle-exact control. To preserve the ability to tweak the startup and device support files, I imported source, header and required cmd files from devicesupport folder into my project and added both that folder and the DriverLib include directory under Project → Properties → C2000 Compiler → Include Options.
I imported the C2000Ware `device` folder (containing `device.c`, `device.h` and `F2837xD_CodeStartBranch.asm`) into my project and added both that folder and the DriverLib include directory under **Project → Properties → C2000 Compiler → Include Options**.
During an initial build of the TI's CAN transmit example (can_ex3_external_transmit), i imported the device folder as it is in the example folder. I saw multiple-definition linker errors (e.g. symbols in my copied `device.c`/`.h` conflicting with those in DriverLib). To clear these, I removed the extra `device` directory and instead added `driverlib.lib` to Project → Properties → C2000 Linker → File Search Path, which restored a clean build.
My goal is to continue using DriverLib for standard CAN, ADC and ePWM setup, while falling back to register-level code for timing-critical routines. Could you please confirm whether this project structure—mixing DriverLib and register-access on the F28379D—works reliably, or if there’s a TI-recommended best practice or template I should follow to avoid conflicts and maintain a clean build?
Any best-practice templates or guidance would be greatly appreciated.
Thank you for your assistance.
Best regards,
Sameer Irfan