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.

TMS320F28335: Documents of F28335 bootloader

Part Number: TMS320F28335
Other Parts Discussed in Thread: C2000WARE

Dear team:

Do we have any documents of F28335 bootloader which content below questions:

1, What is the calling process of the main function of bootloader?

2, How to jump from the end of bootloader function to main function of application function?

3, What are the differences between can BOOT and flash BOOT?

Best Regards

  • Hello

    You can see #1 and #2 through the flash kernels examples in C2000Ware under device support for F2833x.

    Flash kernel process is detailed in this doc: https://www.ti.com/lit/sprabv4 

    For #3, the CAN boot runs the CAN bootloader which accepts a HEX application and loads it to RAM. Flash boot isn't a bootloader, it will just boot the device and branch to specific memory address in flash.

    Best regards

    Chris

  • Hi Chris:

    Thank you for your reply, and I have two another questions:

    1, There is a code_start function in app, and I have defined a flash_start function. The functions of these two functions are the same, calling c_int00 and finally executing the main function. If I execute flash start instead of code start during the second boot, can I delete the code start in the app?

    2, After deleting code_start, I put the hex program of bootloader behind the hex program of APP to synthesize a hex file. After loading into chip through serial port, it is found that it can not run to main function normally. Then I used the method of secondary booting to compile the mot16 file (which was compiled in the same batch as this hex, that is, there was no code_ Start function)  of the application program burning into the DSP, found that it can run normally, why is this?

    Best Regards

  • Hello

    1. Yes, as long as you're calling c_int00, then you're fine.

    2. Not sure I follow. Make sure your flash_start or code_start equivalent is setup in the linker correctly to the entry address. If that isn't it, you'll have to provide some more detail.

    Best regards

    Chris

  • Dear Chris:

    I don't quite understand your second point. What other details do I need to provide?

    Best Regards

  • Green,

    Chris is on vacation, and will reply when he is back in the office Jan 4.

    Thanks,

    Sira

  • Hello

    I apologize for the delay.

    Have you checked the linker file that the code entry point (code_start) is assigned to the flash entry memory address? Also, is the entry symbol (typically code_start) set in the code composer project properties? 

    I don't understand the exact differences of the two methods where one is working and one isn't. If you can provide more detailed steps of what you're doing in each, that would be helpful.

    Best regards

    Chris