For all those programmers out there that wish to explore a new programming paradigm, IsoMax for ARM is available as a preliminary release from New Micros on 2106 and 2129 development boards. While fully functional, the final set of features is still variable and open to suggestions. [www.newmicros.com] As an introduction to IsoMax, let's start with what most of us do best: we write sequential programs. This problem solving methodology originated way before computers and is really an extension of our thinking and the world we live in. Since we live in a time ordered universe, things unfold sequentially. The most widely used programming languages allow us to sequentially describe solutions to problems that we are solving whether it be a blinking LED, a motor control sequence, a protocol stack, etc. We run into limits though when the paradigm no longer fits. This could be memory, processor speed, or other resource limits. Doing one thing at a time is easy. The difficult side to programming is doing many things at once. Again, like the world we live in, multiple things happen sequentially and also at the same time. This parallel dimension of the world makes programming much more difficult and the nexus of solutions to manage the complexity usually involves an RTOS or at least some multi-threaded, time-sharing mechanism which takes the single processor resource and shares it with multiple programs which operate like they are all running in parallel. IsoMax takes a different approach. The world can be thought of as a collection of state machines where each state machine runs independantly of each other and can be used to locally describe sequential events that cause actions and new states that describe a changed state. IsoMax embraces this state machine paradigm fully and gives structure to your programs allowing you to program sequentially and in parallel by partitioning a program into multiple state machines each running independant of the others. For instance, in a sensor pod each sensor would have a state machine which be responsible for the sensor and other state machines would be added to further process the sensory data as needed. Both synchronous and asynchronous state machines are supported. Synchronous state machines are ones that run according to a clock while asynchronous state machines are ones that are triggered by hardware events such as interrupts. Even more difficult than parallel programming is trying to get interrupts to work. IsoMax for ARM puts a thin layer on top of all the interrupts taking care of the complexity and makes them easy to program, just like normal programming. Probably the most powerful way to get an ARM resource up and running using interrupts is interactively. Instead of editing, saving, compiling, linking, downloading, testing, kaput; imagine modifying and testing interrupt code using command line access on the ARM while it is running. The beauty of the whole system is all that you need to program IsoMax for ARM is to have a serial COM port that runs at 115k or a USB port, a terminal program and a text editor. In addition to the state machine support, the IsoMax for ARM system includes a command line, a compiler and debugging tools. Briefly, IsoMax for ARM includes a fully supported state machine programming paradigm, 1 us timeouts, queues, high level interrupts, fuzzy logic, random numbers, flash storage, full peripheral register access, autobooting, floating point, interactive development, full 32 bit, double numbers for 64 bit, debug facilities and it runs real fast. If you are interested in trying out this system or would like to participate in its final feature list, contact New Micros on the web. Thank you for your time. Rob
Message
IsoMax for ARM
2004-11-03 by chazeltopman
Attachments
- No local attachments were found for this message.