ADAU1701: divide does not work when loaded from E2PROM

Hello,

one of our students has encountered a problem that we do not know how to solve. This problem appears on Eval-ADAU1701miniz 110110_1 RevA.

The following Sigma Studio code demonstrates the problem. The code compiles and works fine, as expected. However, after writing the code to E2PROM and restarting the board with SELFBOOT, it does not work (no sound at the output). We think that the problem comes from the Divide block. When we put the multiplication operator, everything works fine, even after writing to the E2PROM and restarting. We also tried to replace the source DC block with the AUX_ADC_3 but the same problem appears. As we have several Eval-ADAU1701 boards for educational purposes, we tested other boards as well with the same result.

In this demonstrative case, division can obviously be replaced by multiplication, but we need the division block in a more complex project.

(The link to download the code is here: https://umbox.univ-lemans.fr/index.php/s/GU6LJHwQE9ipyj8)

Thank you in advance for any help!

Antonin

  • 0
    •  Analog Employees 
    on Jun 1, 2021 10:08 PM

    Hello Antonin,

    I was able to verify this on my system. Very strange. I will report this to the programmers. Meanwhile you will have to use the multiply. It is much more efficient. The program with the divide block is using 67 instructions. With the multiply block it uses 19 instructions. 

    Thanks,

    Dave T