RTOS: CMX-RTX
CMX Real-Time Multi-Tasking Operating System products
support MOST 8, 16, 32 and 64 bit embedded Microcontrollers,
Microprocessors and DSPs.
- Supports nested interrupts
- No royalties on embedded code
- All source code supplied
- Extremely fast context switch times
- Very low interrupt latency times
- Several C vendors supported
- Scheduler and interrupt handler written in assembly
for speed and optimisation
- All CMX functions contained in library
- User configurable
- Task management
- Event management
- Timer management
- Message management
- Circular queue management
- Resource management
- Semaphore management
- Fixed block memory management
- Specialised UART management
- Automatic power down management
- Full pre-emption and ability to also have cooperative
and time slice scheduling
TASK MANAGEMENT
Create a task.
Remove a task.
Start a task.
Suspend a task, with time-out provision.
Wake a suspended task.
Forcefully wake a task.
Change a task's priority.
Terminate a task early.
Do a cooperative rescheduling.
Disable task scheduling.
Enable task scheduling.
EVENT MANAGEMENT
Wait on event(s), with time-out provision.
Set an event.
Clear an event.
MESSAGE MANAGEMENT
Get a message.
Wait for a message, with time-out provision.
Send a message.
Send a message, wait for reply.
Wake task that sent message, if waiting on reply.
Wait on Mailbox(s), with time-out provision.
QUEUE MANAGEMENT
Create a circular queue.
Reset queue to empty.
Add to top of queue.
Add to bottom of queue.
Remove from top of queue.
Remove from bottom of queue.
TIMER MANAGEMENT
Create a cyclic timer.
Change a cyclic timer event parameters.
Start a cyclic timer.
Restart a cyclic timer.
Restart a cyclic timer, with new initial time period
and/or new cyclic time period.
Stop a cyclic timer.
MEMORY MANAGEMENT
Create a fixed block pool.
Request free block from pool.
Release block back to pool.
RESOURCE MANAGEMENT
Get a resource.
Reserve a resource, with time-out provision.
Release a resource.
NOTE: the resources have Automatic Priority Inheritance
and highest task waiting on resource will become the
owner, when resource is released.
SEMAPHORE MANAGEMENT
Get semaphore.
Pend for semaphore, with time-out provision.
Post to semaphore.
Flush semaphore.
SYSTEM MANAGEMENT
Initialise CMX.
Enter CMX.
Enter interrupt.
Exit interrupt.
Enter power down mode
UART MANAGEMENT
Initialise UART.
Put UART char, with time-out provision.
Put UART string, with time-out provision.
Get UART char, with time-out provision.
Get UART string, with time-out provision.
Update UART buffer(s)
Initialise UART buffer(s)
KERNEL AWARENESS
CMXKAware(tm) kernel awareness.
For further information call 1300 553 313
or email
RTOS: CMX-TINY+
TINY PLUS Real-Time Multi-Tasking Operating System
for Microprocessors and Microcomputers
The CMX-TINY+ Real-Time Multi-Tasking Operating System is
now available for for processors families such as Freescale
68HC08, Renesas (formerly Hitachi) H8/300 & H8/300H &
H8S, Atmel AVR family, Infineon (Siemens) 80C16x, Toshiba TLCS-900,
Renesas 78K0/K0S, TI MSP430, STMicroelectronics ST7 & STM8S,
and others. CMX-TINY+ provides slightly less functionality than
the CMX-RTX RTOS. It was made to fit within the small amount
of onboard RAM within the silicon, being in the range of 512
bytes and up.
- Control tasks
- Control events
- Control messages
- Control resources
- Control cyclic timers
- Control Semaphores (version 2.00 and up only)
- Interrupts allowed to signal tasks
- True preemption
- Cooperative scheduling allowed
- EXTREMELY Small RAM/ROM size
- Fast context switch times
- Low interrupt latency
For further information call 1300 553 313
or email
RTOS: CMXKAware Kernel Awareness
Embedded systems engineers have long desired the ability
to view their programming applications running under an RTOS
via their debuggers. To meet this important need, CMX has developed
CMXKAware, which integrates seamlessly with a number of the
embedded software industry's leading development tool environments.
The result is a dramatically enhanced debugging capability that
helps to minimise application development time, thereby reducing
time to market for companies that manufacture products that
include embedded systems.
CMXKAware is a DLL or ORTI (OSEK Run Time Interface) that presents
all of the RTOS-specific information on the screen. CMXKAware
allows you to display CMX-RTX's internal data structures in
a convenient series of lists in the RTOS window of the debugger.
This provides you with information about each of the active
tasks in the target application, about each semaphore, resources,
mailbox, queue and event flag group along with a list of all
the tasks waiting on these kernel objects, and more. Data can
be displayed graphically in real-time.
The OSEK Run Time Interface (ORTI) for CMXKAware is a universal
interface for development tools to the CMX-RTX RTOS. This powerful
and flexible interface allows for the evaluation and display
of information about CMX-RTX, its state, its performance, the
different task states, the different operating system objects
etc. The object information is provided via an ASCII text file
and since these implementations are configured statically, this
data will be available at compilation. Additionally, the ORTI
file contains dynamic information as a set of attributes that
are represented by formulas to access corresponding dynamic
values. Formulas for dynamic data access are comprised of constants,
operations, and symbolic names within the target file. By performing
a continuous scan of the internal data structures described
in the ORTI file, debugging tools can extract and display critical
kernel-relative information, such as task states and event traces
for the last four RTOS calls in the application under test.
Further, the CMXKAware ORTI Builder automates the creation of
ORTI files adapted to the CMX-RTX RTOS for debugging purposes,
thereby allowing embedded engineers to focus their efforts exclusively
on debugging their application.
Since the DLL or ORTI utilises the kernel aware API no target
resources are used. Most debuggers are supported.
For further information call 1300 553 313 or
email
CMX TCP/IP Stack: CMX-MicroNet
Supported Protocols
- TCP
- UDP
- IP
- PPP
- SLIP
- IGMP v1
- ARP
- BOOTP
- DHCP Client
- HTTP Web Server
- FTP Client
- FTP Server
- TFTP Client
- SMTP Client
- POP3 Client
- SNMP
- DNS
- SNTP client
- Telnet Server
- SSL/TLS
- SSH
TCP/IP for 8-bit, 16-bit and 32-bit Embedded Processors
CMX-MicroNet has been developed by the company that is famous
for providing complete, elegant solutions to the embedded community -
CMX! CMX's developers have the expertise and hands-on experience
to satisfy the most stringent real time demands that the 8-,
16-, and 32-bit community deals with every day. When we set
about the task of creating the first true TCP/IP stack for these
popular processors, we knew that it had to have:
Only Industry Standard Protocols. Of what benefit are closed,
proprietary protocols that constrain and confuse your development
team? CMX-MicroNet offers only industry standard protocols running
right on your target processor and we provide full source code
with every sale!
Use your Current Processor. Why should you have to upgrade your
current processor, or, worst yet, add another processor just
for TCP/IP? Those hardware costs can really add up! CMX-MicroNet
allows you to work with your current design and still implement
the networking connectivity you need.
An Affordable Pricing Structure.
CMX-MicroNet offers a low, one-time fee and no royalties on
deployed products. And you get the entire source code for free
with every purchase!
For further information call 1300 553 313 or
email
CMX TCP/IP Stack: CMX-TCP/IP
High performance TCP/IP implementation
CMX-TCP/IP is a portable high performance TCP/IP implementation
for embedded systems. Memory usage is localised and deterministic.
It uses the CMX-RTX RTOS signaling mechanisms to provide a true
multitasking reentrant stack. CMX-TCP/IP can also be run without
an RTOS and all of the code is written to make it easy to switch
between modes without extensive source-code changes.
Most network protocols and applications are available, from
BOOTP all the way up to HTTP. There are also test applications,
such as a benchmark server or a ping tester, as well as a few
others. A consistent command shell debug facility for all modules
allows for the interactive execution of debugging commands and
setting debug levels of particular modules via a serial port
or Telnet connection which can be a real plus when bringing
up new Ethernet hardware, etc. At production time, you may simply
link with the non-debug version of the libraries for maximum
memory efficiency.
CMX-TCP/IP Kit includes:
- IP, ICMP/Raw IP, TCP, UDP, ARP, SNTP, DNS name
resolution.
- TCP/IP SNMP MIB can be included, to provide
a plethora of IP performance data.
- RFC compliant TCP support both Standard BSD
Socket interface as well as High performance proprietary
Socket interface
- Standard IBM-PC compatible drivers available
for keyboard, VGA, PCI, serial port, etc.
- Includes a VFS (Virtual File System) with huffman
tree compression for read-only data such as web
pages, for maximum memory efficiency.
- Specific Processor and Compiler port
- Full Source code
- No Royalties on Shipped Products
- Documentation, sample test programs
- Many Ethernet Drivers for a variety of chips
including 91c96, 91c111, cs8900a, etc.
- Free Technical Support
Additional Add-On Options:
- BOOTP, TFTP - Bootstrap Protocol, Trivial File
Transfer(Client/Server)
- DHCP - Dynamic Host Configuration Protocol Server
(Client/Server)
- Flash File System with support for Compact Flash,
MMC, RAM disk, etc.
- FTP - File Transfer Protocol (Client/Server)
- IMAP4 – Internet Messaging Access Protocol,
Version 4
- NAT - Network Address Translation
- POP3 Client – Post Office Protocol
- PPP, SLIP - Point to Point Protocol, Serial
Line Interface Protocol
- PPPoE - PPP over Ethernet
- SMTP Client – Simple Mail Transfer Protocol
- SNMP V1 & V2c - Simple Network Management
Protocol V1 and V2c Agent
- SSL/TLS - Secure Socket Layer / Transport Layer
Security
- Telnet Server
- WEB Server - HTTP Server, includes CGI and SSI
For further information call 1300 553 313
or email
CMX TCP/IP Stack: CMX-INet-Plus
CMX-INet-Plus is an RFC compliant TCP/IP stack offering extensive
security protocols as well as IPv4 and IPv6 support for projects
that require IPv4 now with an upgrade path to IPv6 in the future
or IPv6 now. CMX-INet-Plus will work with or without an RTOS
and offers an extensive variety of networking and security Add-On
options giving the designer the ability to implement only those
options required for their embedded application.
CMX-INet-Plus allows for mixed IPv4 and IPv6 traffic and supports Multicast and Neighbor discovery, delayed acknowledgements and zero data copy for maximum performance. Also includes a Virtual File System for read only data such as web pages.
For further information call 1300 553 313 or
email
Flash File Systems
CMX-FFS is the standard edition
flash file system for embedded systems developers and includes
100% Failsafe, Multiple volumes, Wear-leveling, Directories,
Boot sector support, and Standard drivers for NOR Flash chips
as well as RAM. CMX-FFS-NAND is a NAND Flash driver that also
can be purchased with CMX-FFS and includes 100% Failsafe, Wear-leveling,
and ECC algorithm.
The CMX-FFS Failsafe file system is designed for NOR and NAND flash applications which require the degree of reliability needed to survive power failures, resets and other conditions which typically cause file system corruption.
see image
File API - The file API is a standard interface. All the interface routines are fully re-entrant and provides all standard features for file manipulation such as fopen, fwrite etc. As well as routines for directory manipulation such as mkdir, chdir.
Intermediate File System - This is the control room of the file system. Although the source code is supplied, its detailed operation is not normally the concern of developers using the system. This section does all types of maintenance such as FATs, CRC’s, Bad blocks etc.
Driver Layer - Specific drivers control access between the Intermediate File System and the Physical media. These are kept as simple as possible and generally only need to have minor modifications made to constants to reflect particular flash array configurations and flash chip types.
- PowerFail Safe
- UserAccess Control
- Wear leveling
- Directories
- Re-entrant
- Porting Guide
- Standard API
- Bad Block Management
- Royalty Free 'C' Source
- Fully Integrated with CMX RTOSes and TCP/IP stacks
- Multiple Volumes
- Mix of media types
- NOR Flash Devices (optional)
- DataFlash Devices (optional)
- NAND Flash Devices (optional)
- ECC (optional)
- 6 months Technical Support and Updates
For further information call 1300 553 313
or email
CMX-FFS-TINY is a full-featured flash file system targeted at embedded devices with limited resources available to them and a requirement to reliably store and retrieve data from Flash devices including ST Serial, Small Sector Byte Writable, SST and DataFlash.
Flash devices are inherently complex and every flash type has different characteristics. Each flash type is analysed and a specific version of CMX-FFS-TINY is designed. The result is that the features of a particular device are hidden from the developer. Data can be stored position independently without having to worry about partial writes, partial erases, cumulative erase times and other flash details.
CMX-FFS-TINY opens up new possibilities for developers delivering reliable storage on the smallest devices without having to be flash or file system specialists.
CMX-FFS-FAT is a full-featured, PC compatible file system for embedded device developers who wish to add devices to their products that require FAT12/16/32 compliant media to be attached to them. Typical applications include adding a Secure Digital, Compact Flash or a Multimedia card to a device. The system includes pre-tested sample drivers for ease of development. The API is standard and easy to use with sample applications in source code provided to ensure quick integration. Hardware reference designs are also available.
CMX-FFS-SAFE-FAT is the Fail Safe, PC compatible file system for embedded device developers whose products require FAT12/16/32 compliant media support as well as added protection against the loss of data caused by unanticipated resets. Typical applications include adding a Secure Digital, Compact Flash or a Multimedia card to a device. The system includes pre-tested sample drivers for ease of development. The API is standard and easy to use with sample applications in source code provided to ensure quick integration. Hardware reference designs are also available.
See image
- Fail Safe Operation
- FAT12/16/32
- Long FileNames
- ANSI C compliant
- Standard API (fopen(), fread() etc.)
- Highly Scalable
- Reduced Footprint
- Multiple Simultaneous Files Open
- Handles Media Errors
- RTOS Independent
- Fully Integrated with CMX RTOSes, TCP/IP and
USB stacks
- Robust - Re-entrant
- Royalty Free Source
- Sample Applications
- Comprehensive Programmer's Guide
CMX-FFS-THIN is a full-featured, PC compatible file system for embedded device developers with limited resources available, and wish to add devices to their products that require a FAT12/16/32 media support. The code has been highly optimized for both speed and footprint to allow the developers to extract the most out of their system with a minimum of effort. Typical usage includes adding a Compact Flash card or a Multimedia card to a device. The system includes pre-tested sample drivers for ease of development. The API is standard and easy to use - sample applications in source code are provided to ensure quick integration. Hardware reference designs are also available.
For further information call 1300 553 313 or
email
CMX-USB Device
The CMX-USB device stack offers a wide selection of Add-On
options including an HID class implementation supporting Human
Interface Devices such as a keyboard, mouse or joystick, a full
USB Mass Storage Class with optimised drivers for accessing
MMC/SD cards or other devices, a CDC class implementation for
supporting standard communications ports, Media Transfer (MTP)
Class for portable media devices, Pictbridge Extension for MTP
Class, RNDIS for Remote Networking, ECM for Ethernet Networking
Control, Audio, MIDI, Printer, Personal Healthcare Class and
a Bootloader. USB Mass Storage is fully compatible with CMX-FFS-THIN
and CMX-FFS-FAT File Systems.
- On Chip USB controllers:
Most Cortex-M3 and Cortex-M4 processors; Atmel: AT91SAM7xxx, AT91SAM9xxx, AT91RM9200, AVR32; Freescale: imX2x/3x/5x, JM60/128, MPC834x, MCF52xx, MCF5222x, MCF53xx, MCF54xx; Fujitsu: FM3; Microchip: PIC24, PIC32; NXP: LPC11xx, 2148, 2368/78/88, 2468/78, 28xx, 29xx, 31xx, 32xx; Renesas: SH72xx, RX100, RX600; STMicroelectronics: STR7xx, STR9xx; TI: MSP430, DSP 5509A, 6457.
- External USB controllers:
NXP ISP1XXX and Maxim 3421E
- CDC Class
The CMX-USB-CDC-ACM module enables the designer
to provide a virtual USB serial port on the embedded
target which acts as a standard serial port and
can be accessed using simple, serial API functions.
CMX-USB-CDC-ACM is optimised to use minimal RAM
and ROM and requires just the control channel endpoint
and a single interrupt endpoint.
CMX-USB-CDC-ECM is an Ethernet Control Model driver
handling the exchange of Ethernet framed data between
a USB Host and Device.
- HID Class
The CMX-USB-HID Class driver provides support for
Human Interface Devices such as a mouse, keyboard
and joystick.
- Mass Storage
CMX-USB-MS allows you to connect an embedded system
to an embedded Host or PC and have the embedded
system appear as a mass storage device to the host
system.
- Media Transfer Protocol
CMX-USB-MTP Class driver provides the Windows XP/Vista
compliant Media Transfer Protocol (MTP) widely used
in the design of portable media devices. This class
driver option and Mass Storage alternative, appears
as a standard drive to the host and can also be
used with CMX's file systems to provide synchronised
host / target file system access as well as API
controlled file system access.
- Pictbridge
CMX-USB-Pictbridge is a USB Add-On option which,
when used in conjunction with CMX-USB-MTP, allows
images to print directly from an image source without
the need for a PC. This option also includes XML
parser for encoding and decoding PictBridge protocol
objects.
- Remote Network Driver Interface (RNDIS)
CMX-USB-RNDIS is a class driver that allows embedded
devices to connect to hosts over USB and to appear
as a standard network card. The RNDIS class driver
includes a virtual Ethernet driver with a simple
API that provides for easy integration with a TCP/IP
stack or to another Ethernet driver interface.
- Personal Healthcare Class
CMX-USB-PHDC is a USB device class option designed
for communications requirements for medical devices
used in the healthcare industry.
- Audio Class
CMX-USB-AUD enables an embedded device to play audio
output from a USB host device (PC) or to send audio
input, such as a microphone, to a USB host in conjunction
with the CMX-USB-HID class driver used for audio
device control.
- Printer Class
The CMX-USB-PL class driver enables USB printers
to be attached to an embedded device which generates
pages in the PCL5 format.
- MIDI Class
The CMX-USB-MIDI class driver is available for embedded
USB devices which implement the MIDI (Musical Instrument
Digital Interface) protocol.
- USB Device Bootloader
The CMX-USB-BL Device Bootloader is a standalone
system which allows an application to download new
application code to the target. Using the developers’
trigger mechanism, the Bootloader accepts a new
image from a host and programs it into the device.
The footprint of the CMX-USB-BL is less than 4k
bytes and can be held as a permanent, reliable boot-stub
on a single small sector flash which handles all
future firmware upgrades.
Host developer options for the download program include:
- Complementary sample application that works with the freely available libusb.
- Ability to use generic USB host interface such as Winusb from Microsoft.
For further information call 1300 553 313
or email
CMX-USB Host
CMX-USB Host stacks (OHCI, EHCI and non-compliant) are designed
for processors with both integrated USB host controllers and
external USB host controllers. The CMX-USB Host package offers
Class drivers for Mass Storage, CDC, HID, Audio, MIDI, FTDI,
Hub, OBEX, ECM, RNDIS, MTP, Printer and a Bootloader. CMX-USB
Host Mass Storage is fully compatible with CMX-FFS-THIN, CMX-FFS-FAT,
and CMX-FFS-SAFE-FAT File Systems and will work with or without
an RTOS.
For further information call 1300 553 313 or
email
CMX-USB OTG
The CMX-USB suite offers an optional OTG (On-The-Go) Module
for applications whereby two devices must negotiate and decide
which will act as a USB Host and which will operate as a USB
device. The CMX-USB-OTG module is available for those processors
which are equipped with an OTG controller that supports the
HNP and SRP protocols which are used for USB host and USB device
negotiation.
More often, embedded applications that require both USB host
and USB device capability require dual mode operation. In dual
mode, when a USB host is inserted, the host stack will start
and when a USB device is inserted, the device stack will respond.
This is accomplished by recognition of the ID pin on the USB
OTG connector and is supported by CMX USB host and device stacks.
For dual mode operation, OTG software is not required.
For further information call 1300 553 313 or
email
CMX-USB Bootloaders
USB Host Bootloader
CMX-USBH-BL Host Bootloader provides the ability to
update your product from a flash drive. With a footprint of
less than 12K for code and under 2K RAM, the Host Bootloader
is installed as a permanent bootstub and based on the developers'
design, CMX-USBH-BL can automatically check the flash drive
for a new image and upload it to the target.
USB Device Bootloader
The CMX-USB-BL Device Bootloader is a standalone system
which allows an application to download new application code
to the target. Using the developers’ trigger mechanism, the
Bootloader accepts a new image from a host and programs it into
the device. The footprint of the CMX-USB-BL is less than 4k
bytes and can be held as a permanent, reliable boot-stub on
a single small sector flash which handles all future firmware
upgrades.
Host developer options for the download program include:
- Complementary sample application that works with the freely available libusb.
- Ability to use generic USB host interface such as Winusb from Microsoft.
FAT Bootloader
The CMX-FAT-BL is installed as a permanent bootstub on a target
processor and based on the developer’s trigger mechanism CMX-FAT-BL
will check the system’s media, such as SD/ MMC card, for a new
code image to be programmed into the target. CMX-FAT-BL requires
less than 4K code and less than 1K RAM on an ARM7 device.
For further information call 1300 553 313 or
email
CMX-CANOpen
CMX-CANopen allows for optimised implementations
of CANopen conformant devices.
CMX-CANopen was developed to allow for maximum task optimisation,
especially when used with an RTOS such as CMX-RTX. Even without
an RTOS, CMX-CANopen allows adapting the execution priorities
of critical tasks making CMX-CANopen one of the best performing
CANopen stacks available.
ROM Specifications: 8K - 18K bytes (for CANopen Slaves)
For further information call 1300 553 313 or
email
For more information please contact
the MicroWay sales team: |
 |
Head Office
MicroWay Pty Ltd
PO Box 84,
Braeside, Victoria, 3195, Australia
Ph: 1300 553 313
Fax: 1300 132 709
email: sales@microway.com.au
ABN: 56 129 024 825 |
Sydney Sales Office
MicroWay Pty Ltd
PO Box 1733,
Crows Nest, NSW 1585, Australia
Tel: 1300 553 313
Fax: 1300 132 709
email: sales@microway.com.au
ABN: 56 129 024 825 |
New Zealand Sales Office
MicroWay Pty Ltd (NZ)
PO Box 912026
Victoria Street West
Auckland 1142, New Zealand
Tel: 0800 450 168
email: sales@microway.co.nz |
International: call
+61 3 9580 1333, fax +61 3 9580 8995
|
|