|
|
Device profile: Automation Network X-change
2003-10-27
The Automation Network X-change (AN-X) family of embedded Linux based devices from Quest Technical Solutions connects PCs to automation networks for remote monitoring and control. Its PC interface supports several protocols that run over a standard Ethernet transport, while various versions of the device are available to support a variety of industrial networks.
![]() Quest's AN-X Quest lists the following typical applications for AN-X:
Quest says it plans to add support for the network types that include:
![]() The SBC inside Quest's AN-X AN-X consists of two parts:
The AN-X contains 8MB of NOR flash containing boot code and two Linux kernels. One of the kernels mounts the JFFS2 file system contained in the 64MB NAND flash and is used by the device under normal operation. The other is an initrd image that mounts an NFS partition, providing a standard OS image with all the tools needed to upgrade or manage the JFFS2 Linux image. Linux development was done on a desktop machine running SuSE 8.0 and GCC with an IDT MIPS cross-compiler and libraries. Other interesting open source software packages deployed in the AN-X include boa, a small-footprint web server; busybox, a single small binary providing many standard command line utilities; and, JFFS2 file system over MTD with NAND flash support. Quest started their project using IDT Linux, available for IDT's development boards, and then ported that environment to its own hardware, which is based on the IDT MIPS processor. Why Linux? Jim Stewart, Embedded Sytems Designer with Quest Technical Solutions, provides some background before explaining why he chose Linux for the AN-X. "I have been developing embedded software for some 15+ years now. I have designed 8-bit processor systems with the standard interrupt driven, main loop design. I have designed roll-your-own RTOS's, and used various commercial RTOS's (VxWorks, Nucleus, QNX, MicroC, etc). So, I have some perception on embedded firmware OS's, their upside and downside. "Most important to myself -- and, I imagine, most embedded system developers -- is making the damn thing work. In the end, I have the responsibility for the product and therefore require as much control as possible. That is the most important governing factor in deciding to use Linux. I get the source code and thus have the control I need. Of course, other RTOS's provide source code, but it comes at an excessive price." Stewart summarizes his reasons for choosing Linux:
Asked if he was glad about the choice to use Linux, Stewart was clear. "Am I glad? Absolutely! I have worked on deeply embedded software for industrial products for a fair amount of time. I am used to the 'pain' of deeply embedded development. Linux was a dream in this respect." Stewart notes he was especially pleased with his two-kernel approach. "Our product contains two Linux kernels, as mentioned above. For development, one kernel (the configuration kernel) is compiled to mount an NFS root file system. The result is an embedded environment that is a transparent extension of the desktop Linux box. Beautiful! All this with out expensive, finicky hardware interfaces (hardware emulator, etc.). All done with standard ethernet and well known software packages." Stewart notes that his product requirements did present some unique challenges for an OS that is typically used for desktop and server applications. But, "Linux's quality, scalability and vast support community quickly addressed any issues we had. I must say, also, that the engineers at IDT provided great support for the MIPS processor and the Linux port. Although support for Linux from some hardware vendors can be a real bear, the boys/girls at IDT were great." Stewart not only predicts a bright future for embedded Linux, but says that to a degree, that future is already here. "I think at this point the writing is not just on the wall, but on the forehead of most every vendor, user and market-oid in the embedded OS industry. When Wind River changes their position 180 degrees, you know Linux has a powerful following in the embedded space." Stewart continues, "The 2.6 version of Linux looks great for the embedded world. From what I have read, lots of great stuff has made it from the embedded Linux community to the kernel tree (uClinux, numerous CPU ports, MTD, etc.). The changes to the scheduler are also very interesting to an embedded developer (preemption, POSIX real-time signals, etc. etc.). I think Linux has a huge future in the embedded world; it certainly does for us!" Related Stories:
|