More useful (searchable) archives than SourceForge provides are listed at: http://www.mail-archive.com/[email protected]/info.html
The user's guide states that if you write to DMA0SA using a word instruction, the upper bits 19-16 will be cleared, so you should be fine as long as you aren't trying to DMA to/from addresses above 64KB. If you do want to do far pointer support before mspgcc supports it, you can use mov.a in asm statements; google or somebody else may be able to provide more information on how to do that. Several of the peripherals on the MSP430 do not accept 8-bit access. The most recent header update from TI removed the 8-bit sub-register definitions for TimerA and TimerD[sic] on a couple chips because byte access did not work. Reference the registers through the header-defined variables rather than assuming that knowing the address is all you need. Peter On Tue, Apr 12, 2011 at 8:18 AM, Eric Decker <[email protected]> wrote: > Hi, > > 1st before anything else... Is there a reasonable way to search the > mspgcc-users archive? > I've poked around a bit and doesn't seem to be. > > I'm playing with the dma engines on the msp430f2617. I've written a unified > driver that > handles all three main processor varients. (x1: msp430f1611, x2: > msp430f2617, and x5: > cc430f5137, msp430f5438). Am currently testing on the 2617. > > Currently using the old z1 varient of mspgcc 3.2.3 and am trying to figure > out how one > goes about messing with the 20 bit DMA0SA periphreg and its friends. > > On the 2617, the DMA registers are in the 0x1xx 16 bit i/o register space > which behaves > strangely. That is it seems that one must reference it with 16 bit > instructions (mov > vs. mov.b) and addresses have to be short aligned. > > I'm trying to figure out how to set the upper 4 bits. The registers are > laid out as a 32 bit > long word. When I reference the register as a ulong the code generated is > two 16 bit > mov's. The first writes the low order 16 (which clears the upper as it > should and as > documented). The second does nothing. These are normal mov's. > > I'm thinking that I need to use mov.a or mov.x. I tried messing a little > bit with > the assembler syntax in C but didn't get very far so am asking for help with > that. > > Any thoughts on the matter? > > I wanted to search the archive for mov.a but that yielded nonsense. > > -- > Eric B. Decker > Senior (over 50 :-) Researcher > > > > _______________________________________________ > tinyos-msp430 mailing list > [email protected] > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-msp430 > > ------------------------------------------------------------------------------ Forrester Wave Report - Recovery time is now measured in hours and minutes not days. Key insights are discussed in the 2010 Forrester Wave Report as part of an in-depth evaluation of disaster recovery service providers. Forrester found the best-in-class provider in terms of services and vision. Read this report now! http://p.sf.net/sfu/ibm-webcastpromo _______________________________________________ Mspgcc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mspgcc-users
