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.

Question about F28069 CAN bootloader

Other Parts Discussed in Thread: CONTROLSUITE, TMS320F28069

Hi everybody,

Sorry for my bad english.
I'm working on TMS320F28069 revB with CCS and controlSuite.

For my project I would like to connect many TMS320 in one CAN BUS for communication and for updates.
I would like that all of the DSP have different CAN ID during the bootloader.
1. In documents, it's write that the MSGID is 0x1 but when I read the CAN_boot.c file, the ID seems to be changeable, Can I change the MSGID in CAN_Boot.c?
2. I read this document : Custom bootloader options via OTP Memory, and with the Errata description of TI, I think, it's a good solution. I download http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=spraaq3&fileType=zip&track=no
There is a link to a file f280x_otp2can_boot_rom but I don't understand how to integrate it to my CCS project, above all the f280x_boot_rom_lnk.cmd file.
3. To finish, in the same document, we have to init GPIO18, GPIO29 et GPIO34 to select OTP mode. But when I read the datasheet of my component it's write that just GPIO34 and GPIO37 have to be init.
Thanks in advance.
Best regards
Aurelien MILLE
  • Aurelien,
    The MSGID of 0x1 for the receive mailbox is assigned by the boot-ROM and hence cannot be changed. Of course, if you write your own CAN bootloader and program it in the OTP, you could assign any MSGID. The app.note you refer to was written for the 280x device and you are trying to adopt it for the 2806x device. What you could do is to make the desired changes to CAN_Boot.c and link it to run out of OTP. You could then boot to OTP.

    Regarding boot-mode select, note that "boot-to-OTP" option can be directly selected via GPIO pins on the 280x device. However, on the 28069, boot-to-OTP is done via the Get_mode option. Please refer to pages 205 & 206 of SPRUH18 for more information.
  • Hareesh,

    Thank you for your answers.

    In summary, if I have many DSP on my CAN BUS and I want to update all of them with different software, I have to write my CAN bootloader in the OTP in order to each of my DSP have different ID.

    I can use f280x_otp2can_boot_rom coded by TI which is here : http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=spraaq3&fileType=zip&track=no

    to implement my OTP bootloader. Like written in the app note, I have to integrate the *.cmd file (f280x_boot_rom_lnk.cmd, in my case) and the other file. For the *.cmd file, do I have to add it in the properties linker command file? Or it's enought to add the path where the command file is?


    Thank you very much.

    Aurélien

  • Aurelien,

     

    What you need to do is to create a new project. This project must include the ROM API symbols library included in ControlSuite (C:\TI\controlSUITE\libs\utilities\boot_rom\2806x\2806x_BootROMSymbols_v1_1\). This is because all bootloaders use some common (shared) functions. So, when the CAN bootloader calls these functions, they must be correctly referenced, since they will be residing in Boot-ROM. You are only going to relocate the CAN bootloader function to OTP. You then need to create a new linker command file such that the .text section of CAN_Boot.c is mapped to OTP. If you are new to the concept of linker command files, there are some good training material on the TI website.