cleaer explanation and an brief virtual example. I want to know how "hardware" read the IO value. or is that memory mapped to register automatically then seamlessly could control IO? (like lighting on or off and LED?)
0xFFFFFFFF means "4,294,967,295" in decimal which is 4 Giga bits (4Gbs) which is equivalent to 0.5GBs (0.5 Giga Bytes). If you mean each address refers to 4 bytes of memory then total memory should be 16 GBs. Which is it?
Hi Sir, How are you!!.. The below is my doubt, kindly clear my doubts. How do i find RAM end address sir? There is is 2 SRAM in my MCU(STM32F407 disc1 board), starting address is 0x20000000 as per user manual and my SRAM 1 size is 112KB and SRAM 2 size is 16KB. As per the memory mapping end address of SRAM 1 is 0x2001BFFF, but if we add 0x20000000 with `112 KB am getting the address 0x2001C000, SRAM1 end address is 0x2001BFFF. 0x2001C000 is starting address of SRAM2. Kindly help me for find out SRAM1 end address. Thanks in advance Sir :)
sir, please clarify me while in the Memory map showing the width is "one Byte (8bits) but when you elaborate the GPIO A registers its shows 4Bytes..can you explained pls.im confused
If a variable x is declared as uint32_t, x will take four bytes in the memory. The IDR and ODR register are declared with "uint32_t" in the GPIO struct.
Hi,can you explain how you are dereferencing while using macros at 6:19 . Im not able to understand how GPIO->ODR does the dereferencing (i have understanding of struct pointer)
Please use your voice. Don't care what kind of accent you have (you could even include subtitles if you feel it would help). Because a computer reading makes the content sound so dull...
For example, the GPIO output data register has 32 bits, controlling the output of all pins of that port. If you do not use the bitwise operations, you will cannot change the output of a pin without influencing the output of the other pins in this port.
I had take courses and read tons of books , after long experince no one explain as you did
You have good quality slides but please use your own voice to explain instead of letting the computer reading a text
i watch this when I take my hourly bath
i watch this when I eat my daily supper
Pinky
Pinky will be in touch with you tomorrow
your pfp
cleaer explanation and an brief virtual example. I want to know how "hardware" read the IO value. or is that memory mapped to register automatically then seamlessly could control IO? (like lighting on or off and LED?)
Can someone explain me what’s the meaning of |=1UL
| is OR and = is assignment operator. UL just tells the compiler that the 1 is to be interpreted as a uint32_t (UNSIGNED LONG).
Great video.. Will u please share presentation slides..
which TTS voice you use???
Its nice.
0xFFFFFFFF means "4,294,967,295" in decimal which is 4 Giga bits (4Gbs) which is equivalent to 0.5GBs (0.5 Giga Bytes).
If you mean each address refers to 4 bytes of memory then total memory should be 16 GBs. Which is it?
I just saw that each address points to one byte in the lower part of the screen in the block diagram. So 4GB makes sense.
That's a wrong statement. 0xFFFF_FFFF is 4 GB (bytes) not bits. 4 Gb would be address space 0 - 0x1FFF_FFFF which in other words is 512 MB
i know it may sound strange, at 4:59, can I write *((uint32_t *) 0x48000017 |= 1UL>>17?
Yes, it should work!
no one ever explained this good ... thank you very much
Hi Sir, How are you!!..
The below is my doubt, kindly clear my doubts.
How do i find RAM end address sir?
There is is 2 SRAM in my MCU(STM32F407 disc1 board), starting address is 0x20000000 as per user manual and my SRAM 1 size is 112KB and SRAM 2 size is 16KB. As per the memory mapping end address of SRAM 1 is 0x2001BFFF, but if we add 0x20000000 with `112 KB am getting the address 0x2001C000, SRAM1 end address is 0x2001BFFF. 0x2001C000 is starting address of SRAM2.
Kindly help me for find out SRAM1 end address.
Thanks in advance Sir :)
sir, please clarify me while in the Memory map showing the width is "one Byte (8bits) but when you elaborate the GPIO A registers its shows 4Bytes..can you explained pls.im confused
If a variable x is declared as uint32_t, x will take four bytes in the memory. The IDR and ODR register are declared with "uint32_t" in the GPIO struct.
@@embeddedsystemswitharmcort9051 ok, thanks
Hi,can you explain how you are dereferencing while using macros at 6:19 . Im not able to understand how GPIO->ODR does the dereferencing (i have understanding of struct pointer)
GPIOA == GPIO_TypeDef*, it's just an alias to the pointer to the MMIO address.
Very good video, informative, I really learned a lot. Just curious which tool you used to create such great video ?
Please use your voice. Don't care what kind of accent you have (you could even include subtitles if you feel it would help). Because a computer reading makes the content sound so dull...
Very good and funny videos bring a great sense of entertainment!
hi, why don't we assign the value we want, directly to the 32-bit i/o port A data register without using a bitwise operator ??
For example, the GPIO output data register has 32 bits, controlling the output of all pins of that port. If you do not use the bitwise operations, you will cannot change the output of a pin without influencing the output of the other pins in this port.
understood, thanks.
@@embeddedsystemswitharmcort9051 good point!
3:30 Animation out of order.
very clear demonstration video! thanks
Thank you for the really good content.
good explanation
machine voice better than my professor
how dare you😂
thank you, it is very infrormative and very good quality
You are welcome!
really really good.. thanks so much
Thank you, thank you and thank you.
Beautiful.
Great episode !!
This is beautiful
very informative
Best Ever.