I am trying to convert a basic 533 Monitor/Loader utility to run on the 70x series. I'm in the process of converting the low level memory copy and fills which are used by my boot loader.
I now have a basic memory to memory copy working, using MDMA0, in byte mode (copes with all start offsets and lengths).
It appears to be working fine between various L1 memories, and can copy FROM L1_program to L1_data. However if I try copying TO L1_program from L1_data the operation appears to complete OK, but the values in the destination region of program memory remain unwritten. Its a very simple operation with direct writes to the DMA registers, no Interrupt, polling for completion on the destination channel. In the debugger the destination DSTAT register is showing 0x6000, implying completion with no errors.
Am I missing something here such as a new register setting to enable DMA to L1_program memory?
I have elsewhere successfully used the Extended data access mode for direct CPU read/writes to L1_program
(but this mode not enabled during the attempted DMA)
In the original 533 code I was using the byte mode DMA into L1_program as it is the only access method.