More Demo Labs and Ecosystems for ColdFire Kirin3
There are too many choices available in the embedded market. In order to develop a good product and release it within schedule, the engineering team has to reply on a mature and affordable platform, or ecosystem. Because the dependency is so tight and system becomes more complex, it is hard to change from one to another. The success or failure for an embedded product has been decided from the very beginning. That is also the reason why Freescale presents MQX solution with Kirin3. However, it is not a bad idea to check out the alternative solutions.
The Kirin3 demo kit presents 6 labs for evaluation purpose. All of these labs cover from command shell, TCP/IP, USB host application and Task Awareness Debugging, which are based upon a complete ecosystem presented by Freescale and ARC/MQX. The Freescale MQX is slightly different from the original ARC MQX. The complementary Freescale version is made up of MQX RTOS, RTCS TCP/IP, MFS FAT/FS, USB Host stack and some host tools.
Obviously Kirin3 is a superset microcontroller of previous released Kirin USB and Ethernet microcontrollers. A lot of demo labs from other software suppliers can also be reused on Kirin3 platform. Some of these demo labs are also included in the enclosed DVD of the demo kit.
Since ColdFire keeps compatible with the popular 68K, many tool vendors have supported for 68K/ColdFire for a long time. I found the announcements or commercials from Green Hill, Micro Digital and other companies as well. But I am only interested in those vendors who offer demo projects for evaluation on MCF52259. Here I try my best to list the demo labs available from the DVD and Freescale web site, so everyone can have an overview of the available ecosystems for Kirin3.
- AN3470: ColdFire TCP/UDP/IP Stack and round robin RTOS (from Freescale)
- AN3455: ColdFire Lite HTTP Server (with compile time FFS from Freescale)
- AN3779: Ethernet Plus USB Applications based on MCF52259 (HTTP/TFTP Server Plus USB Mass Storage Host, with Interniche TCP/IP and CMX USB-Lite stacks. NicheTask has been selected as RTOS)
- MCF52259 CMX USB Lite: This project includes USB device drivers and HID/CDC and host driver, HID/MSD with FAT file system
- MCF52259 USB bootloader Lab: CMX presents a small USB MSD bootloader, very useful in field programming.
- MCF52259 ColdFire TCP/IP and USB: Interniche TCP/IP plus USB stack, as same as AN3779.
- RTOS demo: FreeRTOS presents a LwIP based HTTP web server.
- uC TCP/IP sample: Micrium presents uC/OS based solutions.
- MCF5225x sample code: a test suite comes from Freescale to evaluate the on chip resource diagnostic purposes, running in RAM and flash memory, which make it a perfect code base for ColdFire BIOS.
- MCF52259_CWD: The project has no big difference to RTOS demo.
- MQX examples: MQX 3.0 also includes some example projects additional to the demo labs. These example projects are very small to demonstrate some features for MQX RTOS performance. Meanwhile MQX is a configurable package, you can find other goodies after checking its source tree.
- uTasker: uTasker demo is a valuable demo image which is not listed on DVD, you have to visit uTasker web site to download the image file and evaluate on demo kit. You can easily figure out which demo projects have been used and upgraded to a final design.
Compiler
So far we have Freescale CodeWarrior, IAR Yellow Suite and CodeSourcey GCC (we have many GCCs with different combinations). Of course CW is our first choice, which also supports TAD for MQX, ThreadX and RTXC. CW and IAR CC have IDE with assembler, compiler and linker. The developer can also integrate GCC with CW or Eclipse. GCC is the only choice for developing Linux. Most of the demo projects use CW as default compiler. But you have to buy or subscribe license from Freescale or use 128K special edition after two month evaluation period.
RTOS
MQX: As the official release from Freescale, it includes key components of MQX RTOS, MFS, RTCS, USB and Shell. It also offers a TAD plug-in for CodeWarrior and a trivial file system translator.
FreeRTOS: Recently FreeRTOS becomes a popular open source RTOS on many microcontrollers, including AVR/ARM/PIC. It is valuable to port the design from other platforms to ColdFire. The demo project includes FreeRTOS kernel for ColdFire and LwIP v1.3. Obviously the designer has to find other components to complete the package.
Micrium: uC/OS package includes uC/OS-II kernel, uC/TCPIP, uC/TTCP, uC/Probe, uC/Lib and uC/CPU. The enclosed Application notes and documents for each component are helpful in understanding uC/OS. As one open source RTOS, it is quite popular in many microcontrollers as FreeRTOS does. It has some specific requirement for its demo projects, like linker, debugger, and head file...... Anyway, some projects run smoothly, the other will prompt link errors in case you are using default setting. Among these demos, Micrium has not offered a complete plug and play demo, which requires more attention.
CMX: CMX has been a ColdFire partner for years. However, CMX RTOS is not a preferred RTOS candidate for ColdFire. Maybe there are some commercial reasons behind this situation. Alternatively, USB stack from CMX is very popular. Not only ColdFire, but also 8/16 bit Freescale microcontrollers have been available with complementary CMX USB stack.
Today, RTOS is not only a kernel, but also a total package involves TCP/IP, USB, GUI, FFS and industrial standard communication protocols. These components are sold individually. For commercial reasons, Freescale can not release full source of complete package for the silicon users, but a reduced versions from the RTOS suppliers. I tried my best to evaluate all of these demo products. I have to say, most of the demo projects are sharing same concept, such as an http web server project with USB host and mass storage device. Nothing new, however, it gives me a chance to judge the performance on a same standard. The demo project is a typical multitasking application, the kernel has to handle command line, TCP/IP stack with HTTP web server, FTP server, DHCP server, and USB host stack with FAT file system and mass storage driver. It is really a challenge for a design.
FreeRTOS has not offered a complete design, and its web page is quite simple. That makes it fastest project. CMX demo has problem in reloading web page concurrently sometimes. And uC/OS, I can not run all of the demos successfully. I believe those uC/OS demos should be able run on Kirin3 if we change the CW settings according to its application note.
MQX has the most stable performance, no picture or web page loading problems, its FTP upload speed is much faster than my expectation for an embedded microcontroller. Additionally, MQX offers a state-of-art AJAX web design with host tool, rather than the legacy web page from other suppliers. So MQX wins.
TCP/IP
Since FreeRTOS demo integrates LwIP as its TCP/IP stack. We can use this demo for anything running on LwIP. I am planning a project running HTTP web server and Bluetooth LwBT over LwIP. That makes FreeRTOS much attractive than other suppliers for this project. Alternatively, we can also port uIP to FreeRTOS and uC/OS-II.
FAT
Among these demos, MQX and CMX offer FAT/FFS over USB mass storage devices and internal flash memory. We don't have too many choices from Freescale, but we can reuse the code of uC/FAT for Smart Media (uC/OS demo) and efsl for SD card. The latter one is a popular solution, which can be used in any microcontroller with SPI simulated SD card slot.
USB
Besides to MQX, CMX USB stack is the most complete USB stack for ColdFire, with USB Host (MSD+HID) /Device (MSD+HID+CDC) /OTG stacks. CMX USB stack has been integrated with NicheTask by Freescale. But none of the demo projects has offered a CDC host driver, which is valuable for connection to all kinds of USB dongles to WiFi, Bluetooth and mobile phone. Now Kirin3 has to connect to these modules via CF port (on MCF52259EVB only), serial port (very slow) or SPI (for SDIO modules). The TCP/IP stack must be upgraded in case we involve extra IP connections into the design. Please let me know if there is any open source candidate.
Hardware Debugger/Emulator Tools
It is interesting to learn that the demo kit and evaluation kit are using different on board debugger. The demo kit uses JM60 BDM / JTAG OSTAP (ColdFire v2-v4 JM60 OBDM), and the evaluation kit uses PEmicro USB. I have no idea if other debuggers like IAR, GDB can use JM60/PEmicro to debug and download.
Conclusion
After the first round research, we can find out that MQX is a good choice for ColdFire, which covers most of your requirement from IDE, debugger, programmer, RTOS, USB, TCP/IP, FAT and host tools. And MQX is still releasing new versions. We can expect more features from MQX. The only concern is the license for CodeWarrior. But a serious project can subscribe a license from Freescale, otherwise you have to install it times by times or use a 128K special edition. In some cases, like porting existing projects from other platforms to ColdFire with FreeRTOS, uC/OS-II, you still can leverage your investment on previous projects.
Read the Italian version: Più demo lab ed ecosistemi per ColdFire Kirin 3
CONTACT REQUEST
If you want to know more about this Freescale product, please submit your request to Arrow Italy using this form.
NOTE: this form is valid ONLY for Companies or Customers based in Italy and working in the Italian area.
- allankliu's blog
- 586 reads





Post new comment