Semihosting is a technique to do printf() debugging through an active debug connection. So instead using a physical connection like RS-232 or USB CDC, the connection to the host machine is through the debugger. This post is about enabling and using semihosting with gcc and newlib/newlib-nano in Freescale Eclipse based Kinetis Design Studio (KDS) using the GNU ARM Eclipse plugins.
Tag Archives: Processor Expert
Configuration Data: Using the Internal FLASH instead of an external EEPROM
Many applications need to store persistent (non-volatile) data at runtime: configuration data, error logs, sensor data, calibration values, etc. The question is: where to store that data? If it is only a few kBytes, an SD card or similar is an overkill. Adding an external EEPROM? Sure, that works, but adds an extra part to the design. Some microcontroller have internal EEPROM. But what if not? Why not using the microprocessor internal flash memory?
Tutorial: Freedom Board with Adafruit Ultimate GPS Data Logger Shield
Many times I start with a project and tutorial, only to get interrupted for emergency tasks and assignments. For a long time I wanted to add GPS (Global Positioning System) functionality to one of my projects. While I started a few months ago on this, it took me until this week-end to finish the at least the first part: a SD card data logger with GPS :-): I calculate global positioning and time information, can use it in Google maps and store it on a SD card:
Tutorial: Data Logger with the FRDM-K64F Board
The Freescale FRDM-K64F is a great board for data logger applications: it has a powerful ARM Cortex M4F with 120 MHz, 1 MB Flash and 256 KByte RAM. Best of all: it already has a micro SD card socket on the board :-).
Enhanced RNet Wireless Components and Communication Stack
I’m using both the Freescale MC1320x and Nordic Semiconductor nRF24L01+ 2.4GHz in many projects. To make it even easier to use these transceivers in the RNet stack, I have updated it with several new functions.
JoyStick Shield with the FRDM Board
The latest addition to my set of Arduino shields is a true fun thing: The ElecFreaks.com JoyStick Shield 🙂
ElecFreaks.com Joystick Board with FRDM-KL25Z and nRF24L01+
FRDM with Arduino Ethernet Shield R3, Part 4: MinIni
I admit: my Ethernet Shield project got stuck because of too many urgent other priorities. I was not happy with the way the project was using configuration data from FLASH memory: I have now multiple ethernet shields in use, and configuring the IP address for each shield is a pain. I have not got DHCP working (yet), so why not using the SD card on the shield for configuration data? And right on time I received a tip from Marc about MinIni: perfect, exactly what I need!
Pin Muxing: Using the NMI Pin as GPIO Pin
Many modern microcontroller have a cool feature: Pin Muxing. What it means is that I can ‘mux’ the pins for different purposes: such as I can use a SPI or I2C pin as GPIO (General Purpose Pin) or vice versa. In an ideal world, I would be able to ‘route’ or ‘mux’ pins freely around. In practice these ‘way switches’ are more or less limited.
In “Using the Reset Button on the Freedom Board as User Button” I muxed the FRDM-KL25Z reset pin as GPIO pin. The same approach can be used for muxing the NMI (Non-Maskable Interrupt) pin for the Freescale Kinetis devices. I’m showing it here how to do this with Processor Expert as this allows me to do this with a few mouse clicks.
Tutorial: User Interrupts with Processor Expert
I have been asked this question several times:
“How can I define my own interrupt vector with Processor Expert?”
So I think it deserves a short tutorial, if more than one person is asking this ;-).
Processor Expert (Driver Suite/Plugins/KDS) V10.4 with new Component Inspector
There has been a lot of new Freescale releases recently around FTF, and I’m trying to catch up. For me as a Processor Expert Lover, it is good news that there is now the new version 10.4 available. And it comes in different ways:
- Standalone as Driver Suite 10.4 (e.g to be used with IAR or Keil).
- As plugin for existing Eclipse installations (e.g. Kepler)
- Integrated into CodeWarrior for MCU10.6 (which just has been recently released too)
- and in Kinetis Design Studio which just has been announced at FTF.









