Linda
I took a look at your project and there are a number of problems:
1. There are some warnings that your new functions have no prototypes and so the compiler doesn't know what types are being passed as parameters. This doesn't mean that it won't work but there is a risk that there is false use of parameters or the caller and subroutine don't match. Please always use prototypes to avoid a possible problem due to this.
2. You are setting the DMA trigger enable in the DMA channel MUX. This is used for periodic triggering (special use) and is not used/needed for the type of transfer you are trying to do. I don't know what affect it has but I have never seen it set in this mode and so consider it wrong.
3. You have set up for DMA transfer due to UART 3 Tx source. The DMA channel has however been configured to transfer data "from" the UART3 RxD register to memory (that is, the wrong direction). Otherwise I think that the basic setup would Ok for a single byte transfer.
I understand that the code is probably testing a first step but there is still a lot of additional work to make good use of UART DMA operation, whereby you don't have any appliictaion interafce yet.
If your work is not for pure learing how to set up a few details you can already get complete UART DMA support in the uTasker project at KINETIS Project Code which will allow simultaneous Rx and Tx DMA operation on all K60 UARTs and a simple user interface as described in http://www.utasker.com/docs/uTasker/uTaskerUART.PDF (as well as integrated TCP/IP and USB stacks, FAT and most other Kinetis peripheral drivers). The uTasker simulator allows UART and DMA operation to be simulated in approx. real-time so debugging and study is must simpler than on the HW target.
Regards
Mark