HI TI Team,
What is the boot process of MSP430FR6989 and where to study that.
Thanks in advance,
Regards,
A. Ajith Kumar
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.
HI TI Team,
What is the boot process of MSP430FR6989 and where to study that.
Thanks in advance,
Regards,
A. Ajith Kumar
Hi Ajith,
There are quite a few things to look at for our boot process.
For information on how the device gets started after a reset, see section 1.2.1 of the device family user guide. Information on the boot code and boot loader can be found in sections 1.10 and 1.11 of this document as well.
For information on the device family's BSL, see the MSP430 FRAM Devices Bootloader (BSL) User's Guide.
You may also want to see this application report - MSP430FRBoot – Main Memory Bootloader and Over-the-Air Updates for MSP430.
If you are interested in the crypto bootloader you should take a look at the Crypto-Bootloader (CryptoBSL) for MSP430FR59xx and MSP430FR69xx MCUs user guide.
There is a lot to read here; if you have specific questions feel free to post again. I hope this helps
Hi Dylan OBrien,
Thanks for your response.
I have an one doubt. While connecting a JTAG probe to the microcontroller how was the program code was erasing and through which peripheral code was dumping on to the microcontroller.
Is there already a piece of code(Is that code was Boot code?) present in the microcontroller to receive the main code dumping on that location.
please clarify me.
Thanks and regards,
A. Ajith Kumar
Ajith,
I am not 100% clear on your question, but I think it would be helpful to note that when a device is shipped to you / when it leaves the factory, there is no application code programmed to the device. All MSP430 devices do support JTAG programming.
You might find the information in the MSP430 Programming with JTAG Interface User Guide helpful for your question.
I hope this helps, let me know if you need me to add clarification to this.
Hi Dylan OBrien,
I have learn about the boot process. I have understand something but I have still confusion about this. I will tell below what I understand ,Please correct me if I am wrong.
1. After the microcontroller startup (or) reset.
2. The boot code will execute from the flash.(which was predefined by the manufacturer)
3. This boot code will contains the peripherals initializes and load the bootloader. The bootloader will check for nRST pin low for update the main program. If its low. The bootloader will erase the previous memory and load the main program into the microcontroller.
4.The main application program consists of startup program which will initialize all the peripherals, clock, interrupts and Programmable Built in Self Test (PBIST)Module will test all the peripherals working currectly or not.
5.After that main function will execute which user defined.
Questions:
1.Is the Above process I have mentioned was correct or change in any order.
2.Is the Boot code can be modified by user. Is it possible and how?
3.PBIST Module will persent in boot code or startup code?
4.Difference between boot code and startup code?
5. Is the same process is also for microprocessors? Please mentions the differences.
6. What is the role of assembly language in boot code?
Thanks and regards,
A. Ajith Kumar
At reset the CPU loads its program counter from the reset vector and begins execution at that location. Which will be in your code. There is no boot code.
Hi Ajith,
I understand your question better now.
1) The process you described is not correct. When the device is reset it loads its program counter with the value in the reset vector, which is defined by user code. The value in the reset vector will be the boot code. This is all defined in user code as well. When you create a project to program to your device, our SDK has default values for all of this, so the user generally won't have to touch this. But it is not pre-programmed to the device. This process is described a bit in the device family user's guide. I recommend that you look at section 1.2, section 1.10, and figure 1-5 in this document.
2) Yes you can write custom boot code and program it to the device. This process is described in section 1 of the family users guide I linked above. More information on this is also linked above. Also, here is a link to Creating a Custom Flash-Based Bootloader (BSL).
3) I am not familiar with a PBIST module in our devices.
The last 3 questions are beyond the scope of the forum as they do not specifically address our microcontrollers of their usage. For full explanations of these I ask that you find other resources.
4) In what context are these being used? Boot code is code that is executed when starting the device up. One might refer to the entire startup sequence as startup code. Boot code would just be a little more clear as to the specific part of your device's start up.
5) Microprocessors do not have built in memory. The MSP is not a microprocessor it is a microcontroller. Generally, all computers are going to follow the same flow of reset->boot code->run application code.
6) Boot code is written in C, converted to assembly language, then machine code.
**Attention** This is a public forum