I'm experienced with the (N)HET, but I'm starting a new project on a TMS570LS20216 and creating a new driver from scratch. I am able to load a small PWM output program to NHET RAM, configure the NHET registers, start the program running, and continue to modify the registers/RAM while running (pin toggles, simple duty cycle sweep). However I cannot seem to read any of the registers or NHET RAM contents - they always read back 0.
I have tried it with the NHET running/stopped, NHET parity enabled/disabled, program fields protected/not, suspend ignore enabled/disabled, changing GCR Master Priority field, lowering VCLK2, debugger attached/detached. I single step through the assembly and everything seems normal except always reading back 0. HTU, DMA, and R4 MPU are unconfigured/disabled as far as I know, and always running privileged mode. MIBSPI registers and RAM can be read just fine.
I'm very confused. Is there some other system level setting of the 570 I might be missing? Any other ideas?