I am trying to use the CRC32 feature in the DSU module to write a function to perform a CRC32 over a section of Flash (fuses are not configured to use EEPROM). I can get it to perform an operation but I always see the STATUSA.BERR bit set. The code for this function currently looks like this:

I'm guessing the clock generator is set correctly because I can perform other operations such NVM read/write. The PM DSU bus clocks are already set to 1 prior to entering this function, but I set them here just to be sure. Any ideas as to what could be causing the Bus Error?

For anyone interested, I got a reply from Atmel support. Its seems as though I should have read the documentation a little more carefully. The SAM D20 datasheet clearly states for the ADDR register "Initial word start address needed for memory operations" and LENGTH register "Length in words needed for memory operations." So based on this, changed two lines in my code to: