Lecture 5: Memory Mapped I/O

Поділитися
Вставка
  • Опубліковано 24 гру 2024

КОМЕНТАРІ • 46

  • @EngMazen
    @EngMazen 7 років тому +15

    I had take courses and read tons of books , after long experince no one explain as you did

  • @MrKaviraj75
    @MrKaviraj75 7 років тому +77

    You have good quality slides but please use your own voice to explain instead of letting the computer reading a text

  • @OverlordNibble
    @OverlordNibble 7 років тому +29

    i watch this when I take my hourly bath

  • @fish1968-utf8
    @fish1968-utf8 2 роки тому

    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?)

  • @imcnx1563
    @imcnx1563 5 років тому +4

    Can someone explain me what’s the meaning of |=1UL

    • @Yocairo
      @Yocairo 5 років тому +3

      | is OR and = is assignment operator. UL just tells the compiler that the 1 is to be interpreted as a uint32_t (UNSIGNED LONG).

  • @Baloon_edits
    @Baloon_edits 3 роки тому

    Great video.. Will u please share presentation slides..

  • @waseemsajjad6620
    @waseemsajjad6620 5 років тому +3

    which TTS voice you use???
    Its nice.

  • @ze2411
    @ze2411 3 роки тому

    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?

    • @ze2411
      @ze2411 3 роки тому

      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.

    • @amoldhamale3202
      @amoldhamale3202 2 роки тому

      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

  • @josephzhang1797
    @josephzhang1797 4 роки тому

    i know it may sound strange, at 4:59, can I write *((uint32_t *) 0x48000017 |= 1UL>>17?

  • @hassinayaz7310
    @hassinayaz7310 7 років тому +13

    no one ever explained this good ... thank you very much

  • @saravanank6909
    @saravanank6909 2 роки тому

    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 :)

  • @edinetgrunhed6000
    @edinetgrunhed6000 3 роки тому

    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

    • @embeddedsystemswitharmcort9051
      @embeddedsystemswitharmcort9051  3 роки тому +1

      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.

    • @edinetgrunhed6000
      @edinetgrunhed6000 3 роки тому

      @@embeddedsystemswitharmcort9051 ok, thanks

  • @AA7Productionz
    @AA7Productionz 3 роки тому

    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)

    • @scotthinton4610
      @scotthinton4610 11 місяців тому

      GPIOA == GPIO_TypeDef*, it's just an alias to the pointer to the MMIO address.

  • @ydtsai
    @ydtsai 6 років тому

    Very good video, informative, I really learned a lot. Just curious which tool you used to create such great video ?

  • @JGunlimited
    @JGunlimited 6 років тому +11

    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...

  • @maggieobrien8182
    @maggieobrien8182 2 роки тому

    Very good and funny videos bring a great sense of entertainment!

  • @mehdi52783
    @mehdi52783 8 років тому

    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 ??

    • @embeddedsystemswitharmcort9051
      @embeddedsystemswitharmcort9051  8 років тому

      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.

    • @mehdi52783
      @mehdi52783 8 років тому

      understood, thanks.

    • @coderhex1675
      @coderhex1675 5 років тому

      @@embeddedsystemswitharmcort9051 good point!

  • @davidmcgill1000
    @davidmcgill1000 5 років тому +1

    3:30 Animation out of order.

  • @xuefeizhang196
    @xuefeizhang196 2 роки тому

    very clear demonstration video! thanks

  • @Brookieleeee
    @Brookieleeee 2 роки тому

    Thank you for the really good content.

  • @Mukesh-nx8tf
    @Mukesh-nx8tf 2 роки тому

    good explanation

  • @crptc5707
    @crptc5707 2 роки тому +1

    machine voice better than my professor

  • @tomhyhlik1788
    @tomhyhlik1788 4 роки тому +1

    thank you, it is very infrormative and very good quality

  • @pablom695
    @pablom695 3 роки тому

    really really good.. thanks so much

  • @quochuynh7020
    @quochuynh7020 3 роки тому

    Thank you, thank you and thank you.

  • @eis3nheim
    @eis3nheim 2 роки тому

    Beautiful.

  • @santoshsco
    @santoshsco 3 роки тому

    Great episode !!

  • @calvinmichael2737
    @calvinmichael2737 3 роки тому

    This is beautiful

  • @richardqqq176
    @richardqqq176 7 років тому

    very informative

  • @donghunpark379
    @donghunpark379 4 роки тому

    Best Ever.