Monday, February 25, 2008

68HC000 Based Board

Wichit Sirichote have designed a board using 68HC000 and runs embedded Linux. It uses Atmel 29C040 1MB flash, HM62851 1M SRAM and Xilinx XC9536 for glue logic.


Sunday, February 17, 2008

First Couple of Weeks of CocoaRuby

or Ruby-Cocoa for that matter.

Cocoa is the default framework for writing applications for Mac OS X, and the default language for Mac OS X development is Objective-C. Ruby is the latest programming language that is taking the programming community by storm. On one hand, Objective-C offers the best performance for Mac applications. On the other hand, Ruby wins in terms of programming productivity hands down. Just look at the number of blog posts on Ruby-on-Rails.

The Cocoa-Ruby bridge offers programmers who are comfortable - not necessarily very fluent - in both Objective-C and Ruby the productivity gains of using Ruby for creating Mac applications. Yes, you do have to know the Cocoa API, too.

It turns out Cocoa-Ruby is preinstalled in the Xcode3 that comes Developer Tools for Leopard. The default Xcode2 in Tiger does not support Ruby. I had the impression a Leopard migration was necessary to do Ruby coding. Happily, I found out that I just had to download Xcode version 2.5 to perform Ruby coding under Tiger. I've downloaded and built a few Ruby Mac sample apps so far.

Now, to build my first "original" Ruby app...

Tuesday, February 12, 2008

Verbose Mac Startup


Verbose booting shows you the actual process of Mac OS X's startup. You'll see drivers get loaded and services launch. You can get it by holding Command - V at boot time, which brings up the familiar white on black console.

If you'd prefer to always see the system messages on boot, you can adjust the firmware from the Terminal with the nvram command.

To turn on Verbose booting, at the Terminal type the following:

sudo nvram boot-args="-v"

Disabling Verbose mode:

sudo nvram boot-args=

And to see the current firmware nvram settings:

nvram -p

More info on the boot process here:
and here:

More hints here: and here:

Sunday, February 3, 2008

Learning the ARM Processor

On the way back from Intel, Penang after conducting the second lecture in ARM processors.

The students presented their first assignment. All were successful in their attempt to make the LED blink on their ARM boards. To close the project, they are to upload to YouTube the steps taken in the assignment.

Five groups used the Olimex LPC2103 board sold by SparkFun of Hong Kong. One group used the LPC2149 board made in Thailand and sold by a company in Melaka. Four groups used the GNU toolchain and programmed their boards using USB-to-serial converters. These groups seems to have the least problems. Two groups used the Keil toolchain. No problems when presenting but they could not the same stack frame as the GNU toolchain. Two groups tried to used the JTAG port.

I covered ARM assembly language and stack frames. For the second assignment, they are to interface the ARM board with a passive circuit (LED, 7-seg display, pot, etc) and write the device driver in ARM assembler.

There was a Ruby Brigade meet on Friday but couldn't attend it. ;(