There are some general notes on using dma.h in the wiki:
http://wiki.leaflabs.com/index.php?title=DMA
Here is some information on using USART1 TX with DMA (untested):
If you're transferring to serial 1 TX, then the peripheral address is &USART1_BASE->DR, and the DMA channel is 4 (on DMA1). If you're just DMAing a byte buffer to USART, then the call to dma_setup_transfer() should probably look something like this:
dma_setup_transfer(DMA1, DMA_CH4,
&USART1_BASE->DR, DMA_SIZE_8BITS,
your_byte_buffer, DMA_SIZE_8BITS,
(DMA_FROM_MEM |
DMA_MINC_MODE |
<any other mode flags you want; see dma_mode_flags>));
For a one-off transfer, you'll want to tell the DMA controller how many bytes you want to send, like so:
dma_set_num_transfers(DMA1, DMA_CH4, <number of bytes in your_byte_buffer>);
If you want to automatically loop back to the beginning of the buffer and go again, give dma_setup_transfer() the DMA_CIRC_MODE flag.
In order to enable DMA transmission with TX, you'll need to set the DMAT bit in USART1_CR3:
USART1_BASE->CR3 |= USART_CR3_DMAT;
Let us know how you get along!