Introduction to Direct Memory Access (DMA)

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 ม.ค. 2025

ความคิดเห็น • 21

  • @Harko33
    @Harko33 3 ปีที่แล้ว +45

    Just discovered this channel. Awesome. You're a very good teacher, thank you.

  • @toms_lii2065
    @toms_lii2065 3 ปีที่แล้ว +29

    So underrated content. Thank you!

  • @thuantta
    @thuantta 3 ปีที่แล้ว +10

    Very cool overview about what DMA is! Easy to understand explanation

  • @johnw8154
    @johnw8154 3 ปีที่แล้ว +4

    this should be trending honestly

  • @wtfitsdrewbritton
    @wtfitsdrewbritton 3 ปีที่แล้ว +6

    Wish I found your videos sooner! Good stuff

  • @kyrilkaplan5011
    @kyrilkaplan5011 3 ปีที่แล้ว +4

    Excellent teaching : the what and the why...thanks !

  • @radioactivepeter
    @radioactivepeter 3 ปีที่แล้ว +5

    Excellent video, keep up the good work!

  • @린가드러버
    @린가드러버 3 ปีที่แล้ว +3

    Thank you... perfect explanation!!

  • @ayusssapkota327
    @ayusssapkota327 3 ปีที่แล้ว +16

    How're you writing like that?

  • @leprofeet9989
    @leprofeet9989 3 ปีที่แล้ว +2

    wowie this is useful thanks a lot

  • @goodwill7643
    @goodwill7643 3 ปีที่แล้ว

    So as I understand, these functions (DMA Channels) are fixed and connected to specific/predefined interfaces like timers, UART or SPI and can be configured only with corresponding interface in order to decries clock cycles for data transfer. In other words I can't choose any random interface on software level and say ok, now do data transfer for ADC for example (if there is no DMA Channel for it).
    I think I got it. Thank you.

    • @Intermation
      @Intermation  3 ปีที่แล้ว +1

      Depending on the hardware, you may or may not have the ability to transfer data between any device and memory. I've worked with a number of architectures where you just give the DMA a source address, a destination address, whether to increment, decrement, or leave static each of those addresses with each transfer, and the amount of data to transfer, and it handles the transfer.

    • @TNTsundar
      @TNTsundar 3 ปีที่แล้ว

      It depends entirely on the DMA engine’s design. You could have mere copiers to more sophisticated ones that understand a lot more context. If the DMA is based on a one-size-fits-all design principle then yes, you could transfer between any peripheral on your chip to any other peripheral or memory.

  • @朱玉婷CHUYUTINGQ3608
    @朱玉婷CHUYUTINGQ3608 3 ปีที่แล้ว +3

    Thanks!!

  • @subashsuresh8953
    @subashsuresh8953 3 ปีที่แล้ว

    But sir here we use the arrays that are a run-time storage right, here it's possible for that

  • @natrua100
    @natrua100 3 ปีที่แล้ว

    why DMA have number of channels? Do they help to increase the speed of transfer?

    • @Intermation
      @Intermation  3 ปีที่แล้ว +1

      As I've always understood it, a channel is assigned to a specific device. It can be rotated to another device, but only after completing its transfer for the first device.

  • @goncalosousa9691
    @goncalosousa9691 3 ปีที่แล้ว

    That means DMA interact with CPU?

  • @mrsteven1211
    @mrsteven1211 4 ปีที่แล้ว +1

    No entendí nada =/

    • @Intermation
      @Intermation  3 ปีที่แล้ว +4

      I'm guessing you understand a lot more than you think!

  • @blainegabriel8906
    @blainegabriel8906 4 ปีที่แล้ว +1

    I'm Alone 😍😥