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…

Week 1010

Frustrating… that basically sums up whole previous week. Having all minor modules ready I started building the main part which is shortly speaking quite elaborate state machine using those modules in correct order. This turned out to be quite arduous work itself as one needs to be very careful when to perform specific operations. In addition, I had to basically reinvent the whole algorithm because those I found are either for software (so purely sequential) or use different hardware setup Read more…

W06- It’s about Java

My task for last week was suppose to be continue on my undone pipeline implementation on Execute and also Memory Access stage . However, due to my weakness on writing codes, my supervisor advise me to re-practise on Java tutorial but this time another practice link is given (http://codingbat.com/java) . The tutorial inside this website is more challenging as you need to key in your own solution for each practice problem given. Answers for each problem is given for warm Read more…

12- Down the wrong path

Basically I was supposed to add a small part to the simulation test bench of AEMB processor so that it’ll print out whenever there is a read or write to an I/O device displaying the address and used value. My mistake is that I didn’t realize I was supposed to edit the Verilog test bench I thought I should edit the C test program and I was all over the place trying to figure out how to do that! My Read more…

Week 05 – Extremely Unfavorable Speeds & Minicom

Uploading Large Files Since small files can be uploaded, now it is time to test with uploading large file (350 KB). Firstly, I try to generate a random text file by using the dd command. It turns out that the file generated by it has a lot of weird characters, I can see Chinese characters, Japanese characters, Korean characters and a lot other unknown symbols. To be safe, I created another file by typing random characters from the keyboard and Read more…

Week2: GPIO Driver & C++ Tutorial

My task for the week was to write a GPIO driver that is compatible to Arduino using C++ language. Although I have learnt the basics ways of coding in C++, I was asked to go through a C++ tutorial again, which indeed helped me quite a lot when writing the GPIO driver. Basically, this task can be separated into two main parts. The first one was to implement 3 simple functions (setGPIO, getGPIO and cfgGPIO), where I had to use Read more…