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.

TIDM-02002: Switching from a CPU to another

Part Number: TIDM-02002
Other Parts Discussed in Thread: C2000WARE, TMS320F28377D, TMS320F28379D, POWERSUITE, SYSCONFIG, SFRA

Hello, I have a syscfg project imported from C2000Ware, specifically the TIDM-02002. This is natively targeted to F28004x family, and I would like to "convert" it to F28377D.

To do this, I've opened the device view in the syscfg editor and I've used the "Switch" command. Several options are available:

Unfortunately all options work ok except for the one I need, i.e. TMS320F28377D. If I choose this option and then save, an error pops out:

I have two questions:

1) Is there a way to fix the TMS320F28377D migration? It seems that one file is just missing: note in the dropdown menu how the 377D option ends with a .xml, as if CCS did not find the respective configuration file.

2) If not, can I get around this issue just by selecting TMS320F28379D (which is almost identical, apart from the CLB support) and perhaps by changing the target config file to TMS320F28377D just to make sure that the debugger does not complain?

Thank you!

L.

  • Hi Lorenzo,

    This seems to be an issue that's only present in the digital power SDK. You could go with the TMS320F2879D and change the target config and cmd files manually, but I believe there are some CCS project settings that SysConfig controls which would you wouldn't be able to manually change. I believe it would still build and run on your device though. Unfortunately, compatibility between PowerSUITE examples and our updated SysConfig tool is not ideal. The powerSUITE GUI is primarily used to adjust the user settings for the reference design, but you would still have to reassign pins manually in the source files. It may be more worthwhile to just use the nonPowerSUITE version of the project and port over from there. I believe you can include a .syscfg file in the nonpowersuite version and it should have the peripheral configuration capability.

    Regards,

    Peter

  • Thank you Peter. I don't think that a non-powerSUITE project exists for TIDM-02002. Is there a way to "bypass" the SysConfig stuff?

    However, manually re-assigning pins is not a problem: it needs to be done anyway, since this specific project does not support pin editing through SysConfig at all (all peripherals have been added "manually"). SysConfig is just used to setup the control law parameters in a "fancy" way, and to access tools like SFRA.

    The device-specific files (in the 'device' subfolder) seem quite "generic", with no specific references to F28004x. The CMD file itself looks compatible with F28377D; some memory sections are called differently (for example LS6 RAM for the 004x becomes D0 RAM for the 377D) but the addresses are the same. Obviously 377D has more flash and RAM; I will increase it when needed.

    What I'm mainly worried about are the "subtle" things, like register locations and specific behaviors. The project mainly uses driverlib functions (which should be "safe", I guess?), but sometimes it uses direct register access. In general, can I assume that the same peripheral (e.g. EPWM1) behaves in the same way for 004x and 377D (same register locations, same bitfields, etc)? I've quickly looked though all HWREG and HWREGH macros used in this project and this seems to be the case.

    (edit) Of course there are functionalities that are not present on 377D (such as the PGAs and the analog interconnect) but these are easily identifiable. It was a bit worrying however that the project compiled without errors even if it makes use of these functionalities, so I dug deeper. Apparently the CPU switch in SysConfig does not do much. After the switch, the project still points to the 004x driverlib. Switching to the 37xD driverlib, several errors pop out (finally!). Perhaps it would be easier to create a 377D project from scratch and then copy the relevant files to it, but I would like to keep the SysConfig fancy stuff.

    L.

  • Hi Lorenzo,

    That's right, I also tested the SWITCH button and found that the majority of the files remain unchanged. You can choose to start from an empty project designed for the F28377D device and edit it to look like the TIDM-02002 project except with the appropriate device files if you feel that that is easier. As long as you have the appropriate DriverLib libraries and HW map files, you shouldn't have to necessarily worry about the specific register locations, those are essentially abstracted away. Even if you make the HWREG calls, as long as the appropriate hw_(peripheral).h/c files are included, you shouldn't have to worry.

    I do see a non PowerSUITE version of the TIDM-02002. I tested adding a c2000.syscfg file in it and it enables you to do the peripheral configuration through sysconfig if you wish to migrate to that version of the project. You do lose out on the original powerSUITE GUI if you take this approach though.

    Regards,

    Peter