Flash Kernel - CAN Boot ROM

Part Number: TMS320F28P659DK-Q1
Other Parts Discussed in Thread: C2000WARE

Tool/software:

Hi

I want to use flash kernel for CAN bootloader(Boot ROM).

when I checked in SDK, I could see few examples in C2000Ware_5_04_00_00/driverlib/f28p65x/examples/c28x_dual/flash_kernel.
But i can't import it to CCS and do necessary changes.

How can i a user import it and do changes ?

  • Hello,

    Can you explain more what you mean by you "can't import" the example - does CCS throw errors if you do File >> Import Project(s) and navigate to can_flash_kernel_c28x_dual_c28x1? Can you comment on which version of CCS and C2000ware you are using as well?

    Best Regards,

    Delaney


  • Hi

    It is possible to import other projects into the workspace and work on them. However, when I tried to import the flash kernel for F28P65x, it did not import successfully.
    I have tried this in CCS v12.8.0 and CCS v20, but the issue persists.

    Could you please provide any flash_kernel example code for the F28P65x MCU?

    Also, after writing the new firmware to flash, where exactly does the boot mode change happen inside the flash kernel?(we need to change the boot mode again back to flash boot... CAN boot need only for upgradation).

    My application size is greater than 256 KB, so I need to use more than one flash bank.
    Will the flash kernel automatically handle programming across multiple flash banks if we configure it as shown below?

    uint32_t Application_Flash_Banks[5] = {0,1,2,3,4}; // took from flash_kernel_ex5_can_flash_kernel.c

  • Hello,

    This is what I see when I try to import into CCS 12.8.1 for that folder:

    Are you sure your flash_kernel/ folder in C2000ware didn't get corrupted? Also note that CCS can only import one project of a specific name, if you already have a project with a matching name existing in your workspace, you will need to rename it.

    I will loop in the bootloader expert to assist with your other questions.

    Best Regards,

    Delaney

  • Hello,

    Will the flash kernel automatically handle programming across multiple flash banks if we configure it as shown below?

    uint32_t Application_Flash_Banks[5] = {0,1,2,3,4}; // took from flash_kernel_ex5_can_flash_kernel.c

    Yes, configuring this variable in combination with setting the numBanksToErase parameter in the call to DCAN_Boot() will erase those flash banks at the start of programming and allow you to program across multiple flash banks.

    Best,

    Alex