ASH1: Architecture

After summarizing USB Operations, time to kick off the ball for the match of ASH vs. IOP The general view of ASH1 processor is as the following: ASH1 is a stack-based processor, where the majoroty of the operations will be done on a stack, this participates in reducing the instructions Read more

ASH1: I/O Operations

Hi again. It’s been a long time since my last blog. So, let’s catch up with ASH1 updates, The plan now is to take into consideration USB operation first with the intention to include all other I/O operations afterwards (especially MAC Ethernet).. In order to get familiar with USB operations Read more

LLVM Scheduling

LLVM is a compiler project which start as a research at University of Illinois and now has grow to become a massive project and involve in both commercial and open source, as well as research. LLVM is licensed under “UIUC” BSD-Style license. Recently, the latest Apples also start using LLVM Read more

Z: More Than Distance

Programming is bridging the gap between what the code does not and what it should do once it’s complete. Yet there is the age-old adage that code is never complete. It only gets close and then you realize greater potential for improvement—which means you start over from that point on. Read more

LEGO, toys and office.

Today, looking at all those codes and documentation of LLVM, it really brings a child out of me. I don’t know why, I feel like I want to play with LEGO toys. When I read todays newspapers report about National Robotics Competition 2011, kids as early as what? 7 years Read more

Creatio ab toto- Creation from Something

I am coming towards the end of my internship, but without achieving any of my milestones. I am aware of that. I do not want to end my internship without achieving anything. As described in my previous post, I am porting a MicroBlaze Instruction Set Simulator to simulate AEMB processor’s Read more

Trivial Do/While Loop

A trivial do/while loop is an useful technique in C programming to make a multi-statement macro. Consider the following multi-statement C preprocessor macro and if-statement with two branches: #define aemb(x) { do_this(x); do_that(); } if (x > y) aemb(x); // Branch 1 else aemb(y); // Branch 2 Compiling these codes Read more

Introduction to uClinux

As mentioned in the previous post, I’ve decided to work on μClinux kernel porting as my project in AESTE. I will briefly introduce it in this post. μClinux (Micro-Controller Linux) is a linux kernel targeted for embedded devices without memory management unit. μClinux was first implemented in DragonBall integrated microprocessor, Motorola Read more