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.

Concerto M36 boot ROM API



In a few other threads within this forum it was stated that a Concerto M36 boot ROM API was being planned soon (back in 2012).  Has this ever happened?  I can't find any references to it.

I am in need of creating a way to serially (RS232) program the flash and am rewriting part of the boot ROM code as the GPIO pins used by the boot ROM for UART0 are not available in our design.  We are using all of the port A and port B GPIO pins as PWM functions, so UART0 cannot be mapped to PA0 and PA1 as required by the curent TI bootoader.  We have mapped UART0 to PQ2 and PQ3.  I am trying to identify which functions I can call that are a part of the boot ROM and which ones I need to rewrite.  TI has provided us with the M36 boot ROM source code. 

I am planning on using the boot from flash mode and programming the Z2 Flash start address into OTP at address 0x0068100C with my custom bootloader starting address OR I plan to use the boot from RAM mode and already have the custom bootloader loaded into RAM as part of the standard flash code.  With either approach I plan to use a flag in RAM to determine if a flash update is needed.

Which mode seems to be the better approach?  I have plenty of flash space, so I am thinking on allocating a sector (or a few sectors) for my custom bootloader.  With this approach, it may be easier to not call any functions in the existing boot ROM and just place all of the custom bootloader into flash. 

What sector must be used as part of the Zone 2 Flash Start Address at address 0x0068100C?  What is Zone 1 vs. Zone 2 in flash?  I don't see it described in the TRM.

  •  

    Nelson,

    Nelson Norris said:

    In a few other threads within this forum it was stated that a Concerto M36 boot ROM API was being planned soon (back in 2012).  Has this ever happened?  I can't find any references to it.

    I am in need of creating a way to serially (RS232) program the flash and am rewriting part of the boot ROM code as the GPIO pins used by the boot ROM for UART0 are not available in our design.  We are using all of the port A and port B GPIO pins as PWM functions, so UART0 cannot be mapped to PA0 and PA1 as required by the curent TI bootoader.  We have mapped UART0 to PQ2 and PQ3.  I am trying to identify which functions I can call that are a part of the boot ROM and which ones I need to rewrite.  TI has provided us with the M36 boot ROM source code. 

    we have added a boot-to-otp feature on this device as well to help with such use cases. In couple of weeks we will be starting on an example that uses alternate UART pins and do the boot load. You can use/modify this example and program it in user OTP and use boot-to-otp or program in Flash and use boot-to-flash to start the flash upgrade with an alternate UART pins.

    Nelson Norris said:

    I am planning on using the boot from flash mode and programming the Z2 Flash start address into OTP at address 0x0068100C with my custom bootloader starting address OR I plan to use the boot from RAM mode and already have the custom bootloader loaded into RAM as part of the standard flash code.  With either approach I plan to use a flag in RAM to determine if a flash update is needed.

    Which mode seems to be the better approach?  I have plenty of flash space, so I am thinking on allocating a sector (or a few sectors) for my custom bootloader.  With this approach, it may be easier to not call any functions in the existing boot ROM and just place all of the custom bootloader into flash. 

    I think boot-to-flash or boot-to-otp is better option. You can use boot-to-flash to a Z2 address, but remember that once you program OTP (0x68100C) to an alternate address boot ROM will allways boot to flash to this location. So boot-to-otp would be a better solution I believe.

    as per boot-to-RAM is concerned, it depends on how you would want to get the loader to RAM. Copy from flash again? if yes then may be run from flash/OTP is better option. But if you end up having more RAM to spare than more flash then may be its an option to look at. But otherwise may be not.

    Nelson Norris said:
    What sector must be used as part of the Zone 2 Flash Start Address at address 0x0068100C?  What is Zone 1 vs. Zone 2 in flash?  I don't see it described in the TRM.

    The CSM chapter of the TRM system control section should explain this. On Concerto some of the flash sectors are reserved to be Zone 1 or Zone 2 security zones but some sectors can be chosen. This model is helpful if you have multiple party developing software and one wouldn't want to share the sources with another.

    hope it helps.

     

    Best Regards

    Santosh

     

  • Thanks for the update.  The boot to OTP is precisely what I am looking for, so that I can modify the boot to Serial code to use alternate GPIO pins! 

    A few more questions.

    1. What boot mode # is used for boot to OTP? 

    2. What version of the bootloader code supports this new boot mode?  I currently have boot ROM version 1.1, dated 06/2012.

    3. What version of silicon has this new bootloader mode programmed into it?  We are currently using Revision A of the M36 parts.

    4. Is it possible for me to get the new source code for the new bootloader code that supports boot to OTP?

    5. If parts with this updated boot ROM code aren't available yet, when will they be available?

    Thanks!

     

  • Nelson,

    Nelson Norris said:

    1. What boot mode # is used for boot to OTP? 

    it is going to be boot mode 6. A datasheet spin is pending with the updated boot mode table.

    Nelson Norris said:

    2. What version of the bootloader code supports this new boot mode?  I currently have boot ROM version 1.1, dated 06/2012.

    3. What version of silicon has this new bootloader mode programmed into it?  We are currently using Revision A of the M36 parts.

    All the TMS version of the silicon is going to support this.

    Nelson Norris said:

    4. Is it possible for me to get the new source code for the new bootloader code that supports boot to OTP?

    as of now, the boot ROM sources for Concerto are being shared with customers who are under NDA. But we will release the sources of the example that can be put in OTP along with ROM API map for mass market use.

    Nelson Norris said:

    5. If parts with this updated boot ROM code aren't available yet, when will they be available?

    I guess M36x is going to TMS soon, AFAIK it is some time in August.

     

    Best Regards

    Santosh