Cross Compiler

Seems that the instructions to build the GCC cross-compiler that were previously on our wiki were lost when we turned it off. So, just to keep things documented, here are the instructions that successfully compile binutils, newlib and gcc for our platform. Setup some environment variables and un-tar the archives. $ export TARGET=microblaze $ export PREFIX=$HOME/mb $ export PATH=$PREFIX/bin:$PATH $ mkdir $HOME/buildbin/ $HOME/buildgcc/ $ tar -C $HOME -zxf binutils.tar.gz $ tar -C $HOME -zxf newlib.tar.gz $ tar -C $HOME -zxf Read more…

9- HDMI half done!

The above picture WAS NOT made by photoshop! Yesterday night my HDMI design displayed not only a red screen but a green and color patterned screen as well! In this post I will describe the structure of my HDMI transmitter, the outcome of my testing and finally the features that it’s lacking. Here is the list of modules that bring this device to life: 1- Encoder: This module is the heart of the HDMI. It receives video data, Audio/Auxiliary data Read more…

Week 0111

After a week of struggling RC4 seems to be ready and operating, here are some results: The key sent by a master (here it’s simply “Key” wrapped many times, creative isn’t it?) Then the message that needs to be encrypted (here “Plaintext”, yet again cunning) And finally the result ! Of course it’s hard to tell whether it’s true by simply looking at the cyphertext so here is the proof. It does match! Now, a few technical details: Generation of Read more…

W03-Object File Format + Basic processor class

There are 2 part of my tasks for the week. The first task is to searching of available Java library that able to read object file format that is either Elf, S-Record or Intel-Hex. This step is very crucial for my entire project. If I couldn’t find any of these library on web, the worst case is I have to translate binary raw file format as the input before passing it to the processor.  Frankly speaking, I have never come Read more…

Week 4: Setting up the test bench continued

It is almost unbelievable that it has been a month since I joined Aeste. This week has been my least productive week so far because I’d been trying to resolve non-important but work-hindering problems. During week 3, I managed to compile the remoteproc framework independently and the last thing that I needed to do is to just insert the module into any working kernel. Firstly, I tried to insert into a debian distribution. Unfortunately the debian’s kernel is quite old Read more…

Taylor’s Engineering Fair 2013

I was invited to be an external judge at the Taylor’s Engineering Fair 2013 last week. I was assigned judging for their Capstone Project Prize, which is essentially a culmination of all the student’s knowledge. While most of the teams were quite okay, I was disappointed with several teams who exhibited little cooperation and teamwork. I got particularly cheesed when a group member took a phone call while the others were presenting their group work. I was also particularly hard Read more…

Week 02 – microSD Card, SDHC Card, microSDHC Card & a Bold Hypothesis

I continued working on the task with the SD cards. I first tested out the read and write example code in Microchip’s manual on Implementing File I/O Functions Using Microchip’s Memory Disk Drive File System Library (AN1045). The code can be found on page 10 on the manual. The files that I included in the MPLAB project are FSconfig.h, FSIO.h, HardwareProfile.h, salloc.h, SD-SPI.h, Makefile, 18f97j60_g.lkr, FSIO.c, salloc.c, SD-SPI.c and also writeReadDemo.c which is the example code that I gotten from the Microchip’s Read more…

Week1: Spartan-6 Configuration Interfaces

Another week, another intern. I started on 28 June and was told by my supervisor that I’ll be working mainly with Jia Xien in contributing to the hardware and firmware aspects of Aeste’s current project. After going through the basic tutorials on Git and C, I dove right into my task of the week: researching and weighing configuration interfaces for an FPGA. If you’re feeling an onset of TL;DR-itis, feel free to skip to the last paragraph.

(more…)

Week 3: Setting up Linux kernel Test Bench

My task for this week is to compile the remoteproc framework, and setup its test bench. After analyzing the framework’s source code, I figured that it cannot be compiled as a modulable framework/driver. This means that I’ll have to compile the whole kernel in order to test the framework. To compile a kernel, I’ll just have to go into the root of a kernel source file, and then run make menuconfig (requires the ncurses library) and select the components that Read more…

Week 0110

Time flies when you’re having fun. Sixth week has come to an end which means I am officially halfway with my internship. As for the SHA1 let pictures speak for themselves. And as a proof the results from wikipedia I also started working on RC4 stream cipher algorithm. It seems pretty easy but I should be careful with such statements after the last time… For now the only issue is how to efficiently manage memory. Encryption of one byte takes Read more…