Author name: Richard Man

Calculating Timing

As we are finalizing the initial release of REXIS, we would like to provide some quantitative data on some of its features so that users and potential users can make intelligent decisions regarding this product. There are a variety of methods for measuring timing on MCU firmware. Two popular methods are 1) using an internal MCU timer, and 2) toggling a GPIO pin so that you can observe the output waveform with an external device.

Calculating Timing Read Post »

REXIS Examples

REXIS is both ImageCraft’s RTOS and a component of the JumpStart IoT Connectivity Suite. It’s powerful yet easy to use. This post is from an excerpt of the forthcoming REXIS User Guide, containing examples to demonstrate REXIS features. As some users may not be familiar with using an RTOS, let’s dive in and look at some examples. The examples are located in <install root>\rexis\examples\, and introduce all the major features of REXIS. (This document will not provide the full listing of the programs, as minor details may change.)

REXIS Examples Read Post »

Making Tedious/Complex Things Easy

The development world is full of IDE, and “everyone” uses GCC anyway. So how can ImageCraft be better? One way we can achieve excellency is by making tedious or complex things easy to do. For example, there are different floating point options for the Cortex-M MCUs, depending on what architectural features the CPU core support. For example, Cortex M0 and M3 cores must use software floating point libraries whereas M4 has optional single precision floating point FPU, and the M7 has optional single and double precision FPU. But wait! There’s more: by default, the printf function in the newlib/nano-lib does

Making Tedious/Complex Things Easy Read Post »

Vulnerabilities Discovered in FreeRTOS TCP/IP Stack ?

A researcher has discovered multiple flaws in the FreeRTOS TCP/IP stack: https://thehackernews.com/2018/10/amazon-freertos-iot-os.html. Amazon/FreeRTOS quickly patched the problems, but that’s not the end of the story. As more and more “Internet of Things” devices come onto the market, the existence of exploitable flaws will become unavoidable. As the provider of a (forthcoming) TCP/IP+RTOS stack in ImageCraft’s JumpStart IOT Suite, it behooves us to come up with a plan for if and when this happens. Clearly, we need to:

Vulnerabilities Discovered in FreeRTOS TCP/IP Stack ? Read Post »

Dynamic Memory and REXIS

According to some coding guidelines such as MISRA, it is “common wisdom” that embedded firmware should not use dynamic memory, e.g. malloc/free, as it introduces non-deterministic behaviors. Many firmware engineers have taken this to heart.  So is it surprising that REXIS (our forthcoming RTOS) uses dynamic memory allocation? Have we gone mad? Surely not ;-). REXIS uses dynamic memory for three main reasons:

Dynamic Memory and REXIS Read Post »

Scroll to Top