Project Diaries

 

 

Yocto Primer

Yocto Primer:

Level 1

Introduction to Yocto

Welcome to the world of Yocto!

The Yocto Project is an open-source collaboration project that provides templates, tools, and methods to help you create custom Linux-based systems for embedded products, regardless of the hardware architecture.

It’s designed to be flexible and easy to use, even though it can seem complex at first glance.

What is Yocto?

Yocto isn’t a distribution of Linux; instead, it’s a framework to generate a Linux distribution.

It allows developers to create a customized Linux system from scratch, tailored specifically for embedded devices.

The core of the Yocto Project is the Poky build system, which includes the BitBake tool and a set of metadata that defines how the system should be constructed.

Key Components

  • BitBake: A command-line tool that performs the build based on provided metadata. It acts like a task scheduler and runs specified tasks, such as fetching source code, configuring, compiling, and installing it.
  • Layers: These are modular repositories containing recipes, configuration files, and classes that define specific aspects of the build. Layers allow you to organize and isolate different sets of metadata to customize your build.
  • Recipes: These are sets of instructions for BitBake to follow to build a particular piece of software.
  • Metadata: It includes recipes, configuration files, and classes that guide the build process.

Best Practices

Getting the most out of Yocto involves understanding some key best practices:

  1. Understand the Layer Structure: Keep your build organized by understanding which layers are required for your project and what each layer contributes. Common layers include:
    • OpenEmbedded-Core (OE-Core): The fundamental layer providing the core metadata for building a wide variety of software.
    • Machine Layer: Specifies the hardware-related recipes and configurations.
    • Distribution Layer: Defines distribution-specific settings and overrides.
    • Your Custom Layer: Where you can place all your custom recipes and modifications.
  2. Use Version Control: Always use a version control system for your recipes and configuration files. This allows you to track changes and manage contributions efficiently.
  3. Optimize Build Times: Utilize features like ‘sstate-cache’ and ‘shared state cache’ to speed up subsequent builds by reusing build output from earlier builds where possible.
  4. Regular Integration: Regularly integrate and test your builds. Continuous integration can help catch problems early in the development process.
  5. Stay Up-to-Date: The Yocto Project and OpenEmbedded community are active and frequently update. Regularly updating to the latest versions of software and tools can provide you with bug fixes, security patches, and new features.
  6. Documentation and Community: Leverage the extensive documentation available and engage with the community through mailing lists, forums, and annual events like the Yocto Project Summit.

Conclusion

Starting with Yocto can be challenging, but it’s incredibly rewarding.
By understanding its core components and adhering to best practices, you’ll be well on your way to mastering embedded system development with the Yocto Project.
Dive in, experiment, and become part of a vibrant community of developers pushing the boundaries of what’s possible with embedded Linux.

Ultimate Ears

Ultimate Ears

In November of 2014 the FirstLink team was tasked with design, implementation and deployment of a comprehensive automation system to enable the Engineering and Quality Assurance teams for Logitech’s UE Boom Software for Ultimate Ears to design and run regression test suites.

A little bit of history

Ultimate Ears was founded in 1995 by Mindy and Jerry Harvey, and acquired in 2008 by Logitech. Ultimate Ears created a new market for the in-ear monitor (IEM), which is today used by most of the world’s top touring musicians.

Ultimateears1, CC BY-SA 3.0 https://creativecommons.org/licenses/by-sa/3.0 via Wikimedia CommonsThe journey started in 1995 Van Halen’s drummer, Alex Van Halen, had difficulty hearing other band members over the speaker noise on stage. Jerry Harvey was Van Halen’s touring monitor engineer and created a custom molded earpiece for the drummer to help block some of the stage noise and focus the sound.

The prototype earpiece contained two tiny speaker drivers. The high low frequency driver was one used to warn pacemaker wearers of internal problems.

Other band members caught on and the rest is history, Harvey made sets for other bands, Englebert Humperdinck, and finally set up a company to supply the likes of The Rolling Stones and the Red Hot Chili Peppers.

After going on tour with Linkin Park to connect with touring musicians, he saw the popularity of iPods and other mp3 players, and in 2004 decided to offer a consumer model of Ultimate Ears at a price of $550, and after being acquired by Innovate Partners grossed over $10 Million at $250 a pair in 2006.

Ultimate Ears was acquired by Logitech in 2008, and in 2013 entered the portable wireless consumer speaker market with UE Boom.

FirstLink Role – the Technology

The general mission of was to design, implement and deploy a comprehensive automation system to enable the Engineering and Quality Assurance teams to design and run regression test suites.

The technology made heavy use of the Bluetooth Standards and profiles both standard and Bluetooth Low Energy for audio streaming and wireless control of the device, field firmware update, and music streaming. USB technology was used extensively as a means to debug, control and update the firmware of the device.

The system was build around a collection of Python 3.4.3 modules and packages and also involved the development of shared libraries in C and C++ and addressed the following:

  • USB Interface
  • Bluetooth Interface (idem)
  • SPI utilities (idem)
  • Audio Fingerprinting
  • Audio Quality assessment.
  • Database Of Test results
  • HTML report generator
  • Continuous Integration of Software (jenkins, hudson)
  • Management of Git repositories
When Old Technology becomes New Again

When Old Technology becomes New Again

The requirement for COBOL knowledge has never disappeared. While it was thought that most COBOL programmers have either passed away or retired, the language has remained, although more discreetly, hidden behind the new technologies and buzz words of every day.

After almost 50 years in the field, the initial impetus to revisit old technology is a mix of nostalgia and curiosity.

The University town where I first encountered the magical world of computers had a well-equipped computer center. Most of the equipment was shared among the faculties of the university and few scientific and agricultural interests in the neighboring companies. Today all this beautiful equipment has found its way to various technology museums and probably to the metal recycler or the landfill.

Computer Sciences and the Computer Industry has made so much progress in these fifty years that the sheer volume of innovation and change is hard to fathom, still, there is quite a large crowd of people who are interest in the technology of yore, reviving a demand for experts in this field.

 



FirstLink Consulting Services Powered by Communications Team
Admin