This short video explains what is memory mapped I/O. Visit the book website for more information: web.eece.maine.edu/~zhu/book
Пікірлер: 45
@MrKaviraj757 жыл бұрын
You have good quality slides but please use your own voice to explain instead of letting the computer reading a text
@EngMazen7 жыл бұрын
I had take courses and read tons of books , after long experince no one explain as you did
@hassinayaz73107 жыл бұрын
no one ever explained this good ... thank you very much
@yabincheng4171 Жыл бұрын
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?)
@ydtsai6 жыл бұрын
Very good video, informative, I really learned a lot. Just curious which tool you used to create such great video ?
@Brookieleeee Жыл бұрын
Thank you for the really good content.
@OverlordNibble7 жыл бұрын
i watch this when I take my hourly bath
@lameitout5 жыл бұрын
i watch this when I eat my daily supper
@devonwilliams57853 жыл бұрын
Pinky
@devonwilliams57853 жыл бұрын
Pinky will be in touch with you tomorrow
@hpsmash772 жыл бұрын
your pfp
@santoshsco3 жыл бұрын
Great episode !!
@xuefeizhang1962 жыл бұрын
very clear demonstration video! thanks
@maggieobrien81822 жыл бұрын
Very good and funny videos bring a great sense of entertainment!
@quochuynh70203 жыл бұрын
Thank you, thank you and thank you.
@Baloon_edits3 жыл бұрын
Great video.. Will u please share presentation slides..
@pablom6953 жыл бұрын
really really good.. thanks so much
@AA7Productionz3 жыл бұрын
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)
@scotthinton46105 ай бұрын
GPIOA == GPIO_TypeDef*, it's just an alias to the pointer to the MMIO address.
@saravanank6909 Жыл бұрын
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 :)
@eis3nheim2 жыл бұрын
Beautiful.
@richardqqq1767 жыл бұрын
very informative
@calvinmichael27372 жыл бұрын
This is beautiful
@tomhyhlik17884 жыл бұрын
thank you, it is very infrormative and very good quality
@embeddedsystemswitharmcort90514 жыл бұрын
You are welcome!
@waseemsajjad66205 жыл бұрын
which TTS voice you use??? Its nice.
@Mukesh-nx8tf2 жыл бұрын
good explanation
@imcnx15634 жыл бұрын
Can someone explain me what’s the meaning of |=1UL
@Yocairo4 жыл бұрын
| is OR and = is assignment operator. UL just tells the compiler that the 1 is to be interpreted as a uint32_t (UNSIGNED LONG).
@edinetgrunhed60003 жыл бұрын
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
@embeddedsystemswitharmcort90513 жыл бұрын
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.
@edinetgrunhed60003 жыл бұрын
@@embeddedsystemswitharmcort9051 ok, thanks
@josephzhang17973 жыл бұрын
i know it may sound strange, at 4:59, can I write *((uint32_t *) 0x48000017 |= 1UL>>17?
@embeddedsystemswitharmcort90513 жыл бұрын
Yes, it should work!
@donghunpark3794 жыл бұрын
Best Ever.
@ze24112 жыл бұрын
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?
@ze24112 жыл бұрын
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.
@amoldhamale32022 жыл бұрын
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
@JGunlimited6 жыл бұрын
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...
@mehdi527837 жыл бұрын
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 ??
@embeddedsystemswitharmcort90517 жыл бұрын
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.