This could be the start of something big…
Welcome to the grand opening of the Web-exclusive supplement to the print Embedded in Electronic Design, my monthly magazine department devoted to embedded technology. We are dubbing this new Web-only department EiED Online.
For starters, it entails a weekly (more or less) column that will touch on all aspects of embedded design and development using an arbitrary and capricious schedule that only I know. Actually, I’ll probably decide on the main topic at the last minute, but that is what makes it fun. I’m also looking forward to hearing from you about your latest wish list, gripes, and the neat technology you are developing. Meantime, there are some hands-on topics I’ll cover because they are too lengthy for the print version of the department.
In a past life, I used to be Director of PC Labs at PC Magazine, where we developed a wide range of tests and did lots of hands-on testing. Take it from one who knows, compared to the embedded space, PC and PC peripheral testing is a snap. Ziff-Davis put a lot of money in PC Labs with some great results. While I don’t intend to repeat such an endeavor here, I do want to bring you one of its key aspects—hands-on testing. Luckily, I’ve been both a hardware and software developer in the past, so there’s not much I won’t try to tackle.
Unfortunately, I won’t be able to do those product roundups for which PC Labs was known. It took literally dozens of technicians and technology writers working together for weeks to tackle that challenge. Instead, I’ll be taking a look at representative samples and letting you know how these fit in the latest state of affairs.
The most recent EiED Online column will always be highlighted on the home page of www.elecdesign.com. So, please look for it to keep up with the latest and the greatest in embedded technology.
Enough huffing and puffing. Let’s get started!
EiED Online: Volume 1, Number 1
In my print Embedded in Electronic Design column, I’ve been examining some of the low cost, 8-bit embedded development kits. The advent of standard 32-bit, ARM-based processors has led to a host of low-cost kits that rival their 8- and 16-bit counterparts in price with a lot more processing power.
Starting To Zoom
One of the latest boxes to show up at my doorstep was Sharp’s Zoom Starter Development Kit created by Logic Products Development. This kit is based around Sharp’s LH7A400 BlueStreak microcontroller that has an ARM922T processor core. Its 16Kbyte cache and MMU (memory management unit) make it a good target for higher-end operating systems like Linux and Windows CE. In fact, the kit comes with board support packages for these and VxWorks. A trial version of the Windows CE 4.2 development toolkit is included.
I like Logic Products approach to this kit. It is based around the 200-MHz LH7A400-10 Card Engine (see Image 1). This small (2.37- by 2.67-inch) board plugs into a 144-pin SODIMM socket. The board can transition into a prototype or even a production environment, if the number of units does not warrant a custom board. The board adds 64 Mbytes of SDRAM and 64 Mbytes of flash memory in addition to the 80 kbytes of SRAM on-chip.
The Card Engine plugs into a motherboard. The motherboard includes peripheral connectors including a Compact Flash slot suitable for memory-only cards. It also has headers that provide access to all of the pins on the Card Engine making it easy to link to custom hardware.
The LH7A400 has the usual complement of digital interfaces including Ethernet, three serial ports, audio, USB 2.0, IrDA, SPI, and a handful of GPIO pins. The chip and board are designed for mobile devices where power consumption is critical.
The kit I tried came with the optional 3.5-inch LCD display with touch-screen support. This is just the size needed to replicate a small handheld screen. Displays up to 12.1-inches are available. A single, wide ribbon cable links the motherboard to the display, making it a snap—literally—to change from one to another (see Image 2).
Overall, the hardware provides a respectable platform for mobile and connected device development. It took only 15 minutes to get the hardware setup and running. The printed documentation for this was good. Unfortunately, the software side took a bit more time, but the results were worth it.
Now we get down to the nitty gritty—the software. This is what makes or breaks a development kit as the hardware tends to be solid.
There are two major software packages that come with this kit: Linux and Windows CE. The latter is a pair of CDs with a 120-day demo version of Microsoft’s tool suite. I’ll save the review on Microsoft’s tools until later since version 5 is nearing completion and this was version 4.2. Version 5 looks really slick so keep an eye out for that one. The VxWorks board support package is also available but that too will have to wait. Wind River’s new move to Eclipse-based, Wind River Workbench 2.0 is yet another project for me, since this kit requires a separate purchase for Wind River’s tools.
It took about three hours to get the demo application up and running on the board. A good deal of time was installing all the software and reading the online manuals. The printed material only covered the initial hardware setup and minimal software setup. The remaining documentation is in online PDF files. They were well-written, but you need to read them to figure out what is going on. There is no single setup application that handles everything.
The basic system uses command line GNU tools running on Cygwin, the open-source Linux-like environment for Windows. The same approach works equally well with a Linux host except there are fewer items to install. Application development is typically done in C or C++ although it is possible to slip back to assembler. The sample applications and board support package worked equally well under Cygwin and Linux. It will take a bit more effort before I can use the CDT (C development tool) under Eclipse, but that is yet another story.
The saving grace for the kit is the LogicLoader bootloader/monitor. This works with flash, serial or Ethernet interfaces although the latter is primarily for downloading. The serial interface works with a terminal program, TereTerm, provided with the kit. Unfortunately, it is not possible to use Telnet with LogicLoader although FTP is an option. On the other hand, using Linux, it is possible to run a telnet interface, or use the GDB debugger over the Internet for application development.
The sample application is a relatively simple communications program. It does not require an operating system. The LogicLoader is all that is needed to get it running. The documentation steps you through the process, and it was not difficult to expand on the application.
Although I will not comment extensively on Windows CE at this time, it was a relatively easy install. It required Web-based registration for a key to install the software. It took a couple hours to get things up and running. Sample applications came with the Windows CE CD. The LogicLoader bootloader/monitor has an option to support Windows CE downloads over the Ethernet connection that greatly speeds development. The loader was not difficult to work with and the GUI tools like Platform Builder are top notch. It took a couple hours to get all the software installed but creation of an application and OS image were relatively quick using the supplied templates. Overall I was very pleased with the Windows CE support and look forward to testing the system with the forthcoming version 5.0. Licensing for production versions requires a call to Microsoft, plus you need to pull out the checkbook—you get what you pay for when it comes to Windows-based apps.
Getting this far was fine for stand-alone applications. Running uClinux, eCos or Linux is a much more involved process. An application note shows how to build your own but is not something that a Linux novice should attempt. I was on the leading edge here, so I obtained a beta version from Sharp. It will be another month or two before a polished version is available, but the version I was able to test proved to be robust and very functional. It utilizes Trolltech’s Qt. Qt is a popular Linux graphical front end. Licensing fees start at $6, and development packs start at $3740. Development is also possible with free toolkits, and it was relatively easy to use the GNU tools to work up a sample application.
I would put Qt and Windows CE in the same boat when it comes to LCD-based applications. They will get you up and running quickly if you are looking to develop a handheld device that will incorporate other applets or applications that change over time. Both are fine for a dedicated interface, but it may warrant investigation of other graphical support if final product cost is an issue.
The current incarnation of Linux requires a card in the Compact Flash socket. This memory is used for application storage. In the future, it will be possible to use the on-board flash, although it is very handy to be able to upgrade the memory by simply plugging in a larger Compact Flash card. Using the Compact Flash card turned out to be very handy, because it was quicker to pop it into a laptop for programming. It looks like a Linux disk. It was simply a matter of copying new files to the card, plugging it into the board and turning on the power. The kernel image is actually stored on-board, and the boot loader allows moving a copy from the Compact Flash card to the on-board flash.
Trolltech’s Qt is not the only graphical alternative, but if you want to get started quickly like I wanted to, then it makes a lot of sense. It supported the LCD touch screen, and it is great for developing a handheld device. I was able to bypass Qt for some Web-based applications that did not require a graphical interface on the device.
Kit prices start at $349. They are available for a range of Sharp’s ARM-based microcontrollers. The boards have JTAG support, but this requires additional third party hardware and software. For most application development, the kit contains all the necessary hardware and software to get started. For long-term development, additional time or money must be invested. Third-party products like Metrowerks Code Warrior are worth investigating. Likewise, I would probably try to get Eclipse debugging support more integrated with the CardEngine when working with Linux, or turn to one of the Eclipse-based Linux development tools from companies like Monta Vista and TimeSys. Well, if you go this far you have a pretty good idea of what the kit will do.
As I noted earlier, this is one type of review I’ll be including in this column. I’ll probably get up on my soapbox in a few weeks, but for now here’s a preview of what’s coming up.
Logic Products Development