Everything fine, then the SD Card stops working. For no apparent reason. Luckily because I have a 100% fpga system I can track everything that goes on using the Vivado debugger.
Here's a guide to debugging:
https://www.xilinx.com/support/documentation/sw_manuals/xilinx2019_2/ug936-vivado-tutorial-programming-debugging.pdf
Anyway - turns out the vivado tools had optimised my SD card interfaces away.... In this case you put Vivado on the naughty step and tell it to leave your code alone.
attribute dont_touch : string;
attribute dont_touch of sdCardDataOut : signal is "true";
attribute dont_touch of sdCardDataIn : signal is "true";
attribute dont_touch of sdAddress : signal is "true";
and we are back in business!
Sometimes you need to remember it's not the code but the tool!
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.