The good thing with the internet is: it allows engineers to collaborate. And here is an example: Marc is a reader of this blog had a problem with the I2C hardware of a Freescale Kinetis ARM microcontroller. In his case, the I2C bus could be stuck, and there seems no way to reset it with the I2C hardware on the microcontroller. So a solution would be to reset it with software instead.
There is one week left until all the Sumo robots of the Infotronic course at the Lucerne University of Applied Sciences and Arts will enter a tournament. The robots have to pass a simple tests before they can enter the tournament: to push a ‘dummy’ robot outside the ring. This simple test is used at tournaments to avoid ‘passive’ robots just sitting in the middle of the ring ;-).
The semester is approaching its end, and students are making great progress: with added infrared and ultrasonic sensors, the robots are able to detect the other robot (more or less ). Additionally the RNet stack adds extra remote control capabilities.
Things are very much in the testing phase, and some robot (or operator?) failures are really funny For sure much more advanced moves compared to previous week. Including extra benefits like a robot bringing a bottle of water! The following video hopefully gives an impression:
For my RNet stack I need a way to identify nodes in the network using a unique address. What I need is Media-Access (MAC) address. Base on such a unique address I can assign short addresses (e.g. with a DHCP or similar protocol to automatically assign shorter network addresses). So how to uniquely identify my network nodes?
The Freescale Kinetis microcontroller have nice feature: they have a Unique Identification Register (UID) which would be a perfect fit for a MAC address :-).
Usually, there are two flavors of Sumo robot competition:
- Autonomous: no communication to the robot permitted after the start.
- Remote-controlled: there is a wireless remote controller driving the robot.
Just for fun, I have implemented a wireless remote controller application for my Zumo Robot using the Freescale SRB (MC13123) board. I’m using the Freescale MMA7260Q accelerometer on the SRB board to control the robot.
The INTRO course is progressing fast, with a lot of information passed on how to build a successful mini Sumo robot based on the Freescale FRDM-KL25Z and a modified Pololu Zumo chassis. The PID control loop implementation for speed and position finally starts to work properly with the help of FreeMaster. Things are not perfect yet, but the robots get better from day-to-day.
I was searching the internet for an open source network stack for my nRF24L01+ transceivers. But these stacks were either too heavy or had a restrictive or not really non-open source license behind it. I was very reluctant to start with something I think already should exist. Two weeks ago I decided that I just do it from scratch, and here I am: I have the basics working
In case you are desperately looking a component in the components library view, but somehow it does not show up? For example I know there is component ‘InterruptVector’, but it is not present in the Components library view?
Yes, I have been busy with all the different ARM Cortex Mx cores I’m using in my projects. But beside of the ‘ARM domination of the world’, there are other interesting processors out there. While the ARM cores have added DSP (Digital Signal Processing) capabilities blurring the boundaries between pure MCU and DSP processors, there is still a place (or niche?) for specialized DSP processors. The power of such processors is in the domain of fast signal processing, e.g. for intelligent power switches or for advanced motor control.
Are you using IAR tools and you are jealous looking at what others can accomplish with Eclipse? You wish you could use your IAR build tools but taking advantage of Eclipse too?
I do not want to start a religious IDE war here ;-). At least for IAR, there is a way to bring both worlds together: having IAR build and debug tools integrated in Eclipse :
For the Eclipse and Processor Expert lovers of this world: there is another Eclipse based IDE you can use: ThunderBench made by Emprog:
They support a range of ARM based devices, including the Freescale ones I’m using. So I downloaded the v3.24 30 day trial from their download page last week. Finally I have found some time to try it out. Could this be an alternative to use my Freescale FRDM boards with Processor Expert?
This week I saw on the IAR website that they have released the new IAR Embedded Workbench v6.7 for ARM. I was still on 6.5 using the free code size limited ‘Kickstart’ version), so I thought it would be a good time to upgrade to the v6.7. And there are good reasons as the connection to Processor Expert makes things much easier now.
If you were wondering why I am pushing the FRDM-KL25Z boards hard to the micro-amps, then have a look at this:
The five boards are the first set of prototypes with a FRDM-KL25Z for a battery operated wireless sensor network based on the nRF24L01+ 2.4GHz transceiver.
If you read my posts, then you probably know: I *love* the FRDM boards! But: Freescale has only the lower-end processors available with a FRDM board (yet?). As I need something more powerful for my Raspberry Pi Camera project, I’m using Tower boards instead. This gives me an ARM Cortex-M4 with 120 MHz, Floating Point unit plus 128 KByte SRAM :-).
For that project I need USB. So this post is about using the TWR-K60F120M and TWR-K70F120M with USB connectivity, using the USB CDC device class as example. Initially I thought I can do as easily with the FRDM boards. It turned out, that things are not that easy.
Freescale might not have thought about this: how to use Freescale boards and silicon to develop for non-Freescale silicon?
I tinkered around using the FRDM (e.g. FRDM-KL25Z) board as a general purpose programming or debugging device. See the links to the posts at the end of this article. I have used it to program and debug other Freescale ARM processors. It requires board changes and the usage of a different OpenSDA firmware which has its own limitations (no USB CDC serial bridge). But for about $15-20 I have a device to program my own external boards :-).
If you are using Keil tools, then the good news is: With CMSIS-DAP you can debug any other (even non-Freescale) ARM device as long it is supported by the IDE :mgreen: