Week 4: SHA1 driver

This week, I was given a task to write a driver for the Secure Hash Algorithm 1 (SHA-1), which ultimately produces a 160-bit of hash value. It wasn’t as simple as I thought it would be as it’s quite different from the drivers that I wrote earlier. Apart from understanding how’s the communications between the driver and the accelerator,  I also had to learn how to utilise inline-assembly in  C/C++ codes, which has taken up quite a lot of my Read more

Week 8: Remoteproc + Raspberry Pi

This week, the nature of my main task changed a little. From developing the remoteproc driver for X86 architecture I’m now required to do it for the raspberry pi which uses an ARM processor. This is because the main product of our company is not completely ready, and my supervisor wanted me to test my findings on something solid to really prove that the remoteproc framework is 100% usable. The compilation technique also changed because of this. Now I have Read more

W07- (cont) Pipeline Implementation in Java (Execute Stage)

After putting my current project on halt for a week time, finally I’m back to track to work on my T3ras project. This week I focus mainly on the execute stage in pipeline to execute and manipulate each of the MicroBlaze instruction sets into semantics operation written in Java. Since there are around 90+ instruction sets that need to be taken care of and thus it’s easier to get them sorted out by family first before start writing the source Read more

13- AEMB cooperates !

The above blinking LEDs are not regular blinking LEDs. These LEDs are connected to the output of a GPIO. That GPIO is controlled by the AEMB2 microprocessor and the AEMB2 microprocessor is fetching it’s instructions from a 16K block RAM that has been loaded with data using the DATA2MEM software. It has took me way longer that acceptable to finish this simple prototype. In this post I’ll explain the error that I stumbled upon and my steps to debug the Read more

Week 1011

Finally! After another week I managed to force the module to work (correctly!). I had a really hard time debugging it, since you can’t simply expect to find a mistake by looking at seemingly random combinations of 163bits. I was forced to run again and again through the whole code and “simulate” it’s behaviour on a sheet of paper, but eventually it paid off. There were of course a lot of stupid mistakes as well, like typical programming one to Read more

Week 06 – Speeding Up The Read Speed, Recreate MBR to Reserve 1 MB of Space, Raw Reading & Writing

First Modification (29 June 2013) Three text files are created with size of 35 KB, 175KB and 350 KB. The files were created by simply duplicating the whole 35 KB text file five times and 10 times respectively. By using the Timer1 module created last week, the read time for all three files using the original FSfread function are recorded. There are 2.2 s, 7.389 s and 24.123 s, as mentioned last week.  The reading speed are 15.909 KBps, 23.684 Read more

Week 3: MSPI Driver

There goes another week. Task for this week is quite similar to last week’s, I was asked to write a MSPI driver. Before I started, I had no idea what it is and what does it do, so I was waiting for my supervisor to fill me up with all the necessary information to carry out my task. However, I was asked to look up the information by myself instead. I was a little taken aback when I heard that, Read more

Week5: Ethernet Controller (Cont’d) and Spartan-6 Schematics

Previously, the PIC18 was programmed to emulate 3 separate slave SPI devices – an ADC, a Flash memory and an Ethernet controller! The final task proved to be a notable challenge, and remained only partially implemented by the end of the week. This episode: there will be a double dosage of Ethernet as we attempt to establish the Data Link layer of the PIC18 and take another look at the physical Ethernet connector on our circuit board! A month ago Read more

Week4: Emulating ADC, Flash Memory and Ethernet Controller with the PIC18

Week Four! How time flies, it’s been nearly a month since I first stepped into the office of Aeste. Continuing from our previous work of setting up a basic SPI bus between a Raspberry Pi (RPi) master and a PIC18 slave, we go on to write a function for the A/D converter and emulate an SPI Flash with the program memory of the PIC18. Since I finished these tasks slightly earlier than expected, we then tackle a third (bonus level!) Read more

Week 7: First stage of remoteproc driver done

Alright, I’m now on my 7th week at Aeste. Things been going pretty fast ey? Yeah it sure  does! This week I managed to finish my dummy remoteproc driver. It was a big relieve for me because my stress level was going up rapidly when the driver didn’t work after numerous debugs! Like always, I’ll write here one of my most stupid mistakes that I did so that me, you, and everyone else on this planet won’t do the same Read more