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.

TMDSDOCK28335: Communication Issue

Genius 9880 points
Part Number: TMDSDOCK28335
Other Parts Discussed in Thread: C2000WARE

Hi,

Customer is having an issue regarding the device, please see details below.

"
I'm currently using a TMSF32028335 microcontroller with an experimenter kit. I'm having a problem that when I start using it to control a dc/dc converter, the communication with the computer gets interrupted and I'm unable to stay on debugging. It gets lost, and the only way to connect again is to reset the microcontroller.

I've been trying to find out on the forums how to write to the flash memory of the microcontroller but I've been unable to. Do you have by any chance a manual or something?

How to program the microcontroller so that it starts running when turned on?
"

Thank you.

Regards,
May

  • May,

    Please take a look at the flash example in C2000Ware here C:\ti\c2000\C2000Ware_4_01_00_00\device_support\f2833x\examples\flash_f28335\.  This takes a previous example that is linked to RAM and has the deltas needed to make it run from flash.

    The other step here would be to change your boot mode to Flash, so that on power up the code will branch to the correct locations.  The boot pins are detailed in the device datasheet, but first you need to use the above example as a template to port your code to boot to flash.

    We also have a F2833x workshop that goes into more depth on the topic as well as has a lab example/soln on the above.

    https://dev.ti.com/tirex/explore/node?node=Ae-QPe2n1irgj1a.Fw-zPA__jEBbtmC__LATEST

    Best,

    Matthew

  • Hi Matthew,

    Just received response from customer, please see details below.

    Thanks for the information about the flash, I looked to the examples and read the documentation, however, I have not been able to make it work. I´m using the Lab_10.cmd as the linker, and also added the Lab_10.h, Flash.c, written the memcpy as it indicates in the example, but until now the program doesn´t work. I tried to run the Lab_10 project and it works correctly, even without the jumpers on the boot pins. I´m not sure what I´m doing wrong or missing here, I would really appreciate if you can provide me with more help.

    Regards,
    May

  • May,

    I don't think this is something we will be able to debug on the E2E generically.  Would it be possible for customer to provide their original and new .cmd(linker file) as well as the code they are invoking the memcpy, etc?

    Best,

    Matthew

  • Hi Matthew,

    Just received response from customer, please see details below.

    I'm trying to use the .cmd of the workshop, as I explained in the previous message.

    DAB_PWM3.rarIQmath.rar

    I was thinking that TI has a lot of linker command files in the c2000 folder. There are named for specific microcontroller model, some models have RAM and Flash, however for the f28335 there is only RAM I believe. Do you think is possible to obtain a generic linker command file that works?

    Thank you.

    Regards,
    May

  • May,

    I didn't have time today to review the files the customer sent.  In terms of trying to re-use an existing file, I think if they looked at the 2806x device, it will have similar memory map they can try to re-use.  If anything they can just look at that structure and change the memory addresses to match the F2833x.  I'll try my best to look at this more closely tomm.

    Best,

    Matthew

  • May,

    The linker F28335.cmd in this path: C:\ti\c2000\C2000Ware_4_01_00_00\device_support\f2833x\common\cmd\  should accomplish what the customer wants to do.  This is taking all of ramfuncs and placing it in flash and running from RAM.

    The memcpy in the customer code will copy this from flash to RAM before use.  I see they have called it secureRAMfuncs, I would verify that this name agrees with the linker file; in the above case it is simply ramfuncs_Load/Run etc.

    Best,

    Matthew