In this semester course, students (and myself too, of course :-)) are building a Mini Sumo Robot. That robot is using the Freescale FRDM-KL25Z board with an ARM Cortex-M0+ on it. Today I’ll give an introduction to the ARM core to the class, and timing is right: this morning I have found an excellent overview about ARM microcontroller and tools written by Jay Carlson.: Getting Started with ARM Microcontrollers.
Optimized BitIO_LDD Programming with Processor Expert
In my tutorial “Bits and Pins with Kinetis” I showed how to use the BitIO_LDD approach for Bit I/O access. I do not like this LDD (logical device driver) approach for several reasons:
- It requires an extra ‘device handle’ passed to the functions, even if such a device handle is not needed or desired.
- The code efficiency/size is negatively impacted by this.
Luckily, there is a way to hack around this 🙂
Zumo Robot Chassis PCB arrived!
Excellent news: I received this week the 40 INTRO Zumo Robot Base/Chassis PCBs, ready to bring the Zumo Robot project based on the FRDM-KL25Z board from Freescale to the next level:
New CodeWarrior for MCU10.5
On Friday, Freescale has updated CodeWarrior for MCU10 from V10.4 to V10.5, available on http://www.freescale.com/cwmcu10. I have not had much time to use it over the week-end, but here is a list of the things which in my view will make me switch my projects over to 10.5 and use it in my university classes:
- Smaller: smaller setup and less disk space
- Faster: faster debugging and flashing
- Features: Eclipse Juno, detachable editor views, ‘unlimited’ breakpoints, simplified debugger attach/connect/download, and more.
Mini Sumo Robot with Proximity Sensors
The new semester is approaching fast! And I’m under pressure to get everything lined up and ready. This time, I want the students of the INTRO (Infotronic) course at the Lucerne University of Applied Sciences and Arts to have some fun with building and programming Mini-Sumo Robots 🙂
Mini Sumo Robot Competition running with FRDM-KL25Z
Every three years, there is the “Eidgenössisches Schwing- und Älplerfest” in Switzerland. A really big thing for us here. If you are not familiar with what this is, then have a read about the long tradition of Schwingen in Switzerland.
Wondering what “Schwingen” or wrestling has to do with a technology blog? It is about having fun with robots!
The Freescale OpenSDA Trap: “No Device Available”, or something like that….
Self-Motivation: I write this post in the hope to cut the number of ‘please help me’ emails in my inbox ;-):
If you want to debug one of the Freescale boards with OpenSDA (FRDM-KL25Z, FRDM-K20, FRDM-KL05Z, FRDM-KL46Z48M, FRDM-KL02Z, TWR-KL47Z48M, …), and if you get this dialog …
… then read on.
Fail! The Zumo Shield Blade Problem
Ahhhhrg! I admit: I’m not immune to all the silly problems an engineer can face in his life. And sometimes it is about the most basic things. This morning was again such a day: One of the infrared sensors of my Zumo Robot reported wrong values:
Electric Race Car “julier” wins at Red Bull Ring in Spielberg
I’m very, very proud about what the FSE (Formula Student Electric) team accomplished! After winning the overall 1st place in Silverstone (UK), the overall 2nd place in Hockenheim (Germany), they managed to win the Formula Student event in Spielberg (Austria) too 🙂
Optimized FreeRTOS: Stack Check and SysTick for ARM Cortex Cores
The ARM Cortex specification includes the ‘SysTick’ (System Tick Timer): a dedicated system timer which is intended to be used as time base for an RTOS. While technically it would be possible to use any periodic interrupt timer, I’m using as well the SysTick for my FreeRTOS ARM ports. And because Processor Expert includes a nice timer interface, I’m using the TimerUnit_LDD:
While this is great for flexibility, it has its price in efficiency. That TimerUnit_LDD adds overhead. So I want to get rid of the TimerUnit_LDD and use a more efficient way.






