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.
Tool/software: Code Composer Studio
I'm working on integrating eCAN into a modified version of lab 5b of the Instaspin FOC labs. I added a file can.c in the same location as the can.h header file (sw/drivers/can/...../src). In order to test it in the simplest form, can.c ONLY includes this:
// // Included Files // #include "sw/drivers/can/src/32b/f28x/f2805x/can.h" // Prototype statements for functions found within this file. void CAN_init(void) { ECanaRegs.CANAA.all = 0; return; }
I've simplified my main method as well temporarily to only include a call to CAN_init(). ECanaRegs is defined in can.h and I can right click -> open declaration to be taken there. The error I'm getting tells me that ECanaRegs is an unresolved symbol (same for ECanaMboxes or the shadow register when I call them). When I comment out that definition, I get a different error (ECanaRegs undefined), so I know that it can see the can.h file.
Before I had another file from c2000 (f2805x_eCAN.h) which included the same definitions, but I have removed that completely from the project. I get the same "unresolved symbol" error when I call these structs from the main method? What's wrong?
Thanks
Solved, forgot the important #pragma lines mentioned here: https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/437027?eCAN-for-instaspin
Hi Braden,
Thanks for taking the time to provide your feedback and closing out your post. Please do not hesitate to reach out if you have any further questions.
Cheers!
Krishna