As noted, I am working with a TMS570LS1227. I am trying to implement a driver for DMA transfers. One of the options that I would like to implement is to stop the DMA transfer or check the status of the transfer. For example, if I were using DMA to buffer data received from a serial port terminal rather than using interrupts, I may want to periodically read data from the buffer and restart DMA transfer to the buffer. In this case, I would need to know how much data is transferred.
The information needed to do this is contained in the DMA working control packet for the channel being used. When I attempted to implement this feature, I noticed that the working control packets (at offset 0x800) always read zero. I also noticed one line somewhere in the technical manual that states: "The last three fields compose working control packet and are only readable by the CPU." Given the amount of detail provided for these registers in the manual and given that they are memory mapped, I am not exactly sure why they would be hidden from the application. It also severely restricts the capability of the DMA controller.
Could someone tell me if these registers are actually hidden and, if so, is there anything that can be done to view their contents?