I/O Port & Board Architecture Diagrams

This week I started going through the sample codes and also the previous interns codes and tried to master them. It was hard at the beginning to understand the latest integrated project. However, once I studied the individual parts of the code separately it all started to make sense. In order for me to understand the project properly, I also need to understand it from the hardware point of view as well. Understanding the hardware meant knowing each and every Read more

First week at Aeste

This week, I started my internship with Aeste. The week did not start well for me as I was not able to cover all the pre-internship material that was assigned to me by Dr. Shawn. After being scolded by him on the first day, I had an even bigger task now, not only I had to work on my assignments but also try to show myself to him as well. Dr. Shawn, then gave me an introduction on Git and Read more

MPLAB-X Harmony Tempfile issue

We faced a problem when running MPLAB-X with Harmony framework in a multi-user environment. We didn’t have this problem before this as there was only one person working on the PIC32 code. But we’ve added a new member this week and an issue cropped up. It turned out that the problem was caused by a hard-coding of a temporary directory into the MPLAB-X startup script found in /usr/bin/mplab_ide eval launchexec \ –jdkhome ‘”$jdkhome”‘ \ –clusters ‘”$mplab_ide_clusters”‘ \ -J-Dnetbeans.importclass=org.netbeans.upgrade.AutoUpgrade \ –branding Read more

SDCard Working and Integration

By SD card working as stated in the title, I actually meant that it has only successfully established a connection to the SD card, and is far from being able to write to or read from the SD card. The connection is verified by sending a reset command to the SD card via SPI and reads for a valid response 0x01, this doesn’t make use of the SD card driver in the harmony configurator. If the pic32 reads the correct response Read more

Attempt at SDCard and DHCP.

This week I continued my attempt to establish a connection with the SD card. The first thing I did was to check the connection in the existing, and I found one of the pins was connected incorrectly, which is SDI2. The only option I found was to route it to pin 42, which is currently connected to location T3 of the FPGA. Also, pin RD10 acts as a switch which determines if a micro SD card has been physically connected, when Read more

Proceeding to SD card

After successfully integrating the FPGA code with ethernet and USB serial, I proceeded to create a test firmware to establish and verify a connection with a micro SD card. The first thing to note about this project is that the SD card is connected to the PIC32 through the FPGA, so the FPGA needs to be configured correctly before the SD card will work. I started by adapting the existing code from the FPGA project. The functions that I used Read more

Wildcard DNS

There is one piece of the puzzle that is needed to deploy our new product, that is a wildcard DNS. I had assumed that we would need to roll our own DNS server to achieve this but lo and behold, there are existing wildcard services e.g. XIP.IO that is used by RedHat for OpenShift! However, as we will need to run this over HTTPS, we would need to create a wildcard certificate and since we do not own the xip.io Read more

Successful integration of FPGA project

The FPGA project has been succesfully integrated into the current project containing the usbcdc and ethernet. Now the test firmware has working ethernet, usb serial port, and also successfully configures the FPGA. My attempt at integrating the FPGA project with the other two did not work initially, with the result being all the digital pins being pulled high instead of toggling as in a ring counter, even after making sure that the pins are all configured correctly. I therefore started to Read more

Integrating the Projects

This week I started by trying to modify the FPGA code so that it would transfer in chunks of data rather than all in one go. Turns out a lot of the codes are not needed so Dr Shawn rewrote everything into less than 10 lines, this time using the Static SPI driver instead of Dynamic. The code now transmits the bitstream byte by byte. Next I experimented with the usbcdc com port project in order to output a string Read more

FPGA now working

The FPGA is now configurable using the pic32mz. The cause of the problem was identified as being the clock to the FPGA not being set, and also the ucf file declared an unconnected pin, J13 as the clock pin. The problem was solved by enabling REFCLKOx in the Harmony Configurator, System Services->Clock->Use Clock System Seervice?->Clock Configurator Settings->Enable Reference Clock x, and then routing the pic32mz pin to the actual clock pin on the FPGA, and changing the declaration of the location Read more