From Express Logic ThreadX to Microsoft Azure RTOS

Over a year ago, Microsoft acquired Express Logic and their flagship product the ThreadX Real Time Operating System (RTOS). Along with ThreadX was the X-Ware suite of communication, connectivity and storage IPs. Microsoft has since created Azure RTOS around ThreadX and X-Ware, with an obvious focus on connectivity and IoT. Looking back, the acquisition of

Read More »

QSPI NOR Flash Part 2 – Memory Organization

In the previous article of this series, we looked at the hardware characteristics of QSPI NOR Flash devices such as the package, temperature grade and other such physical considerations. In this article we’ll leave the package attributes behind to focus on the internal features of QSPI devices, starting with the memory organization. This article will

Read More »

QSPI NOR Flash Part 1—Hardware Characteristics

This article series aims to be an introduction to QSPI NOR Flash devices from the point of view of their features and characteristics. This series isn’t meant to be an introduction to NOR flash technology or even to the QSPI protocol itself. It is more about what differentiates one QSPI NOR flash from another. And

Read More »

NOR vs NAND: So You Think You Know the Music?

Those of you who have spent even the slightest amount of time digging around for insights on embedded storage technologies know this: the subspace of the Internet devoted to this particular topic is flooded with short articles comparing NOR and NAND flash technologies. Some are very well-written and genuinely enlightening. But all too often, the

Read More »

Managed vs Unmanaged: The Many Roads to Flash Storage

The previous article of this introduction series on flash storage was all about two things: the daunting complexity of flash memory and the importance of proper flash management. In essence, it was a warning: blindly heading down the flash road is calling for trouble. Said. Understood. Now what? At this point, a lot of questions

Read More »

Taming the Flash Beast

This article is the first of an introduction series about flash memory. A high-level introduction shall we say. Not the kind that takes you straight to the electron and drags you through the depths of quantum physics. No. The purpose of this series is to provide useful information from an operational perspective. Things that you

Read More »

GCC Toolchain Eclipse Setup Guide Part 4 — Debug Configuration

A PDF version of this guide, including Eclipse setup and project debugging is available in the Documentation section. This is the fourth part of this article series on setting up a bare-metal GCC toolchain in Eclipse. The previous two articles, part 2 and part 3 dealt with creating Eclipse CDT projects using the managed build

Read More »

Firmware Update Implementation Using TSFS Snapshots

In the previous article of this series on TSFS snapshots, we have shown how snapshots can be used to design a simple yet robust firmware upgrade procedure. This time, we go from design to implementation, delving into the specifics of the TSFS snapshot management interface. More specifically, we show how we can meet our initial

Read More »

Firmware Upgrade Design Using TSFS Snapshots

This article is the first part of a twofold series on one of the most unique TSFS feature: snapshotting. In this first article, we show how snapshots can ease application development, providing the application designer with an elegant way of handling concurrent read/write accesses. We also introduce a simple firmware update example, to help us

Read More »

From Express Logic ThreadX to Microsoft Azure RTOS

Over a year ago, Microsoft acquired Express Logic and their flagship product the ThreadX Real Time Operating System (RTOS). Along with ThreadX was the X-Ware suite of communication, connectivity and storage IPs. Microsoft has since created Azure RTOS around ThreadX and X-Ware, with an obvious focus on connectivity and IoT. Looking back, the acquisition of

Read More »

QSPI NOR Flash Part 2 – Memory Organization

In the previous article of this series, we looked at the hardware characteristics of QSPI NOR Flash devices such as the package, temperature grade and other such physical considerations. In this article we’ll leave the package attributes behind to focus on the internal features of QSPI devices, starting with the memory organization. This article will

Read More »

QSPI NOR Flash Part 1—Hardware Characteristics

This article series aims to be an introduction to QSPI NOR Flash devices from the point of view of their features and characteristics. This series isn’t meant to be an introduction to NOR flash technology or even to the QSPI protocol itself. It is more about what differentiates one QSPI NOR flash from another. And

Read More »

NOR vs NAND: So You Think You Know the Music?

Those of you who have spent even the slightest amount of time digging around for insights on embedded storage technologies know this: the subspace of the Internet devoted to this particular topic is flooded with short articles comparing NOR and NAND flash technologies. Some are very well-written and genuinely enlightening. But all too often, the

Read More »

Managed vs Unmanaged: The Many Roads to Flash Storage

The previous article of this introduction series on flash storage was all about two things: the daunting complexity of flash memory and the importance of proper flash management. In essence, it was a warning: blindly heading down the flash road is calling for trouble. Said. Understood. Now what? At this point, a lot of questions

Read More »

Taming the Flash Beast

This article is the first of an introduction series about flash memory. A high-level introduction shall we say. Not the kind that takes you straight to the electron and drags you through the depths of quantum physics. No. The purpose of this series is to provide useful information from an operational perspective. Things that you

Read More »

GCC Toolchain Eclipse Setup Guide Part 4 — Debug Configuration

A PDF version of this guide, including Eclipse setup and project debugging is available in the Documentation section. This is the fourth part of this article series on setting up a bare-metal GCC toolchain in Eclipse. The previous two articles, part 2 and part 3 dealt with creating Eclipse CDT projects using the managed build

Read More »

Firmware Update Implementation Using TSFS Snapshots

In the previous article of this series on TSFS snapshots, we have shown how snapshots can be used to design a simple yet robust firmware upgrade procedure. This time, we go from design to implementation, delving into the specifics of the TSFS snapshot management interface. More specifically, we show how we can meet our initial

Read More »

Firmware Upgrade Design Using TSFS Snapshots

This article is the first part of a twofold series on one of the most unique TSFS feature: snapshotting. In this first article, we show how snapshots can ease application development, providing the application designer with an elegant way of handling concurrent read/write accesses. We also introduce a simple firmware update example, to help us

Read More »