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

Week 6: A presentation and a fake driver

I started my 6th week at Aeste by re-studying the beaglebone-6502 project done by matt porter of Texas Instruments. The reason my supervisor asked me to look back to this project was because it is simple and gives a good view of how remoteproc framework can be used. After studying this project, I was asked to do a small presentation of the remoteproc framework while using the beaglebone-6502 project as an example to my colleagues here so that everybody knows Read more