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…

W05 — Pipeline Implementation in Java

As mentioned in my previous post, this week I will be working on source codes for the 5 classic stage of RISC (Reduced Instruction Set Computer) pipeline which includes fetch, decode, execute, memory access and writeback. But before I get my hand started on these, I was reminded by supervisor to generate documentation for my source code (basic processor class) so that outsider (or including I myself) could understand the code well int future by reading on the comments and then Read more…

Week 1001

Dear diary, This was my 9th week at Aeste and 2nd working on ECDSA. I am surprised but there actually is some progress in my current project. Field arithmetic part (most important) is almost done so starting from next week I can proceed to implement actual algorithm, which is not that hard after all, but requires operating on big, non-standard size variables. As I progress with my work, I start to experience a problem that I didn’t have to worry Read more…