This week marks the mid point of my internship. This week I managed to implement the basic structure of the C++ Driver with structs and functions prototypes being defined in a header file, the functionalities in C source code, and finally all put together via a wrapper class using a HPP header file. Moreover I’ve rewritten the GPIO and MSPI drivers following this file organization. This exercise has thought me a lot about good formatting when write code as well as understanding OOP in C++ better. ¬†Initially I didn’t use a wrapper class and was just maintaining two pieces of code (C and C++) until I reread Dr. Shawn’s slides on Integrating Devices and realized that not only structs but functions too could be inherited into a C++ class from C.

Looking forward into next week, I intend to start the week by implementing the MRAA API for the GPIO and MSPI drivers and then going through each Verilog code to create the write template in the it’s respective driver files to instantiate the correct parameters for the Hardware.