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.

TMS320F28069: TMS320F28069

Part Number: TMS320F28069
Other Parts Discussed in Thread: C2000WARE

Iam currently working with requirement CAN flashable bootloader.I would like to know the flow of booting steps below

------------Un programmed device:

configuration of pins: GPIO34 = 1 and GPIO37 = 1 and TRST = 0


1)Once power is ON By default, get_mode will select the mode Boot to FLASH. I will write OTP_KEY and OTP_BMODE values to select CAN Boot mode .Once power cycle, now mode is CAN boot mode.


2)I will copy flash kernel to RAM by using CAN boot mode

3)Using the flash kernel, i will flash application(ex:led blinking) program.Once flashing is done,my application(led blinking program) is started running.

4)Now i will give power cycle/reset and i have not changed the GPIO34 and GPIO37 configuration still. i.e..GPIO34 =1 and GPIO37 = 1. In this case again i will enter into CAN boot mode by get_mode by reading OTP_KEY and OTP_BMODE values.Application program(led blinking) will not be executed. Is this my understanding correct? If yes how to come out from CAN boot mode and start executing application program?

  • Hello

    Your understanding is correct. If the CAN bootloader receives the wrong key, then it will boot to flash and skip copying the project. If that isn't possible in your setup, then you're want to always boot to flash and put the CAN bootloader in flash. You can view the F2806x boot ROM source in C2000Ware.

    Best regards
    Chris
  • Hi Chris,

    Thanks for the reply.

    NOTE: keep in mind that I am speaking above concept with respect to unprogrammed device(fresh board)

    As per your statement, If the CAN bootloader receives the wrong key..... I understand that, each time power cycle/reset happens then the controller will be in CAN boot mode and I have to send always wrong key from CAN to Microcontroller then it will jump to flash. If this is the case, it is not feasible every time send wrong key after every power cycle/reset(assuming that there is no CAN communication at power off but still go into FLash(normal operation).

    How to put the CAN bootloader in flash?

    Do you have any detailed document or source code for CAN flashable bootloader?

    Thank you.

    Regards,
    Upender Reddy M
  • Hello

    We have a SCI flash kernel example in C2000Ware you can adapt to use CAN bootloader (this code is part of the ROM source).
    We plan to have a CAN flash kernel example completed and released in the next month or two.

    Best regards
    Chris
  • Hi Chris,

    Thanks for the reply.

    Could you please tell us what is the branch address for SCI_Boot and CAN_Boot by Get_Mode function?

    Do you have any piece of code which will branch to SCI_Boot or CAN_Boot from application?

    Thank you.

    Regards,

    Upender Reddy M

  • Hello

    Yes, there is a symbol library that can be included in your project to reference these. For some reason, this isn't in C2000Ware, it will be added in the next upcoming release.

    In meanwhile, you can just use the address to branch to and use the bootloader.
    CAN: 0x3ff4fc
    SCI: 0x3ff697

    Best regards
    Chris
  • Hello Chris,

    Could you please provide CAN flash kernel draft version for our testing purpose? we are waiting for this.

    Thank you.
  • Hello

    The CAN flash kernel will be in the C2000Ware release coming later this month. I appreciate your patience and understanding.
    It is very similar to the SCI flash kernel, so I encourage you to start there.

    Best regards
    Chris