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

Week3: PIC18 Schematic (cont’d) and Using a Raspberry Pi for SPI Testing

Last time, we faced the challenge of designing the circuit and hardware interfaces of our Spartan-6/PIC18 board. This week, we return for more work on the schematics and shift focus to a different aspect of our project: writing the firmware for the PIC18. My colleague, Jia Xien, has been busy working on SD cards and establishing the TCP/IP stack on the PIC18, but I will be trying to configure the device as an SPI slave, so our projects are quite Read more

Week 04 – Modifying the HTTP Source Code

It turns out that the TCP/IP MDD Demo given by Microchip is not that useful. It mainly redefined all the functions to open webpages stored in SD cards instead. They did not modify the part where the original used to upload a file.But a file named “FileSystem.c” is particularly useful because it shows that which MPFS-related functions should be replaced with which FSIO-related functions. As a conclusion, I did not use the TCP/IP MDD Demo and put my focus back Read more

Week 01: Introduction->Tutorials (Git, Git Flow, C)

That’s RIGHT! I am the daring kid who asked for a medical leave on my first day of work! As an advice to all other interns or future-interns, never do what I have done! Despite of all the terrible things happening on my first day, I did carry on my internship and unbelievably, I have survived the first week. Basically, the first week was more about learning and understanding tools that will greatly assist me in implementing my tasks during Read more

11- Initializing Block RAMs using DATA2MEM

I’m still working on how to initialize Block RAMs using DATA2MEM software. I have managed to produce a bit file with initialized RAMs. What’s left is to write a linker script to suit our addressing space, write a C file to blink the LEDs using GPIOs and finally get this working on the board. In this post I will give a step by step guide regarding using DATA2MEM starting from the initial system design to the production of a BIT Read more

Week 1000

“Welcome to Galois Field F(2m) where elements are made up and carry doesn’t matter” If this sounds familiar you should probably turn off TV sometimes (or youtube).   Nothing much was happening this week, I mostly spent it struggling with understanding and at later stage designing the ECDSA module. Man, that was quite a lot of algebra… and fun. Because it’s not so popular topic (you know it when wikipedia starts to be insufficient) I had to dig through a Read more