ARM Content

In Atmel START, the drivers and software stacks for ARM devices are provided as a part of the next iteration of ASF4. This version is built from scratch and is a complete re-design and re-implementation of the whole framework to resolved issues reported by users and contributors of older ASF versions, and to better integrate with the START web UI. It has still been a goal to keep ASF4 feel familiar for experienced ASF users, yet easy to get started with for new users. Some changes in ASF4 has been necessary to meet the requirements for this version, the most important changes are listed in the ASF4 API manual.

ASF4 is tightly integrated into START, which means that the ASF4 code can be much more tailored to the users' specification than before. For instance, instead of using C preprocessor conditional expressions to enable/disable code blocks, disabled code blocks can be entirely removed from the project source which results in cleaner and easier to read code. The integration into START means that software configuration is done in a much more user-friendly environment and the only configuration information loaded on the device is the raw peripheral register content, which makes the firmware image much more compact.

One important issue we have addressed is the memory footprint and performance of the ASF4 based code. Flash requirements for running ASFv3 based code has been deemed too high by many users. This has been addressed by using code generation and changing the way peripherals are initialized. Performance issues that have been reported are typically high interrupt latency/slow code execution, which has been resolved by making the interrupt handlers smaller and less complex. Some benchmark numbers comparing ASF4 and ASFv3 can be found in the ASF4 API reference manual.

Detailed description of ASF4 can be found in the ASF4 API Reference Manual.