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.

Figure 2-3. MPLAB Harmony v3, ASF3, ASF4 and Atmel START Architecture Overview
Table 2-1. MPLAB Harmony v3, ASFv3 and Atmel START Architecture Information
Harmony v3Atmel STARTASF v3
Configuration specific code generation YesYesNo
Can get Standalone project YesNo (Uses native header files from Atmel Studio)Yes
GUI Aided ToolYesYesNo
Other Toolchain supportYes (IAR)Yes (IAR, Keil makefile)Yes (IAR)
Modular downloadYes (GitHub-based)Yes (Individual project)No
Cloud based ToolNoYesNo
Integrated with IDEYes (MPLAB)Yes (Atmel Studio)Yes (Atmel Studio)
Framework available as standalone zipNoNoYes
Content DistributionGitHub repository (to be cloned locally) CloudPart of Atmel Studio Installation
Peripheral Driver modelPeripheral Configuration specific (plibs) Use-case specificFull generic driver
Business logic availableYesNoNo
Native Compiler support XC32 compilerGCCGCC