Atmel’s Studio 6 – which supports a wide range of ARM Cortex-M and AVR microcontrollers – allows applications to be written in C/C++ or assembly code. As Jonathan Page of MSC Gleichmann notes in a recent Electronics Weekly article posted by Richard Wilson, Atmel’s IDE facilitates a “top-down design approach” for embedded systems development.
“As a result it can avoid the need to rewrite significant portions of the code for each port to a different MCU variant or architecture,” Page explains. “With Atmel’s Software Framework (ASF), functions are implemented using a common API that abstracts away the device-specific features to maximize the portability of application-level code. This allows code developed for one target MCU to be recompiled for a new target device.”
More specifically, ASF utilizes a layered architecture with four primary categories: component, service, peripheral and board. The starting point in the ASF design process is at the top with the user application.
“This normally interfaces directly to the component and service modules unless the application needs direct access to any low-level device functions provided by the peripheral and board layers, [as] the service layer takes care of all the MCU’s internal hardware features,” Page continues. “Standardization is key to making ASF easy to use, meaning that modules operate in a consistent way using API calls like module_start(…) and module_stop(…).”
In this way, says Page, ASF enables common code development for 8-bit and 32-bit targets, providing not only a standard software library of functions and peripheral drivers but also enabling third party code libraries and associated tools.
“For example, Atmel Gallery provides a moderated App Store feature for Atmel Studio 6.0 extensions that allows access to free, evaluation and paid-for content from Atmel-certified third party development partners,” Page points out. “Typically up to 50% of the code requirements for a new project can be realized from these libraries, to say nothing of the savings that can be achieved when retargeting an application to another MCU.”
Software frameworks, once the domain of enterprise computing, are now clearly delivering productivity and efficiency benefits in embedded applications.
“The concerns of conservative developers, previously reluctant to move beyond the comfort of familiar IDE tools, can be finally been allayed with a software framework providing a true top-down design solution,” Page adds. “This approach achieves all the benefits of hardware abstraction and design portability across a wide range of target devices while losing none of the performance advantages.”
The full text of the Electronics Weekly article is available here.