Development
Insights

Embedded
Ecosystem

Product
Briefs

LinuxLink 5.0 Preview:
Call for Alpha Feature Testers

The long-awaited release of LinuxLink 5.0 is coming, and with it, a whole new series of workflow optimization features that take simplifying embedded Linux development to a whole new level.

While we’re still a bit far out to start full public testing, there are some features approaching alpha stage that may be very interesting to the right group of developers. Starting in a few weeks, we’ll open an alpha release of our new Hardware Selection Engine (HSE) to a handful of interested parties. What does the HSE do? Is this something you can’t live without?  Click here to find out more »

Best Practices for Pain-Free Embedded Linux Development from a Linux Virtual Machine

As a true best practice, developing embedded Linux systems using a Linux workstation is the best option. However, many embedded developers utilize Windows hosts, and/or often, corporate IT departments don’t allow Linux workstations as a matter of corporate policy. In these situations, the solution is to use a virtual machine on your host, and to install an appropriate Linux environment there to enable efficient embedded Linux development. When it comes to creating a virtual machine, Timesys recommends using Oracle’s freely available, open source VirtualBox environment, although other solutions also work. Over the years, we’ve assembled some tips to ensure that you’re setting up your VirtualBox environment in the best way, so as to minimize issues during development.

VirtualBox Tips

  • If building in a virtual environment, and you will have a mix of 32-bit and 64-bit developers, your guest OS should be 32-bit. Unfortunately, 64-bit compiled toolchains are not compatible with 32-bit machines.
  • 64-bit machines can use the toolchain generated from a 32-bit build host, provided the necessary 32-bit compatibility packages and libraries are installed on the host using the toolchain.

Now that you’re ready to install VirtualBox, the following will answer many of the common questions you’ll have.

  1. For maximum usability and compatibility, Timesys recommends using current Ubuntu LTS and Debian releases as guest operating systems within VirtualBox. Guest images can be downloaded at:
     
    Ubuntuhttps://www.ubuntu.com/download/desktop. (NOTE: We recommend downloading XX.04 LTS releases as .10 releases aren’t long-term and can cause some compatibility issues.
    Debianhttps://www.debian.org/CD/http-ftp/ or, for a quicker download and to help conserve bandwidth, visit https://www.debian.org/CD/torrent-cd/ (NOTE: BitTorrent client required for download.)
     
    While other Linux based distros can certainly be used, Ubuntu / Debian is the most widely used in development and is generally the best supported. Because there are more frequent updates to Debian Testing, using Debian Stable is recommended for long-term development.
  2. If you have a multi-core processor, enable more than a single core for the VirtualBox. This will help to expedite the builds. Two or more is recommended.
  3. Dedicate as much RAM as you are able to, sometimes build errors can result when there’s not enough RAM available for linking. 4 GB would be recommended.
  4. When defining the hard drive size, dynamically expanding is useful, but make sure you allocate enough. 20GB is a good starting point, taking all of the necessary sources into consideration. If you’re running Factory builds which contain X11 or Qt5, they can take up quite a bit of space once built. If you find you need to expand the guest OS space, you can resize your virtual machine’s partition using GParted.
  5. Configure a shared directory within the guest OS to a directory on the host OS, and make sure it’s enabled to “automount.” This makes moving files a bit easier between the host OS and the guest OS.
  6. Add an empty USB filter, so that USB devices plugged into the host are recognized by the guest OS in the VirtualBox. As TTY-USB adapters are increasingly more common, this will allow the Linux guest OS to see the adapter for us during target communication. If you will have multiple USB devices providing similar functions, it may be necessary to create specific USB filters, so they are enumerated correctly.
  7. If your host machine has a physical COM / Serial port, be sure to enable this, if you will be using it for target communications.
  8. Be sure to also enable the network adapters present on your host, so the guest OS in VirtualBox is able to obtain internet access. A second network adapter can be used to provide NFS / TFTP functionality during development and debugging.
  9. Under the “Advanced” tab of the General section in VirtualBox configuration, where the guest OS description and version are shown, having the “Bidirectional” clip board is useful for copying and pasting between guest and host.

Additional help documentation is available from Timesys, including links to downloads for both VirtualBox and Ubuntu Desktop.

For access to our step-by-step doc titled, “How To Use LinuxLink on Windows using VirtualBox,” login to LinuxLink or register for a free account.
 


Medical Device Team Engages with Timesys for Kernel Port, Upgrade and Yocto BSP Layer

For one development team, updating their existing embedded Linux-based product would involve more than a kernel upgrade. That’s why they engaged with Timesys Professional Services.

Background

The development team was faced with the task of updating a medical device they had delivered to market a few years ago. The existing device utilized a custom board with a Freescale i.MX 6 series processor, and it was running a version 3.0 based LTIB BSP / Linux kernel. As part of the product update, the medical device development team wanted to modernize the kernel and port from the 3.0 kernel LTIB BSP to a 3.10 kernel Yocto BSP with an upgraded version of U-Boot. Moving from the 3.0 kernel to a 3.10 kernel for the device update meant the development team would need to convert the existing board-specific code to the device tree format the newer kernel required.

Challenges

The medical device development team had embedded Linux experience however they did not have experience with more recent Linux kernel versions and features like device trees. And, while they had experience with LTIB, they had no experience with building Yocto BSPs. In addition, the project had a tight schedule, which meant the team had little-to-no time for training.

Solution

The development team turned to Timesys Professional Services for help. Because Timesys had extensive embedded Linux experience in supporting the Freescale i.MX 6 series processor, expertise in kernel porting, and as a Yocto Project participant had released several Yocto BSPs, they could provide the medical device team with the additional “know how” the product upgrade required.

The project was broken into three phases. By separating the project into phases, Timesys and the medical device development team were able to work in parallel which helped to ensure the project would deliver on-time.

In the first phase, the engineering team at Timesys brought forward U-Boot to version 2014.10 and enabled / tested various components including 100MBps Ethernet, 8GB Flash eMMC, UART and more. During phase two, the Linux kernel was upgraded to version 3.10.17 and various device drivers were enabled / tested. In addition, this phase included testing to ensure the kernel would support the medical device development team’s selected USB camera. In the third and final phase, Timesys delivered a Yocto BPS metalayer that incorporated the kernel and U-Boot sources, along with documentation for deploying, running and rebuilding the software.

Summary

With their extensive experience supporting the medical device team’s processor and build system of choice, combined with their embedded Linux expertise, Timesys was able to provide the team with the additional engineering “know how” their project required. Engaging with Timesys Professional Services enabled the development team to deliver their product update on time and on budget. By choosing Timesys for their professional services needs, the development team found a partner on whom they can rely for help with future product upgrades as well as with the development of new devices.

Learn more about Timesys Professional Services, and view our extensive professional services menu.
Schedule a complimentary 30-minute Services consultation.
 


Timesys Releases Support for the Freescale SABRE-SDB for i.MX 6SoloX

Timesys has released its award-winning LinuxLink offering for the Freescale SABRE-SDB for i.MX 6SoloX. This latest release expands Timesys' embedded Linux support for the popular Freescale i.MX 6 applications processor and associated development platforms, which already includes the SABRE-SDB for i.MX 6Quad, SABRE-SDP and more.

The Timesys BSP has the latest support to match Freescale’s release for Linux kernel version 3.10 for i.MX 6 Series.

LinuxLink for SABRE-SDB for i.MX 6SoloX board includes access to hundreds of packages/middleware specifically chosen to be optimal in an embedded Linux environment in the Timesys repository. Developers are easily able to design custom Linux BSPs that leverage the high-performance multimedia processing power of the i.MX 6 series processor and provide a solid development environment for building value-added Linux applications. With LinuxLink, a full suite of tools is available for designing, building, debugging, optimizing, deploying, and maintaining commercial-grade software systems.

In addition, Timesys offers commercial support to assist developers with build and runtime issues taking the risk out of getting Linux projects to market utilizing both Timesys Factory and Yocto Project build systems. For developers that need additional resources or just want to outsource development, Timesys offers a wide range of professional services, or can alternatively train software teams on embedded Linux to decrease the learning curve. Click on the links for more information on Timesys professional services, training capabilities and options, and consultation for your project.

Build a custom BSP / SDK or download a pre-built starting point for your i.MX6SoloX SABRE SDB.

NOTE: Existing users, please visit https://www.timesys.com/register to add the SABRE-SDB for i.MX 6SoloX board to your account.
For comprehensive development resources, visit our Freescale i.MX 6 Series Development Center.
 

Timesys Support for TI Sitara Processors Expanded to Include AM437x Family

Engineering teams building embedded Linux based devices using the TI AM437x Sitara processor have access to Timesys’ affordable embedded Linux offerings, including LinuxLink — a free suite of tools that enables developers to quickly and cost-effectively build, debug, deploy and maintain their product.

Developers can use LinuxLink — which already includes support for the AM1x, AM335x, AM35x, and AM37x Sitara families — to build feature-rich devices having rich graphics, LCD displays and multiple industrial protocols. With support for Linux kernel version 3.14, LinuxLink enables developers to leverage the high performance and low power consumption of the AM437x EVM and build solutions for markets that include point of service, industrial, connected home, smart grid, consumer and medical.

In addition to LinuxLink, development teams can engage with Timesys for: support contracts that provide help with troubleshooting development issues that arise, professional services that provides the additional engineering resources they sometimes require, and for customized training that is tailored to their project requirements and experience with embedded Linux.

Build a custom BSP / SDK or download a pre-built starting point for your AM437x EVM.

NOTE: Existing users, please visit https://www.timesys.com/register to add the AM437x EVM to your account.
For comprehensive development resources, visit our
TI AM437x Sitara Development Center.
 

Additions and Updates in the Factory

Recent Factory additions include:

belle-sip

Version: 1.3.0-1
Category: Networking
License: GPLv2
Description: Belle-sip is a SIP (RFC3261) implementation written in C, with an object oriented API.

dmtx-utils

Version: 0.7.4-1
Category: Graphics
License: GPLv2
Description: Utilities for reading and writing Data Matrix 2D barcodes Command-line utilities for reading and writing Data Matrix 2D barcodes, two-dimensional symbols that hold a dense pattern of data with built-in error correction.

libtecla

Version: 1.6.3-1
Category: Utilities
License: BSD
Description: The tecla library provides UNIX and LINUX programs with interactive command line editing facilities, similar to those of the UNIX tcsh shell. In addition to simple command-line editing, it supports recall of previously entered command lines, TAB completion of file names or other tokens, and in-line wild-card expansion of filenames.

libwebp

Version: 0.4.1-1
Category: Graphics
License: Apache 2.0
Description: WebP is a new image format that provides lossless and lossy compression for images on the web.

webpy

Version: 0.37-1
Category: Development
License: Public Domain
Description: web.py is a web framework for Python that is as simple as it is powerful.

Recent Factory updates include:

daq

Version: 2.0.4-1
Category: Networking

flac

Version: 1.3.1-1
Category: Multimedia

fontconfig

Version: 2.11.1
Category: Graphics

openca-ocspd

Version: 3.1.0-1
Category: Networking

shadow

Version: 4.2.1-1
Category: System

View all available packages in the Timesys Repository »
 

Timesys Training & Webinars

May 14, 2015

Webinar: Starting a Project with the Yocto Build System

This brief event will introduce Yocto Project standards and walk attendees through the process of getting started with embedded Linux based development. Many of the common questions developers have when considering using the Yocto Project build system will be answered. This event is being offered at two different times.

Learn more / register »

May 28, 2015

Webinar: Optimizing Your Complex UI for Fast Boot

Building fast booting, responsive UIs can involve multiple technologies and programming techniques. This event will give you an overview of various approaches that can be implemented to speed up the time it takes your device to boot and your application to load. Additional optimization options, including a Timesys-recommended commercial solution, will be discussed. This event is being offered at two different times.

Learn more / register »

www.timesys.com

     

©2015 Timesys Corporation. 428 Forbes Avenue - Suite 2100, Pittsburgh, PA 15219

To subscribe to the LinuxLink Alert newsletter, click here.

Warp enables extremely fast boot time