March News

Freescale K40 development

KwikStix boxes from Freescale

Another five K40 cards to test CAN networks.

There are several solder test points which we will use to connect CAN transceivers on small prototype boards. The other side of the KwikStix board has a LCD display. Our real-time kernel will be used to test this later.

The K40 development board includes a Seggar J-Link probe. There are no Mac OSX drivers, so we used the Crossworks under Windows for the K40 work. We originally bought K40 boards at $25—these were updated and were around $35 ex-freight. They will be used to test I2C temperature sensors and PWM drivers for heaters.

Source code for the Pounce Consulting examples is now available, whereas the original version had little other than circuit diagrams.

Freescale K60 development

Following on from February, we continued working on the Kinetis K60 Tower with the Rowley Associates Crossworks tools. The new ARM announcement of a free reference real-time kernel based on the CMSIS will no doubt cause some problems with existing versions of kernels trying to make a living. We have downloaded the code and looked into more detailed documentation of the NVIC to see how to handle context switches and auto-generated code for creating tasks from spreadsheet input.

As part of the Freescale offering, they have the MQX kernel ported to Keil and IAR compilers. We would like admission control and interface to tools that generate the schedule from some of our auto-generated code. Initial efforts were written some time ago in Objective-C on Mac OSX, however, after a six month gap, the code looked foreign. (Much like not speaking a foreign language for a while, you tend to forget most of it). So we decided to write the programs in straight C to simplify porting by others without relying on specific hardware. The intermediate file format is XML, as most of the software is parsing strings (ASCII or UTF-8) strings. It will also be used as part of our structured publishing.

Test Equipment

We had been in the market for an oscilloscope for some time, as we returned to hardware development. There was a special on Hameg during February for a free CAN decoding option. We ordered a dual channel version with an eight channel logic analyzer option. This compliments our 16-channel LeCroy logic analyzer bought in January. We will use them to instrument the real-time kernel work.

Code Coverage and Tracing

We wrote some preliminary software for the K60 with variables that are written to for code coverage and tracing. The software instrumentation will be ideal for multi-core work—it is our intention to leave the instrumentation in all targets and plug in a SPI based probe for visualization on a logic analyzer or to gather statistics over Ethernet (not real-time and from circular buffers that are overwritten). The CAN networked nodes will also have some debug capability, but much more limited compared to Ethernet connected devices. The earlier work done for Trace and Profile Survey (PDF) 684 kBytes will be referenced when developing the K60 initial boards, as there are a lot of patents that have—, or are close to expiring.