Long-Term Maintenance Guide for i.MX Family Devices

Introducing Our New Guide: Maximizing Device Security and Longevity on the i.MX Family We are excited to announce the release of our comprehensive guide on maximizing device security and longevity for the i.MX family, created in collaboration with NXP. This essential resource provides detailed insights on maintaining and securing devices over their extended lifecycles, crucial […]

Why Is Embedded Software Development Still so Hard?

With all the advancements in tech and tooling, you would be forgiven for thinking that embedded software development was easy, or at least easier. Sadly, this is not the case. What is happening in the world of embedded development and how can we simplify things for OEMs? Fortunately for you, Witekio CEO Samir Bounab sat […]

Embedded Yocto Security Hardening

In this connected age, it often feels like every line of code is a battleground, especially when it comes to Embedded Yocto Security. The number of threat surfaces and vulnerabilities a device is subject to seems to grow by the day. That’s why two of our top engineers got together with OTA wizards Mender to […]

EV Charging Software – Linux Based Applications

As manufacturers worldwide continue the transition from ICE cars to EVs, the race to gain an edge over competitors and understanding of EV charging software has never been greater. So how do you develop a future-proof EV charging software solution that is both secure and able to evolve? Witekio, ST Microelectronics and ARM joined forces […]

Witekio becomes Gold Member of the Yocto Project

Witekio Commits to Helping Yocto Open-Source Software Reach More Uses Than Ever  Witekio, a global leader in embedded and IoT software services, has today announced it is now officially a Gold Member of the Yocto Project. Witekio’s Gold Membership status of the Yocto Project is a significant milestone, as it represents the company’s unwavering commitment […]

JTAG and Linux Embedded Development

A seemingly simple question on the best practices surrounding JTAG and Linux here at Witekio evolved/devolved into a heated discussion. That’s nothing new when talking about a subject that has pros and cons – after all, it’s our job to know what’s best for our customer’s projects. So we’ve turned this into blog, so you […]

The Right OS for Your IoT Device

Choosing the right OS for your IoT device is one of the most important decisions that you’ll make. It might sound dramatic, but a device that doesn’t work well – won’t be used.     In today’s connected world, end-users demand a seamless experience and the OS you choose will have a significant impact on the reliability and […]

Yocto Tutorial – Our Webinar Takeaways

The team have got the gang back together to take on part two of our Yocto Tutorial after the smashing turnout for the Witekio and Mender.io part one. The latest instalment, which tackled the Yocto topic of understanding variables and overrides, proved just as popular and was broadcast live across the Witekio YouTube, LinkedIn and Twitter channels (no pressure ).   As […]

Yocto Kernel Development & Security Hardening

A profitable and successful device is a secure device – but in a world of threats, how do you secure your device and ensure it has a chance to find its market and deliver for end-users? Yocto Kernel Development & Security Hardening This is a key strategy to adopt and, in the article below, we’ll […]

Yocto Master Class with Mender.io

As part of an ongoing series of webinars on The Yocto Project, Witekio recently hosted a live Yocto Master Class. The event, which was held in partnership with Mender.io, lasted one hour and covered topics such as: The challenges of managing multiple hardware and software targets within the same codebase How to create a custom […]

Securing IoT Systems End to End – Webinar

Recently Witekio hosted a deep dive into IoT system security at its Securing IoT Systems End to End webinar. Three speakers took an engaged and curious audience through all elements of end-to-end security for connected systems in a 2.5-hour session that was both entertaining and informative. Nicholas Beck was the first to speak and introduced […]

Device security from Edge to cloud – SIDO Lyon

Witekio VP of Engineering Marc Balme joined other IoT experts at SIDO Lyon on a panel dedicated to all things security, from edge to cloud. Speakers – Device Security: From the Edge to the Cloud Marc took the stage alongside Cybersecurity Business School founder Guillaume Collard, Sierra Wireless Marketing Director for Mobile IoT Solutions Benoit […]

Application Secrets Management Strategies

When you are developing applications it is essential to properly manage secrets of all kinds. When building an application you might run into several different kinds of secrets. Here are two main categories that we’ll look at and learn how to properly manage within this guide: Account passwords (e.g. Username/Password logins for systems like PipeDrive, […]

Why You Need Yocto for NVIDIA Jetson Edge AI

At Witekio, we work with companies all over the world who need help connecting  everything from interactive screens to industrial equipment. Being a Nvidia preferred partner made sense for software lovers as we are. As IoT technologies become more mature and widely adopted, the amount of data that devices are typically shipping to the cloud […]

5 Steps to Compile Yocto Using Docker Containers

Embedded Linux development is never easy. As a software developer, I often run into compatibility issues between my Linux distribution and the dependencies required for a compilation when using the Yocto Project. One potential solution is the use of Docker. In this article, I’ll therefore show you how to create a Docker container for compiling […]

Windows CE 6.0 end of life and Migration Alternatives

Windows embedded ce 6.0 is dead. Which OS Migration alternatives may you have as Win CE 6.0 is declining ? If you are an OEM which has been developing embedded devices over the past 15 years, you might have considered using Windows CE / Windows Embedded Compact a few years ago. Even though WEC is […]

Containers on Embedded Systems – Webinar

Containers are a trendy topic and have been a game changer in the datacenter world in recent years. October 26th 2017, I presented through a webinar how containers technology is breaking into the embedded world, what its benefits are and what it can bring to Linux-based systems. After looking at an example illustrating how this technology […]

Patient Monitoring #1 – Critical choices: hardware, OS, software architecture

Patient monitoring is a crucial tool for medical professionals to acquire the most accurate information on the physical condition of a person such as blood pressure, body position, temperature, or glucose level. In a series of articles, we aim to present a full software patient monitoring solution which describes the challenges of system integration from […]

TPM: Basic applications to embedded devices

Trusted Platform Module: security of your embedded system, what are the basics, and how to use this with Linux? Nowadays, IoT security is an issue of high concern, whether in companies or personal networks, each connected device plays an important role in sensible data transfer and thus impacts the overall security. That’s where Trusted Platform […]

cat /proc/meminfo : MemTotal

Linux manages its physical memory in clever and often efficient ways – as a result, it’s not uncommon to only think about how the memory in your system is being used when we run into performance issues. And this is where the frustration can begin – without fully understanding how memory is managed, it can […]

GCC Weak Symbols

GNU’s GCC has a useful (and perhaps not very well known) feature known as ‘weak symbols’. I first discovered this a while back when building a Linux kernel – however unbeknown to me the Linux kernel makes great use of GCC weak symbols yet the compiler I used did not correctly support them. Rather than […]

An introduction to heterogeneous multicore processing architecture

Why would you need a heterogeneous multicore processing architecture? Nowadays people look to achieve high-performance processing and low power requirements for their IoT solutions devices. They also look for a high degree of functional integration and want to perform complex operations with them. All these products are targeted towards a growing market of connected and […]

Understanding I/O Wait (or why 0% Idle can be OK)

During the development of an embedded Linux based product it’s not uncommon to reach a point where the features of the product are seemingly demanding too much from the CPU. When this happens and features start to stutter the first point of call is often ‘top‘ – this often results in the dreaded realization that […]

Create your own MLO for a BeagleBoard XM

Before I started playing with the BeagleBoard XM I’ve had never booted a board directly from an MMC card and I didn’t have a clue what an ‘MLO’ file was. After some research on the internet, it seemed apparent that it was used in place of the traditional first stage boot loader: XLoader. In fact […]

Using ‘delay_use’ to speed up USB Enumeration

Whilst investigating ways to improve the cold boot time of embedded Linux I came across a little-known control parameter of the USB stack known as ‘delay_use‘. It’s a parameter that describes the amount of time given to Mass Storage Devices to allow them to ‘settle down’ before being used. This article examines ‘delay_use’ and identifies […]

Embedded Linux Systems & the Yocto Project

Linux has come a long way since it saw the light of day more than 20 years ago, and is by far the most scalable operating system to exist today. From servers to desktops to embedded systems with low memory footprints, it is now hard to miss. Creating a new product today often requires the […]

I2C in the 2.6.32 Linux Kernel

The other day I forward-ported an old and abandoned touch-screen driver to the shiny new 2.6.32 Linux kernel. A small portion of the work was to bring the driver in-line with the latest I2C framework (notably due the removal of detach_client from struct i2c_driver since 2.6.31 in favour of the new device driver binding model). This […]

Understanding vmalloc region overlap

I recently came across the following disconcerting message in my kernel’s boot output: vmalloc region overlap Which is the kernel’s way of saying “I understand there may be some RAM here – but I’m not going to use it all”. So what is the cause of this warning? And what do we need to do […]

Embedded Linux Conference 2017 – SWUpdate to update your system

Updating your Linux system, whether you are using your desktop machine or an embedded platform, is always somewhat of a challenge. The typical and most popular way to perform system updates is to use the package manager provided by the system’s distribution but this is not necessarily true for embedded devices, due to the process […]

Turning on an ARM MMU and Living to tell the tale: The code

Our goal here is to create a simple identity mapping across the entire address space between virtual and physical memory addresses – such that the following formula holds true: 1 virtual address = physical address In other words, the address space from the processor’s point of view (or anyone else’s POV for that matter) will […]