2.4 Advanced Software Framework v3 and Atmel START Architecture
Atmel START (ASFv3): The Advanced Software Framework (ASF) provides software drivers and libraries to build applications for Atmel megaAVR®, AVR XMEGA®, AVR UC3 and SAM devices. ASF is designed to help develop and bring together the different components of software design.
The ASF folder is divided into six sub-folders based on family of devices. The following list displays the contents of the ASF root folder:
- avr32/
- common/
- mega/
- sam/
- thirdparty/
- xmega/
Each architecture folder and the common directory are divided into several sub-directories, these directories contain various modules, boards, drivers, components, services and utilities. The following sub directories provides an overview of how the various modules are wired together.
- applications/
- boards/
- components/
- drivers/
- services/
- utils/
Atmel START (ASFv4): This is the next generation of ASF built to work as a web-based user interface with GUI for the ease of configuration and usability. ASFv4 represents a complete redesign and implementation of the whole framework when compared with ASFv3. The redesign is made by making a significant change in architecture. The drivers are made as use-case drivers and the folder structure is modified to fit this new architecture. The driver layer is divided into Hardware Abstraction Layer (HAL), Hardware Proxy layer (HPL), and Hardware Register Interface (HRI) layer. HAL remains common across devices, and HPL and HRI vary according to the hardware used.
Harmony v3 | Atmel START | ASF v3 | |
---|---|---|---|
Configuration specific code generation | Yes | Yes | No |
Can get Standalone project | Yes | No (Uses native header files from Atmel Studio) | Yes |
GUI Aided Tool | Yes | Yes | No |
Other Toolchain support | Yes (IAR) | Yes (IAR, Keil makefile) | Yes (IAR) |
Modular download | Yes (GitHub-based) | Yes (Individual project) | No |
Cloud based Tool | No | Yes | No |
Integrated with IDE | Yes (MPLAB) | Yes (Atmel Studio) | Yes (Atmel Studio) |
Framework available as standalone zip | No | No | Yes |
Content Distribution | GitHub repository (to be cloned locally) | Cloud | Part of Atmel Studio Installation |
Peripheral Driver model | Peripheral Configuration specific (plibs) | Use-case specific | Full generic driver |
Business logic available | Yes | No | No |
Native Compiler support | XC32 compiler | GCC | GCC |