Latest News
|NewsletterIn today’s fast moving world, products have become more sophisticated, while at the same time the life cycle has become shorter and the market has become even more price sensitive. This has led to increased pressure on embedded application designers to turn around designs in ever decreasing time scales.
The pressure intensifies when the designer goes to choose the microcontroller that will be at the heart of the design. When a new design cycle is started, designers are faced with the daunting prospect of trawling through endless lists of devices and associated data in order to find the most appropriate one with the right set of interfaces and peripherals.
While this is a necessary evil for most designers, it would be much better and more cost effective if the design tools not only allowed a quick determination of which peripherals and interfaces would be used in a design, but also suggested a number of devices in which this combination of peripherals exists. In this way, a tool would have narrowed the list of suitable components and already saved a significant amount of time.
Having decided on which device to use, the designer is still faced with the task of programming it with port configurations and operating parameters, where communications ports are involved. What if the design tool was also able to simplify the configuration of these ports and to link appropriate software drivers to the application software? This would make the task much more focused on developing the application and much less on understanding the inner workings of the microcontroller.
After the final microcontroller configuration has been determined, and all the operating parameters have been adjusted, the next task would normally include generation of the boot code and assembler file to lock that configuration into the microcontroller.
It would save the designer even more time if that assembler file were created automatically and included in the application code. To minimise issues in design changes an ideal tool would further enable a designer to review and modify that file, and would include operational parameters like stack and heap sizes, available in fully editable and commented code. Changes to the design would then need a simple adjustment of the configuration files and recompilation of code, thereby removing some of the risks associated with changes to external peripherals.
Ease of use and value for money are probably the two most desirable features a designer would place at the top of a wish list. Next would certainly be the ability to quickly and easily migrate to new designs.
If designers can re-use existing code and configurations when design changes dictate a change of microcontroller, or if the same microcontroller could be reconfigured to support a different set of peripheral requirements, then the tool would have saved them hours of design time and would also have reduced the inventory costs.
A number of design tools offer some of these features, but often require a hefty license fee or support cost and learning how to get the most out of them can be time consuming. Cyan Technology’s integrated design tool set, CyanIDE, supports the company’s full range of microcontroller products and offers a complete development environment.
The design environment has an easy-to-use graphical interface with a representation of one of a family of microcontrollers, together with a list of possible peripherals and interfaces. Deciding which peripheral to use is a simple task of dragging that interface into the image of the device.
Rewiring the microcontroller’s internal connections is a standard feature of Cyan’s range of products, so when minor changes are required the tool enables the designer to decide to which of the ports to connect the peripherals, ensuring an optimum pin configuration.
Once the configuration of the design is complete the design tool automatically produces a configuration assembly file which is included with the boot file when the application is compiled.
If the design changes significantly, or a new application is to be started, the design tool enables the designer to take an existing design project and reconfigure it for use in another microcontroller in the range.
In a project environment where elements of hardware designs are re-used in other products or applications, the use of these saved project files would enable designers to quickly put together applications and configurations from a standard library of their own specific applications, or even from libraries of projects available for manufacturer supplied reference designs or other users’ applications.
Looking to the future the more experienced developer could be supported even more if at the same time the tools were able to run custom designed macros, or scripts to determine such things as power budgets.
For example, if the tool were able to support a scripting language, such as Python, it would be possible for the designer to build up additional features alongside the library of projects. Elements of the configuration could be bench tested and given individual power ratings, which could enable the designer to estimate power budgets as the design is configured and compiled.
With these features the designer simply gets the most from their chosen microcontroller, but also makes that selection process as easy and as painless as possible. The tools mean that the designer can concentrate on developing the application and getting products to market fast.
John Anderson is product marketing manager at Cyan Technology