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.

CAN bootloader in F28035

Other Parts Discussed in Thread: TMS320F28035, CONTROLSUITE, TMDSCNCD28035ISO

Hi,

I am working on TMS320f28035 as my Target MCU and wanted to write update the flash of my MCU though CAN channel.

So i am not able to understand as how to write/debug a code in Boot ROM of my device which can start boot loading through CAN peripheral?

Thanks

Regards

Siddharth

  • Siddharth,

                Please read these 2 docs thoroughly:

    http://www.ti.com/lit/ug/sprugo0b/sprugo0b.pdf

    http://www.ti.com/lit/an/sprabv4a/sprabv4a.pdf

    They should answer most of your questions.

  • Sidharth,
    please check the example C:\ti\controlSUITE\device_support\f2803x\v130\DSP2803x_examples_ccsv5\f2803x_flash_kernel
    This example is based of SCI and what you are looking for is CAN BOOT. Just replace the SCIBoot.c with CAN BOOT and see if that helps you with your solution.

    The SCIBOOT.c and CANBOOT.C can be referred to from the ROM sources for your device (C:\ti\controlSUITE\libs\utilities\boot_rom\2803x)


    Hope this helps

    Best Regards
    Santosh Athuru
  • Hi Santosh sir,

    As i was reading relevant documents related to Boot Rom and also trying some example codes,therefore i am replying lately.I am very much confused related to Boot ROM after readng sprugo0b.pdf document,therefore i need your guidance for clearing my doubts.

    Finally,I wanted to implement CAN bootloader for my TMS320f28035. But since i am newbie to this concept ,so i am trying following things:-

    1)Step by step debugging of exiting code in Boot ROM

    2)Try SCI bootloader first and then will switch to CAN bootloader - Since can bootloader require extra hardware which work as interface between PC and Target MCU

    So i am trying firstly SCI bootloader with which i am planning to flash C:\ti\controlSUITE\device_support\f2803x\v129\DSP2803x_examples_ccsv5\gpio_toggle

    Example code through SCI bootloader .

    I have setup my hardware for SCI Boot Load as follows:-

    1)Disconnected Emulator section to make gpio(GPIO37 and GPIO34) pins free

    2)Made GPIO34 = 0 and GPIO37 = 1 for SCI boot Mode

    3) Initiated Power on Reset - This sets EMU_KEY as x55AA and EMU_BMODE as 0x01(SCI-Boot mode)

    4) Connected the Debugger and then done MCU reset

    So after following above steps now my MCU is in SCI boot mode.I can verify it by seeing 0xD01(EMU_BMODE) location with byte as 0x01.

    But my boot loading is waiting in following line of SCI_BOOT.c

    where he is waiting for some character and then it will echo back the same character.

    Now i opened Realterm for testing echoing of sent character.But when i am sending 'A' , i am not receiving 'A' character echoed back.And neither i am able to bootload my application code through sci interface to the MCU.

    Can you guide me where i am doing wrong or missing something during SCI bootloading setting or any logical error. Please help me regarding this.

    Thanks 

    Regards

    Siddharth

  • Siddharth,

    Based on your snapshot, it is clear that you are able to enter SCI_Boot successfully.

    You haven't provided any details about how you have connected F28035 to host? Is your PC acting as host? (or) someother memory device with SCI protocol acting as host? Did you make sure host signals are being received by the device using oscilloscope?

    Regards,
    Manoj
  • Hi Manoj sir,

    Sorry for not provided enough information about my connection settings between Host and MCU.
    I am using Piccolo TMS320F28035 Isolated controlCARD(www.ti.com/.../tmdscncd28035iso) for my development.
    In this i am giving power to MCU section externally with DC supply and other side with ftdi chip is getting powered up from USB connection.

    Yes my PC is acting as host.i am using USB to Serial converter to connect my MCU with PC over SCI communication lines.

    No i haven't seen host signals using oscilloscope till now.I will see these host signals on oscilloscope as soon as possible and then will update you about results.

    If you have any other doubt regarding my connections of MCU with PC then please update me.

    Thanks
    Regards
    Siddharth

  • Hi all,

    I have probed Rx line of MCU. So in that i am correctly seeing that 'A(1010)' is being transmitted by my Serial --> USB converter to my MCU(Tms320f28035).
    But my MCU is still not able to recognize that character and thus not able to receive echo back the same character.

    So problem is my autobaud lock is not getting unlocked due to which my code is stucking at that point.Please help me in resolving this issue


    Thanks.
    Regards
    Siddharth

  • Sidharth,
    what is the baud rate you are using, can you try 9600 baud? Try couple of baud rate options. Also the ROM loader expects 0x08AA as key after baud rate lock, so I would suggest you to add a break point in the code after ABD check, you might be missing it as well because the laoder doesn't get 0x08AA and it is trying to boot to flash and nothing is in flash and device resets?

    Best Regards
    Santosh Athuru
  • Hi Santosh sir,

    I was earlier using TMS320F28035 Isolated controlCARD(www.ti.com/.../tmdscncd28035iso) for my development purposes.But in that autobaud lock is not unlocking,even i have used 9600 baud rate.And thus it is not replying back with 'a' or 'A'.

    So then after much debugging,i started trying with TMS3320f28027 and in that everything works perfectly. Then,I have also tried same things with different TMS320F28035 Isolated controlCARD and in that also it is working fine.So i am doubting my earlier f28035 hardware for this problem.

    So now my code is flashing correctly on RAM.But currently i am using factory programmed boot loader of MCU for doing so.
    In order to use CAN channel for bootloading purposes and also for my application purposes i wanted to flash customized bootloader to my MCU.
    Can you please tell me key changes that i should do in my bootloader code or linker scripts in order to flash code to MCU boot rom ?

    Thanks

    Regards

    Siddharth