Dangling pointers and memory corruption problems are nasty issues for any developer, and usually hard to find and locate in the code. Luckily Google has developed an open source tool to solve such issues: the Address Sanitizer (ASAN). The tool is available for x86 and other desktop style architectures, including Android and Linux. This article describes how ASAN can be used for an embedded target, e.g. ARM Cortex-M4 or similar.
This is about one of my ‘long running projects’: I happily can report that the missing last piece has been installed after 16 months from the start of the project: the ‘3D-Printed-Supported-Driftwood-Bath-Tub-Shower-Gel-Holder’ 🙂 :
This is the ‘official finish’ of a complete bathroom renovation and remodeling. It has been a joint project with the help of friends, contractors, my family and my brother in law (who is an outstanding carpenter and cabinetmaker), plus the Ultimaker2 3D printer which contributed many ‘background and hidden’ features.
I invite you to a virtual time travel. I hope you enjoy it and get inspired….
The tinyK22 board is a tiny micro controller board we use at the Lucerne University of Applied Sciences and Arts. It is used in many research project, used in lectures and labs and used in most student projects. Because there was no small and breadboard friendly NXP Kinetis board with a debug interface available, we developed one featuring the NXP K22FN512, named the ‘tinyK22‘. Because of the success and high demand we stated a new large production run and used this to upgrade the board to the new Rev 1.3: you might notice already the color change :-).
As promised I’m going to share more details about the “60 Billion Lights” project. It is about a project to build a piece of electronics behind a 100×50 cm canvas to show animations or to display information like temperature, humidity, weather, time or just any arbitrary text.
I’m using the NXP Kinetis K22FN512 in many projects, either with the FRDM-K22F or on the tinyK22: with 120 MHz, 512 KByte FLASH and 128 KByte it has plenty of horsepower for many projects. The other positive thing is that it is supported by the NXP MCUXpresso IDE and SDK. I have now created an example which can be used as base for your own project, featuring FreeRTOS, FatFS, MinIni and a command line shell.
The tinyK22 board with the NXP K22FN512 is a bread-board-friendly small board with a 8 MHz external oscillator:
This tutorial is about how to use the NXP MCUXpresso Clock configuration and configure the board to the maximum clock frequency of 120 MHz. The same steps apply to many other boards, including the FRDM-K22F one.
Right before Christmas 2019, NXP has released a new version of the MCUXpresso IDE, the version 11.1.0. This gave me time to explore it over the Christmas/New-Year break and evaluate it for the next university semester. There are several new features which will make my labs using it easier, so I plan to get the course material updated for it.
Bootloaders are a fine thing: With this I can load any applications I like. Power comes with some complexity, and a bootloader alone is a complex thing already. But this applies to the application part too: I need to link the application to a certain offset in the memory space so it can be loaded by the bootloader, plus the application typically needs to add some extra information to be used by the bootloader. This article describes how to build a bootloader application with Eclipse (MCUXpresso IDE) using the MCUXpresso SDK.