I was always confused about how a processor starts from the very 'beginning' but this video cleared my concepts, thanks a lot. Now I know exactly how things start from the very beginning. Hard to find such clear explanation on the internet. Thanks..!
you all probably dont give a shit but does any of you know a way to log back into an instagram account?? I was dumb lost the login password. I would appreciate any tips you can offer me!
@Dariel Lian thanks so much for your reply. I found the site thru google and I'm trying it out now. Seems to take a while so I will get back to you later with my results.
the describe about boot from ram might be not correct . actually on stm32f103 boot from ram is same as boot from system memory. the bootloader senses the pin configuration than transfer excution to ram. but not alias ram to address 0
Hi Professor, At 7:43 , you say - "In the Boot mode, processor can reprogram the Flash memory or Perform the device firmware upgrade". Please can you help me understand : 1) Why reprogramming the Flash memory is done ? 2) Please can you make video on "How device firmware upgradation is done by BootROM(boot memory). Can you please point me some resources to read. Thanks 🙏
Hi I think I can help you with the first question, the bootloader that exists in system memory is a set of instructions that can do multiple things like reading the received program from the UART interface and upload it to the flash memory (that how programing uC done)
Arm provides 2 stack pointers (MSP and PSP) to able to seperate threads and supervisor mode. by default, MSP is used unless programmed otherwise. Depending on Boot0/1, the CPU will map regions of memory to the alias region, so the MSP address loaded is hardcoded to 0x00000000
yes , the main function of the bootloader would be called first and do what it needs to do and then it calls the main function of the user app and never returns. that it.. but you do not name them both main lol you can name user app main function anything you want
I am using STM32F103c8t6 MCU with IAR IDE and when testing the startup code, the MSP and PC registers are initialized from addresses 0x08000000 and 0x08000004 respectively without any aliasing from address 0x00000000! Kindly note that the .intvec value in IAR is set to 0x08000000 value. So, is there any problem with that?
Nice explanation, prof. Hawking!
I was always confused about how a processor starts from the very 'beginning' but this video cleared my concepts, thanks a lot. Now I know exactly how things start from the very beginning. Hard to find such clear explanation on the internet. Thanks..!
Glad it helped!
Indeed the best Tutorial on ARM Cortex-M Processor booting mechanism!
That's really useful! I looked pages of Reference Manual and still don't understand memory mapping to 0x0000 0000, this video explained it very well.
Excellent explanation as always by Prof Yifeng, Thank you very much for your time and efforts.
you all probably dont give a shit but does any of you know a way to log back into an instagram account??
I was dumb lost the login password. I would appreciate any tips you can offer me!
@Reed Eddie instablaster :)
@Dariel Lian thanks so much for your reply. I found the site thru google and I'm trying it out now.
Seems to take a while so I will get back to you later with my results.
@Dariel Lian it did the trick and I actually got access to my account again. I'm so happy:D
Thanks so much you saved my account!
@Reed Eddie You are welcome :)
Great one. Loved the way the whole process is presented. Thank you very much, professor :)
Awesome, a video that doesn't assume the viewer the viewer is a scriptkiddy
Explained booting concepts in detail.
Very well explained sir. Thanks for the info!
Best explanation, thank you 👍
Detailed explanation and getting same concept from book is hard compare to urs. :) Thanks :)
Excellent lecture and explanation 👍.
Glad you liked it!
Clear and Simple. Very helpful
Thank you
I've been looking for this
very precise. great job sir!
best video ever 10/10
受教了,朋友,加油,你最棒
nice description, very much helpful (100/100).
very good lecture! Clear and Simple!
How are SP and PC set when the boot is from SRAM? SRAM will have some random values on reset
This is such a great explanation .
thank you sir
You are most welcome
the describe about boot from ram might be not correct .
actually on stm32f103 boot from ram is same as boot from system memory. the bootloader senses the pin configuration than transfer excution to ram.
but not alias ram to address 0
Awesome! Thanks!
great, will u please share power point slides for this demonstration?
Thank you for this video .its very helpful
Thanks for video! Is it possible to say that boot mode is arranged for flash memory as default?
thank you
감사합니다.
아니에요.
brillant !!
Hi Professor,
At 7:43 , you say - "In the Boot mode, processor can reprogram the Flash memory or Perform the device firmware upgrade".
Please can you help me understand :
1) Why reprogramming the Flash memory is done ?
2) Please can you make video on "How device firmware upgradation is done by BootROM(boot memory). Can you please point me some resources to read.
Thanks 🙏
Hi I think I can help you with the first question, the bootloader that exists in system memory is a set of instructions that can do multiple things like reading the received program from the UART interface and upload it to the flash memory (that how programing uC done)
great video.
Could you please provide kindle version of your book, because It's very inconvenient to purchase your paper book in China.
Great!
Good explanation
you are the best : 你最棒 . Is this correct in Chinese ? :D
谢谢!你也很棒!
This is the real hacking. thank you
What is Main Stack Pointer (MSP) ?, does MSP point to memory location of boot because video at 6:57 state Physical map Ox08000000 to Ox00000000.
Arm provides 2 stack pointers (MSP and PSP) to able to seperate threads and supervisor mode. by default, MSP is used unless programmed otherwise.
Depending on Boot0/1, the CPU will map regions of memory to the alias region, so the MSP address loaded is hardcoded to 0x00000000
MSP is the address of the Stack I think
Good job! Thanks for sharing.
Hi
This info is very useful ,but I have a question that when system clock is initialized and explain me those steps sir
I do not understand your question. Are you asking when or how?
This is how im gonna turn old xboxes into linux gaming pc's.
Sir, what exactly happens inside Reset_Handler?
Take a look at your startup_xxx.s. The implementation of reset_handler is defined there.
Can we design in such a way that stm32f100 handle 2 or more main() function ? If no .. then how to design bootloader for this ?
yes , the main function of the bootloader would be called first and do what it needs to do and then it calls the main function of the user app and never returns. that it.. but you do not name them both main lol you can name user app main function anything you want
Hi, are these contents coverd in the book ?
Almost all of them are covered in the book.
I am using STM32F103c8t6 MCU with IAR IDE and when testing the startup code, the MSP and PC registers are initialized from addresses 0x08000000 and 0x08000004 respectively without any aliasing from address 0x00000000! Kindly note that the .intvec value in IAR is set to 0x08000000 value. So, is there any problem with that?
100hun!
pdf reader
Good job! Thanks for sharing.