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.

TMS320F28375S: Bootloader Jumping Issue

Part Number: TMS320F28375S
Other Parts Discussed in Thread: C2000WARE

Tool/software:

Hi,

I'm currently working on TMS320F28375S, using bootloader.

When I try to bootload the application code ,it sometimes doesn't jump to application,like it goes to some other address,I have given the address of 2 sectors in Bank 1 namely FLASHE_F.

It should Jump to FlashG_H after few operations.But it stops jumping.

I have given 

BEGIN: 80000

Bootcode resides in FLASH A

I sometimes feel that it continuously resets after few times of bootloading 

What might be the issues for this?

Thanks in advance 

  • Hello,

    1. What communication protocol are you using (CAN, SCI, etc.)?

    2. Is this a custom bootloader or one of the examples found in the C2000Ware SDK?

    3. Is this bootloader running from flash, or is it loaded into RAM after a device reset?

    4. Is the code in FLASHE_F part of the application or the bootloader?

    5. Which address are you telling the bootloader to jump to?

    6. Does this issue occur every time?

    Best,

    Alex

  • 1.We are using CAN protocol 

    2.This is a custom bootloader

    3.It is first copied from flash to RAM and it is run

    4. FLASH A is dedicated to Boot code

    FLASH E_F and FLASHG_H are application

    First time(while dumping using dumper),the code dumps into FLASH E_F and I'm trying to jump to FLASH G_H after bootloading 

    5.The issue occurs after jumping to FLASH G_H but it doesn't run.

    It continuously tries to reset and tries to jump to FLASH G_H(doesn't run though) but again resets

    This process is confirmed by using SCI,where I sent few data bytes,to confirm about the code flow.

    When I see reset cause register( RESC),  it shows watchdog reset(which we use after bootloading) and XRS status pin are high.

  • Hello,

    A watchdog reset triggers a full CPU reset, so the device will go back through boot ROM and into your bootloader again.

    First time(while dumping using dumper),the code dumps into FLASH E_F

    What address is your bootloader configured to branch to? FLASHE_F or FLASHG_H?

    Can you try disabling watchdog?

    Best,

    Alex

  • The bootloader is configured to branch to FLASHG_H.

    I tried to branch to FLASHG_H without resetting(any type of reset is not triggered), but it doesn't branch even though I manually give the address of FLASHG_H.

    As I previously said, I used SCI,

    It continuously tries to reset and tries to jump to FLASH G_H(doesn't run though) but again resets.

    The output was not altered.

    Thanks In Advance.

  • Hello,

    Are you servicing the watchdog interrupt in your bootloader and application code? You may need to disable it in your bootloader and then reenable in your application.

    Best,

    Alex

  • Hi,

    In bootloader, there is enabling of watchdog such that it should return to bootloader main after watchdog reset and jump to application code and run the application code.

    So, enabling of watchdog reset in bootloader is required for us.

    Thanks

  • Hello,

    First time(while dumping using dumper),the code dumps into FLASH E_F

    Are you flashing your code to FLASHE_F or FLASHG_H? Can you provide your linker file?

    What is the period for the watchdog reset?

    FLASH G_H(doesn't run though)

    How are you sure that it isn't running? Does the program counter go to FLASHG_H before resetting? Can you step through the code?

    Best,

    Alex