Seeking to bring the benefits of open-source software (OSS) to the ARM community, the Linaro organization pools the talents of its member companies to address common, ARM-specific challenges in OSS.
The organization recently issued its 12.09 release with enhanced feature sets on Android and Ubuntu Linux.
Open-source software offers many potential benefits for developers and chip vendors alike. Developers get access to customizable, yet well-exercised software that can give their efforts a significant head start. Vendors can create chip support packages and other software enhancements for their devices, and then send them upstream in the open-source community to save on future support efforts.
Gaining these benefits requires willing participation in and support for the open-source philosophy (including the surrender of some IP rights), but the benefits can easily outweigh the potential expense.
To foster the utility of OSS in the ARM community, ARM and several of its member companies jointly created in 2010 a not-for-profit company -- Linaro -- that seeks to consolidate and optimize OSS specifically for the ARM architecture. The efforts focus on the GCC tool chain, the Linux kernel, ARM power management, graphics, and multimedia interfaces.
Taking from the open-source distributions coming out of parent organizations, Linaro works on aspects more closely tied to the ARM architecture. Results go to member companies in the form of supported kernels and builds, and back to the OSS parent organization in terms of enhancements and bug fixes.
The idea is to embrace the benefits of open-source and contribute back to the community while spreading the cost of doing so among the Linaro membership. The approach not only avoids duplicate efforts among ARM licensees, it helps avoid the seemingly inevitable fragmentation (and resulting maintenance nightmare) that arises when individual companies create device-specific variations that cannot effectively be returned to the OSS community for handling. The intended result is a common tool and software foundation that can help speed ARM-based development.
While much of the current effort focuses on higher-end ARM processors such as the Cortex-A, the MCU community stands to inherit the benefits. At first glance, Linux doesn't seem like a viable choice for MCUs. It is possible to implement Linux, though, even on an 8-bit device (albeit slowly).
With each generation of process technology, the cost of RAM as well as high-end functions like memory management drop, making them increasingly likely to become available in low-cost MCUs.