The Beagleboard.org and Hawkboard.org are neat little board based on Texas Instruments' (TI) multicore OMAP processors. The Hawkboard (Fig. 1) contains a 300 MHz TI OMAP-L138 that is based on a different ARM/TI combination, an ARM ARM9 and a C647x DSP core Hawkboard (Fig. 2). It is priced under $100. The Beagleboard (Fig. 3) contains a 600 MHz TI OMAP-3530. The OMAP-3530 combines ARM's popular Cortext-A8 with TI's C64x+ DSP core.
I've had a chance tow work with the Beagleboard for awhile. One round included the Dev Kits Round 3: TI’s DLP Pico Kit And The Beagle Board article. I have also hooked it up to iRobot's Create robot I reviewed in the past (see "Commanding The iRobot Create"). It seemed only fair to give the Hawkboard the same opportunity. This exercise is actually rather trivial since the connection is via the serial port.
The Hawkboard (Fig. 4) can run using less than 0.5W and comes with 128 Mbytes of DDR2 SDRAM and 128 Mbytes for NAND flash plus an SD/MMC slot. The board has a VGA output versus the Beagleboard's HDMI/DVI output. The Hawkboard also has a digital video encoder, a SATA port, 100BaseT Ethernet and USB OTG support.
Like the Beagleboard, the Hawkboard runs U-Boot and Linux. It can also run a range of other operating systems including Windows CE and Android (Linux on steroids). The U-Boot interface is accessible via the USB serial port. The system can be programmed using JTAG but most software developers will likely use U-Boot to setup Linux and then work from there as I did.
First let me warn those who have not done embedded development before that the Hawkboard out of the box is not a friendly system for novices. There are a number of images that can be downloaded and installed but the process takes some patience and reading. Development can proceed rapidly once a platform like Linux is in place but getting there can take an afternoon.
In general, using something like an Android image from CoreDruids is a much better bet for testing the system than trying to start from scratch. The documentation on the Hawkboard site starts from U-Boot and works up to building your own Linux image using a cross compilation process. This is not too hard if you have done it before on other platforms and the documentation is very clear about the various steps. There are just a lot of them. I won't repeat them hear because the documentation does a much better job.
There are a number of training videos about the Hawkboard on U-Tube and other sites. Most can be found easily via the main Hawkboard site. Look for Hawktawks. It is worth checking some out before getting too involved with the board.
Part of the challenge is that you are really working with two dissimilar platforms, an ARM core and a DSP core. The ARM core is where most will do the bulk of their work using a package system on the DSP. A sample is provided on the Hawkboard website. It is a good idea to have JTAG support if you plan on developing and debugging the DSP side. I didn't take that plunge this time.
I can give the Hawkboard a good thumbs up but mostly from a hardware perspective. The design is solid and there is a lot of software out there. Unfortunately, getting things up and running and moving on from there is a challenge. Don't let that deter you if you plan on doing some heavy duty software development. Once the cross development tools are in place the process is relatively easy for creating an application or OS image and using it on the Hawkboard. Getting to that point and being comfortable with it can take a couple days. I suspect that there are some preconfigured systems out there that I didn't find that might make this whole process easier.
I did find the Beagleboard support to be more comprehensive than the Hawkboard but it has a pretty good lead in terms of time. The Hawkboard is an excellent, low power, high performance platform. The key will be to take advantage of the DSP side. At this point it will be a challenge.