DMAChannel is using a packed struct to access the DMA controller registers. GCC will often generate byte accesses for these, which will hang the CPU.
Fix:
https://github.com/PaulStoffregen/cores/pull/241
Fix:
https://github.com/PaulStoffregen/cores/pull/241