Software Development and Support
Embedded software development is a multidimensional effort that you can address by leveraging open-source compiler tools and operating systems.
Simplify
Embedded-System Development with Open-Source Software
The design, integration, and deployment of embedded-system
software present many challenges related to the operating system, development
environment, middleware, compiler, and other software tools. Although you can
purchase commercial software products to meet many of your requirements, you
might find that open-source tools offer the optimum approach to some or all of
your embedded software needs. But be sure to evaluate the tradeoffs before
committing to a specific approach.
Commercial software generally comes with training and
support. On the other hand, with open-source software, you’ll assume more
development responsibility—but you can seek support from the open-source
development community. Taking a mixed approach, you choose a commercial
software package and employ open-source plug-ins or opt for versions of
open-source software maintained and supported by a commercial software vendor.
Several companies, for example, offer commercial versions of the open-source
Linux operating system.
You also want to make sure that the vendor of your target
processor supports open-source software. One such vendor is Texas Instruments,
which supports the mainline Linux kernel and the kernel.org community
organization. TI incorporates kernel.org’s most recent, stable kernels into the
software development kits (SDKs) that support its Arm-based embedded
processors.
TI provides new features and functionality as well as TI’s
bug fixes to the kernel.org community so that these improvements can be
incorporated into mainline Linux. In turn, TI fully evaluates, documents,
tests, and productizes SDKs utilizing mainline Linux kernels for its major processors.
Due to the constant evolution of open-source projects,
developers often face the dilemma of when to upgrade to a more recent Linux
kernel version. The benefits of new features, functionality, and bug fixes
incorporated in the new kernel must be weighed against the costs of migration,
which include unexpected effects that can require considerable time and effort
to overcome.
For example, discarding a patch during the migration process
may have ramifications throughout the software environment, and changes during
migration can make maintaining continuity in the codebase difficult—thereby
potentially compromising a software engineering team’s previous development
investment. TI looks to reduce the cost of migrations by allowing users to take
advantage of a new kernel version’s advantages. Its support ensures an
efficient development environment and avoids the disruption and distraction
that can accompany a migration to a new kernel, enabling orderly migration when
necessary.
Comments
Post a Comment