This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

what is the difference between nordic easy DMA and ST MCU DMA?

what is the difference between nordic easy DMA and ST MCU DMA? my custmer user ST MCU DMA ,but they dont understand their  difference .   

  • Hi,

    If in a nutshell, then:
    1. The ST module is more difficult to configure, but gives more information about the operations performed. Nordic module is easier to configure, but gives less information about the exchange being made.
    2. The ST module is an independent peripheral unit. The Nordic module is part of a specific periphery(SPI,  TWI, UART, ADC, etc.), which does not allow separate use.
    3. The ST module has a larger number of operating modes (memory-memory, cyclic, can read data from flash). The Nordic module can only work with RAM (read / write) and peripheral registers.

    A little more details:

    About Nordic EasyDMA

    it's very simple module, which can perform only the simplest tasks: move the specified amount of data from one memory cell to another cell. In this case, the cell can be either a peripheral register or just a piece of RAM memory.

    At the same time, the simple DMA module cannot tell how much specific data it has moved; for this, other methods have to be used. This is the cost of ease of use.

    Also, if I understand correctly, then a easyDMA is not centralized, but is an addition to each peripheral unit (SPI,  TWI, UART, ADC, etc.).

    About STM MCU DMA

    It's different here. This is a separate centralized module that has its own clocking. It is more complex both in setup and in principle. At the same time, it gives more information about transactions: how much data was transferred, there were transmission errors. In addition, cyclic operation can be used.

    An additional multiplexer has appeared in the new controllers, which extends the capabilities of the module.
    The payment for such flexibility is the increased complexity of module configuration. Also, the module in st, once stops the operation of the kernel at the time of transaction, as it takes the bus AHB.

    BUT, Nordics has a wonderful PPI module, which ST does not have (silabs has something similar and, if I'm not mistaken, NXP). When using PPI, easyDMA loses most of its shortcomings described here.

    Good luck

  • ok,get it, but now I used ST DMA function mabye use PPI to replace only?

  • I don’t quite understand what you want. Can you describe in more detail?

Related