This week I managed to finished my raspberry pi’s remoteproc driver. At first I thought my custom gpio bus was flawless, but after linking it with the remoteproc driver, and some harsh testings, it turned out to be buggy. Data sent by the remote processor (another Raspberry pi running a simple processor read write emulation program) are well copied but when I verify the host’s memory, the data are scattered as in they are not being copied continuously. After some debugging, I found a very silly mistake that I made: I forgot to clear the address buffer after every read or write cycle! So, the address continued to add up after each read or write cycle which explains the scattered data. Just by clearing the address buffer after each cycle, I managed to get everything to work wonderfully!
After showing the result to my supervisor, he asked me to clean up my code and do a release. He also asked me to do doxygen style commenting so that my codes will be documented and easier to understand by someone else. So I spent the rest of the week cleaning my code and learning doxygen. Although doxygen might be a pain in the arse, but it should be practiced, especially by someone who wants to be a professional!