Developing from a blank sheet of paper.
Time to market is an imperative, no matter what market you are addressing. One of the ways in which time to market is cut is by reusing components – IP blocks, for example. Another is to take advantage of the growing number of reference designs available. But every so often there will come a project where you have to start from scratch. Whether you're building systems or writing software, there will come the moment when the first boxes are drawn and lines start to link those boxes. Embedded software design can be one of the more challenging tasks. Looking to make the development process more efficient, Quadros Systems has created QuadrosRTXC, which is said to be an easy to use development tool that allows application engineers to graphically design embedded applications and then generate full C code. Kevin Pope is managing director of Nohau UK, which is UK distributor for Quadros. He said: "VisualRTXC has been developed specifically to address the 'blank sheet of paper' process. It will bootstrap the OS, create tasks, mailboxes and sequences that are ready to run in the correct order." VisualRTXC represents the application in graphical form with a visual icon for each code element, allowing engineers to model and build their design at a higher level. The tool supports each of the typical design stages used to build an embedded application: data flow diagrams; flowcharts; and code. A VisualRTXC project begins with a data flow diagram and drag and drop blocks that relate to the kernel code entities and the rtos objects with which they interact. For each code entity block in the data flow diagram, VisualRTXC creates a flowchart template using standard symbols. Kernel services are appended to the flowchart. The user then organises and edits the flowchart symbols to create the desired process flow. Users can also add additional elements using the flowchart icons in the VisualRTXC toolbar. During each step, the user is prompted to provide input, make decisions, define project elements and add specific application code where needed. Pope believes the package provides significant benefits over similar tools. "There are generic CASE tools out there," he said, "but they are non operating system specific. That means their outputs have to be 'fudged', code has to be run and, when it finishes, it calls in a state machine. This isn't a state machine, it's a proper generation of code from a diagram." Using VisualRTXC is just like working with a blank sheet of paper, Pope claimed. "Typically," he continued, "most people will need to allocate areas of the product under design – a GUI or an HMI, for example – then start to make design decisions. "Most products are likely to have some form of HMI," he continued, "so that can be created as a block on the blank sheet. It's also likely to have some form of sensing on the outside, so there's a need for a sensor management systems and that can go on the blank sheet. Similarly, a TCP/IP manager and a variety of other things, including a file system and a USB device stack. "You can start out with these elements as blocks on the diagram and connect them together, while putting queues and semaphores between them."