Tool/software:
I am working on a CCS project that needs to run on both TMS320F2800135 and TMS320F280039C. To achieve this, I have included all the necessary files for both ICs and manually switch between them by:
.ccxml
file.While switching from TMS320F2800135 to TMS320F280039C, there are no build errors, but the program does not appear to be running:
Checked Target Configuration:
.ccxml
file is active in targetConfigs.Modified Linker Command Files:
2800135_generic_ram_lnk.cmd
when switching to TMS320F280039C
.280039_generic_ram_lnk.cmd
instead.Checked SysConfig & DriverLib Dependencies:
syscfg
is updated to match the selected IC.Debugging Observations:
Any guidance on this issue would be greatly appreciated!
Hello,
Program execution appears to be stuck.
Can you provide more details on this? What is the state of the device when executing the migrated code?
Registers do not update in real-time unless the program is manually halted.
Did you enable "Continuous Refresh" in the registers view?
Are there additional project settings required in CCS to switch between TMS320F2800135 and TMS320F280039C dynamically?
The C2000 Migration Report Generation Tool may be helpful. You can view the register, device interconnect, and function level changes when migrating from F280013x to F28003x.
Should any modifications be made in the startup files or memory configurations?
Did you update the project to use the f28003x_codestartbranch.asm file in the device folder as well?
Best,
Matt
Yes, I have enabled the continuous refresh in the registers view but I think the problem is occuring while transferring from 135 IC to 39C IC as even the device initialization is not happening at all which I checked by introducing the breakpoint just after the device_init() statement in the main function which is not identified by the code, and hence no data is shown in the registers as well as no GPIO is blinking in the microcontroller as well because the data is not being fed to the microcontroller. One probable reason for this can be that the sysconfig is not generating the device.c and device.h files from its own, they are added manually and from changing it from one IC to another, it's not letting me to exclude the device.c and device.h files, so that I can add these files again for new IC. I've tried reinstalling sysconfig multiple times but still it is not working, so what can be the reason for this and how to successfully migrate the project from one IC to another using two different sysconfig files.
Hi,
Ensured thatsyscfg
is updated to match the selected IC.
How are you migrating SysConfig from F2800135 to F280039C? Is the "Device Support" Module enabled in SysConfig to use the generated device.c/h files?
Best,
Matt
Sysconfig is not generating the device.c and device.h file from its own, so I am using the device support files within the C2000WARE sdk, so it works for the IC for which I've imported the device support files but when I change the syconfig file and try to run it for other IC by disabling the sysconfig file of the previous IC, it doesn't and also it's not allowing me to change the device support files and so I am unable to migrate it to another IC. There's no such errors I'm facing, I just introduced a breakpoint after the device_init() function in main file which is not getting identified by the controller so it means that it is not going through the device initialization and the code is not being fed to the IC
Hi,
Can you check the linker's "File Search Path in the project properties to see if the device support files are included?
You can also try migrating the syscfg file itself -- it will migrate the configuration settings from F2800135 to F280039C automatically for you. Please note that it cannot be undone, so save a copy in case migration fails.
Best,
Matt
Okay, the device files are getting generated now, but I am getting the below debugging error while trying to debug it, can you help me with this
Hi,
The device is stuck in the ITRAP ISR. Can you try to step through the code to see what line triggers this to occur?
Best,
Matt
Just before the device_init() statement it is getting stuck and throwing this debugging error, so how to resolve this error. I've attached the registers window screenshot as well.
Hi,
Can you open Device_init() (by CTRL clicking the function) and see where it's defined? Is it from the SysConfig generated device.c or from the manually imported device.c?
Also, are you able to Step Into Device_init()?
Best,
Matt
It is from the sysconfig as you can see the location of device.c file at the right hand side of the image. Now, how to get rid of that error
Hello,
Thank you for checking that. Can you confirm all the steps in this FAQ on migration across C2000 families are being followed? If it still doesn't work, you can send me your project to look at if possible.
Best,
Matt