February News

TI and Freescale development

We spent a lot of time on Texas Instruments DSP and Luminary Micro parts during January and February, however, our first complex board will use a Freescale part, the Kinetis K60. They have a slight speed advantage and a bit more memory, so for a first run of boards, we will continue with the CrossWorks software on the K60 Tower and the K40 KwikStix (we ordered another 5 to test out some CAN networking).

CrossWorks screen debug snapshot

A screen snapshot of Rowley Associates’ CrossWorks debugging a K60 project. A larger screen shot is available here (1920 x 1080 size of 317 kBytes).

The Rowley Associates CrossWorks for ARM was upgraded to version 2.2 recently, and as always, a pleasure to update and get licence keys. There are some nice enhancements which we have tried under Windows. We have not updated the Mac OSX version yet, as we will be moving to Windows for greater support on the JTAG drivers. Some boards have on-board JTAG probes, without much in the way of bypassing them (Freescale KwikStix for the K40 has a Segger probe and a solder footprint for a JTAG header), but the Seggar probe does not work on the Mac — no driver to download. On the Tower, the K60 board is connected to the CrossConnect probe from Rowley which runs on the Mac and Windows. When we need to do on-site work, it will be a cheap Windows laptop. Our Mac laptop is about six years old, so we moved most of the work onto a MiniMac server which is office bound. The Mac laptop was upgraded to the new version of Crossworks for testing multiple CAN nodes later.

Time off

February was reasonably kind to us. We had a few days off and went to Halls Gap in the Grampians, part of Victoria.

McKenzies Falls in the Grampians

MacKenzie Falls

Digital Signage

Screen shot of Firefox on iMX53

Screen snapshot of Mozilla’s Firefox browser on the iMX53 with the capture window still visible. Connecting to the Internet was simple.

The iMX53 was put through a few more paces. We have decided to abandon embedded Linux, as the missing pieces at the end of the boot messages are what we would have to sort out for interfacing to CAN and lower-level networks. The cost of the main board with the DVI connector was almost $200, and that is without hard drives or what the Apple mini-Mac provides for ease of use at around US$500. The OpenGL on the ARM cores that uses the Imagination GPU does not support bare-metal to the best of our knowledge, so for graphics work, we will stick to the Mac. The Ubuntu Linux port makes it really difficult to get around, and there was no usual root terminal. People buying open boxes to place into bigger systems need a root terminal interface, and without having to go onto forums and hunt down the solution, we felt our target customers would be even less willing than us to pioneer. We had plenty of earlier embedded Linux exposure during a previous life when MIPS still had a presence — assembling the tools, the root file system, the proper kernel and patches, ..., it’s all too hard.

The Firefox browser worked, the OpenGL demos worked, but the struggle to try and get to a shell was frustrating. There don’t seem to be simple instructions on duplicating the SD card structure in case something goes wrong (as it always does). By the time it gets a box, power supply and is ready for a customer’s graphics or movie, they are not going to want to learn any more than what they already know on a Mac or Windows PC. So for now, that one is on loan to a friend who would like to test it for a music server.


February was spent writing software and deciding on the final configuration of the first industrial controller. Still not completely buttoned down. The investment on the software side is so huge that the price of the chips for low volumes is immaterial (not that we want to pay a fortune), but there must be almost five thousand pages to wade through of the Freescale and ARM documentation. We have also been through most of the Luminary documentation (not that different to the K60 as they are both Cortex-M processors). The LM4F232 is another beast (single precision floating point for a context switch and the Luminary Stellaris Firmware preprogrammed into ROM). The initial trials used the TI Code Composer, but the updated Crossworks (2.2) should be able to see the ROM version.

Whenever we loaded up Code Composer with an evaluation board, it seemed to overwrite some directories, and having multiple projects or processors in one Eclipse workspace is not straight forward. The effort involved in evaluation was not much, so a reload did not take long, however, during the downloads for the Concerto (DSP and ARM), we opted for a full version with a 30 day licence.

Even though the installation was removed, the later Code Composer still sees the licence. We used Version 4.2.4.

The Rowley Associates CrossWorks tools are happy to work on multiple projects and processors.

Test Equipment

We were hoping to stick with software and avoid soldering irons. That did not work, and we have bought a LeCroy logic analyzer that connects to a PC with 16 channels. It is also able to decode all the protocols we are interested in, besides CAN. A scope that has mixed signal capability and can decode CAN/LIN messages is on order and should be here in March. Our networks will be CAN and Ethernet based, plus the temperature sensors will be on I2C. Plenty of peripherals also use SPI, so the logic analyzer will be most helpful. Ultimately, it will be used for real-time monitoring. Plenty of work there and lots to post of several years of research that never made it onto this site.