Added Micro SD Card Socket to FRDM-K22F

Probably for cost reasons, the Freescale FRDM-K22F does not come with the micro SD card socket populated on the the board:

freescale-frdm-k22f-board with no SD card socket

Freescale FRDM-K22F Board with no SD card socket

With a little soldering skills it is possible to populate the socket so the board can be used with a file system on it :-):

Using SD card with FRDM-K22F Board

Using SD card with FRDM-K22F Board

Continue reading

SWD Debugging the FRDM-KL43Z

It is possible to use the Freescale FRDM-KL43Z to debug another board (see “Using the Freescale Freedom (FRDM-KL43Z) to Debug other Boards“). The FRDM-KL43Z has an on-board debug probe integrated, the OpenSDA. But it is easily possible to debug the board directly with a SWD debug probe like the P&E Universal Multilink or the Segger J-Link.

Debugging the FRDM-KL43Z with SWD

Debugging the FRDM-KL43Z with SWD

Continue reading

Kinetis Drone: Driving the Electronic Speed Controllers

In “Kinetis Drone: Frame Construction with Graupner Race Copter Alpha 250 Q” I have assembled the frame for my Kinetis Drone. In this post I’m going to drive the ESC’s (Electronic Speed Controllers) with the Freescale FRDM-K22F board:

Graupner S3055 ESC

Graupner S3055 ESC (Source: Graupner)

Continue reading

Learning from Failure: QFN Package Corner Problem

Every day, there is something new to learn. And having problems is always a good learning opportunity :-). Yesterday we were able to find a strange problem with our tinyK20 prototypes, just before we were about to send the design for manufacturing.

Kinetis K20 on tinyK20 Board

Kinetis K20 on tinyK20 Board

Continue reading

Aligning S19 Records to 64-bit Boundaries

Many tool chains and linker are able to produce S19 files, such as with the GNU tools it is the ‘objcopy‘ which does this job (see “Binary (and S19) Files for the mbed Bootloader with Eclipse and GNU ARM Eclipse Plugins“). But these tools usually cannot handle the special cases. For example on the Freescale Kinetis K64F my serial bootloader (see “Serial Bootloader for the Freedom Board with Processor Expert“) had a problem with these lines in the S19 file:

Not aligned S19 file entries

Not aligned S19 file entries

Continue reading

Using FRDM-K64F Board to debug another Kinetis Board

Given all the posts I already have published on a similar topic, this one will be a short one: how to use the Freescale FRDM-K64F board with OpenSDAv2 to debug another board:

FRDM-K64F Board to Debug FRDM-KL25Z Board

FRDM-K64F Board to Debug FRDM-KL25Z Board

Continue reading

Programming Kinetis with CodeWarrior from the DOS Shell

In “CodeWarrior Flash Programming from a DOS Shell” I showed how to program a device from the DOS shell. Because that example was for ColdFire and CodeWarrior for MCU10.2, here is the same for a Kinetis (FRDM-KL25Z) and CodeWarrior for MCU10.6. In my workspace (c:\tmp\wsp_10.6) I have a project folder (FRDM-KL25Z).

I’m using the ‘Flash Programmer’ to sneak the needed commands:

Sneaking Commands from Flasher

Sneaking Commands from Flasher

Continue reading

Batch Programming with GDB: Segger J-Link and P&E Multilink

I need to program several boards with a firmware: a number too small for serious batch/factory programming, but a number too high doing this with the debugger. I want this:

  1. Connect the board with the debug probe and power it
  2. Run a script to flash the program and run it
  3. Disconnect and restart step 1.
First set of sensor nodes with two programming adapters

Need to program a few boards…

Continue reading

Tutorial: Using GNU Profiling (gprof) with ARM Cortex-M

I have published a Sneak Preview how GNU gprof profiling looks for an embedded target ARM Cortex-M in an earlier post:

Freescale Kinetis Microcontroller Application Profiling
Freescale Kinetis Microcontroller Application Profiling

This tutorial explains how to profile an embedded application (no RTOS needed) on ARM Cortex-M devices with GNU gprof. Additionally I explain the inner workings to generate the data necessary for gprof.

Continue reading