Other Parts Discussed in Thread: C2000WARE
What would be the correct way to call "Uint32 SCI_Boot(Uint32 BootMode)" from main, using its address, providing "BootMode=0x81" and make DSP booting in SCI mode?
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.
What would be the correct way to call "Uint32 SCI_Boot(Uint32 BootMode)" from main, using its address, providing "BootMode=0x81" and make DSP booting in SCI mode?
Hi Gabriela,
Please look at the following documentation:
1. https://training.ti.com/c2000-f2837xd-microcontroller-workshop?context=1137755-1139641-1137781
2. http://www.ti.com/lit/ug/spruhm8i/spruhm8i.pdf
I suggest reviewing the training material first which is brief as it relates to boot modes. The TRM provides a more complete explanation about boot modes in general.
Let us know if you have additional questions.
Cheers!
Krishna
Krishna,
While the training has some slides about the bootloader that I wished to have seen some time ago, because they are much more suggestive than TRM, neither the training nor the TRM answer to my question.
What I need, is a way to call SCI_Boot located in OTP from the main application but with different than default parameters. By default, SCI_Boot is called using BootMode=0x01, and I need to call that function using BootMode=0x81, without changing the OTP_BMODE and OTP_KEY.
Actually, I am able to do this as well, but after loading the BootROM symbols I found that the programs stops in "c1brom_itrap_isr". I am guessing that before calling SCI_Boot(0x81) need to set the DSP in a certain way.
So, can anyone tell me what exactly needs to be done before calling SCI_Boot located in ROM, from the main application in order to actually put the DSP int SCI Boot mode using the alternate pins.
Thanks,
Gab.
Hi Gabriela,
We need to discuss this with one of our domain experts and will get back to you in the next day or so. Regards, Krishna
Krishna,
Thanks a lot for your help and let me know what can be found. The idea is to be able to put the DSP in the SCI Bootloader mode, with a BMODE=0x81 (using GPIO28 and GPIO29), from the main application, using as much as possible the ROM functions and without writing the OTP (MODE and KEY).
Kind regards!
Hi Gabriela,
Have you looked at the BootROM source code in C2000Ware? If not, please have a look and it is available here: C:\ti\c2000\C2000Ware_2_00_00_03\libraries\boot_rom\f2837xd\revB\rom_sources\F2837x_bootROM\cpu01-bootROM\source
The above path applies if you installed C2000Ware in the default location and you will need to adjust accordingly if you installation is different. Take a look at SCI_Boot.c and specifically the implementation of the API you are looking at: Uint32 SCI_Boot(Uint32 BootMode)
Now with the Boot Mode set to 0x81 you will end up with the configuration that is provided by SCI_Pinmux_Option2(). Please have a look and let me know if all of this makes sense to you.
I do not fully understand what you are trying to accomplish, but I think you are trying to use the capability that I have described above. This will likely generates more questions...please keep them coming.
Cheers!
Krishna
Krishna,
Thanks for getting back to me!
Indeed, I looked through the BootROM code and this kind of made me to realize that there is not a really good way to do what I need (to use directly the BootROM functions to boot in BMODE=0x81). The workaround would be to create a similar bootloader, with the required options, and integrate it into your application.
One more question though, from the TRM & the training, I understand that using GPIO28 & 29 can be used only for CPU1, not for CPU2 bootloader. Is this true, even if you build your own custom bootloader?
Thanks!