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.

TMS320F28069M: OFFSET module source files not used on DRV8301-EVM, but needed for custom PCB

Part Number: TMS320F28069M
Other Parts Discussed in Thread: MOTORWARE, CONTROLSUITE

Tool/software: TI C/C++ Compiler

Hi,

I noticed a weird behavior when trying to run instaSPIN lab1 on our custom-made PCB with F28069M MCU (the design is based on DRV8301-EVM with slight changes). There is an OFFSET_init() function called from within HAL_init() at the start of the program, however offset.c source file is not included in compilation. The code runs alright on development kit, but the debugger trace disappears after stepping into this function when run on our PCB! The linker doesn't throw any errors, so I suppose these functions are defined to reside somewhere in ROM memory of the MCU. Manually adding offset.c and filter_fo.c/_so.c to the project solves the problem. Similar issue applies to CTRL_init() from Lab1b, but I cannot find this one anywhere...

Update: I checked the number on MCU chip itself and it seems that the controlCard uses f28069mpzt version instead of f28069upzps (as seen on the schematics* - and this is what we ordered). Can it be the reason of missing functions?

My specific questions are:

1. Why are the source files not used for original lab project, even though the code is included in motorware package?

2. If functions are fun from ROM, where is their location defined? Maybe it is a matter of tweaking the linker file to use another location?

3. What is the difference between MCU used on development kit and the one we ordered separately?

4. What other catches like that can we expected when switching to a custom PCB? I am aware of possible differences in GPIO porting and user.h parameters, but wouldn't expect the need for additional files...

*The schematics of the control card with F28069U-PZPS instead of F28069M-PZT is found in controlSuite, as suggested in: https://e2e.ti.com/support/applications/motor_drivers/f/38/t/366344 

  • Hi Jakub,

    If you've ordered a C2000 part that does not end in an -F or -M suffix, then you will not be able to run InstaSPIN as the ROM is not available. The "M" denotes that both FOC and MOTION product code is available on that device; "F" denotes that only FOC product code is available.

    When we produce the device, we use a specific linker command file to place the InstaSPIN ROM at a certain memory address. This linked command file is not provided external to TI. The symbolic library included in the Motorware examples points the linker to those memory addresses; as such, they are static and not able to be changed.

    If there is some source file we missed in one of the labs, it can be added as you say. But as far as we know, there should only be need for those source if they are called from the API you've chosen to use on your custom board. Are you using a custom project? Or using lab1b/c with your custom board? I am a bit hazy on the details as to when compilation failed due to inability to locate source code.

    Sean