Most of the decision seems pretty clear:
__MSP430_HAS_DMA_3__ : Old-style DMA, 16-bit, no DMAIV
__MSP430_HAS_DMAX_3__ : New-style DMA, 20-bit--capable, DMAIV
To see whether channel x of the DMAX_3 has 5-bit triggers, look for a
definition of DMAxTSEL4. It's probably safe to generalize from DMA0TSEL4.
Does that do what you need?
Peter
On Sat, Nov 20, 2010 at 8:02 PM, Eric Decker <[email protected]> wrote:
> Hi,
>
> I'm trying to figure out how to make sense of the different msp430 DMA
> engines and the way the TI headers (from mspgcc4, Peter Bigot) describe
> what
> is there.
>
> First, here is what I understand about the hardware:
>
> I believe the difference can be distilled down to the following:
>
> SA/DA address size: how many bits are supported in the DMA source and
> destination address registers, 16 or 20 bits.
>
> size of the trigger field: The trigger field defines what trigger the DMA
> engine uses to start a DMA cycle, can be 4 bits or 5 bits.
>
> DMA_IV: Does the DMA engine interrupt mechanism provide a DMA IV
> register.
>
> msp430f1611: 16 bit addresses, 4 bit trigger, no dmaiv.
> __MSP430_HAS_DMA_3__
>
> msp430f2618: 20 bit addresses, 4 bit trigger, dmaiv.
> __MSP430_HAS_MSP430X_CPU__, __MSP430_HAS_DMAX_3__
>
> msp430f5438: 20 bit addresses, 5 bit trigger, dmaiv.
> __MSP430_HAS_MSP430XV2__CPU__, __MSP430_HAS_DMAX_3__
>
>
>
> Does anyone know a definitive way to determine what kind of dma one has?
>
> I see using (MSP430X_CPU || MSP430XV2_CPU) to tell whether we have 16 or 20
> bit addresses. But that is really a CPU thing and not a DMA thing. I
> would think that this will also work for nodmaiv vs. dmaiv.
>
> Looks like HAS_DMAX_3 indicates 20 bit addresses and dmaiv.
>
> For 4 bit vs. 5 bit triggers, I can do something like looking for TSEL_31.
> If it exists then we have 5 bit otherwise 4 bit.
>
>
>
> If possible it would be nice if TI could define functional defines that
> describe what kind of DMA engine we have. ie.
>
> __MSP430_DMA_TRIGGER_5BIT__ and/or __MSP430_DMA_TRIGGER_4BIT__
> __MSP430_DMA_ADDR_20BIT__ and/or __MSP430_DMA_ADDR_16BIT__
> __MSP430_DMAIV__
>
>
> Is this something reasonable to push towards TI?
>
> thoughts?
>
> eric
>
>
>
> --
> Eric B. Decker
> Senior (over 50 :-) Researcher
>
>
> ------------------------------------------------------------------------------
> Beautiful is writing same markup. Internet Explorer 9 supports
> standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3.
> Spend less time writing and rewriting code and more time creating great
> experiences on the web. Be a part of the beta today
> http://p.sf.net/sfu/msIE9-sfdev2dev
> _______________________________________________
> Mspgcc-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mspgcc-users
>
>
------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3.
Spend less time writing and rewriting code and more time creating great
experiences on the web. Be a part of the beta today
http://p.sf.net/sfu/msIE9-sfdev2dev
_______________________________________________
Mspgcc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users