The following is the folder structure generated for a simple project containing a SAM D21 with a single USART.
The root folder contains the following files:
. ├── atmel_start.c ├── atmel_start_config.atstart ├── AtmelStart.gpdsc ├── atmel_start.h ├── atmel_start_pins.h ├── config │ ├── hpl_dmac_v100_config.h │ ├── hpl_gclk1_v210_config.h │ ├── hpl_pm1_v201_config.h │ ├── hpl_sercom_v200_config.h │ ├── hpl_sysctrl_v201a_config.h │ └── peripheral_clk_config.h ├── driver_init.c ├── driver_init.h ├── examples │ ├── driver_examples.c │ └── driver_examples.h ├── hal │ ├── documentation │ │ └── usart_async.rst │ ├── include │ │ ├── hal_atomic.h │ │ ├── hal_delay.h │ │ ├── hal_gpio.h │ │ ├── hal_init.h │ │ ├── hal_io.h │ │ ├── hal_sleep.h │ │ ├── hal_usart_async.h │ │ ├── hpl_core.h │ │ ├── hpl_delay.h │ │ ├── hpl_dma.h │ │ ├── hpl_gpio.h │ │ ├── hpl_i2c_m_async.h │ │ ├── hpl_i2c_m_sync.h │ │ ├── hpl_i2c_s_async.h │ │ ├── hpl_i2c_s_sync.h │ │ ├── hpl_init.h │ │ ├── hpl_irq.h │ │ ├── hpl_missing_features.h │ │ ├── hpl_reset.h │ │ ├── hpl_sleep.h │ │ ├── hpl_spi_async.h │ │ ├── hpl_spi.h │ │ ├── hpl_spi_m_async.h │ │ ├── hpl_spi_m_sync.h │ │ ├── hpl_spi_s_async.h │ │ ├── hpl_spi_s_sync.h │ │ ├── hpl_spi_sync.h │ │ ├── hpl_usart_async.h │ │ ├── hpl_usart.h │ │ └── hpl_usart_sync.h │ ├── src │ │ ├── hal_atomic.c │ │ ├── hal_delay.c │ │ ├── hal_gpio.c │ │ ├── hal_init.c │ │ ├── hal_io.c │ │ ├── hal_sleep.c │ │ └── hal_usart_async.c │ └── utils │ ├── include │ │ ├── compiler.h │ │ ├── err_codes.h │ │ ├── events.h │ │ ├── parts.h │ │ ├── utils_assert.h │ │ ├── utils_event.h │ │ ├── utils.h │ │ ├── utils_increment_macro.h │ │ ├── utils_list.h │ │ ├── utils_repeat_macro.h │ │ └── utils_ringbuffer.h │ └── src │ ├── utils_assert.c │ ├── utils_event.c │ ├── utils_list.c │ ├── utils_ringbuffer.c │ └── utils_syscalls.c ├── hpl │ ├── core │ │ ├── hpl_core_m0plus_base.c │ │ ├── hpl_core_port.h │ │ └── hpl_init.c │ ├── dmac │ │ └── hpl_dmac_v100.c │ ├── gclk │ │ ├── hpl_gclk1_v210_base.c │ │ └── hpl_gclk1_v210_base.h │ ├── pm │ │ ├── hpl_pm1_v201a.c │ │ └── hpl_pm1_v201_base.h │ ├── port │ │ └── hpl_port_v100.c │ ├── sercom │ │ └── hpl_sercom_v200.c │ └── sysctrl │ └── hpl_sysctrl_v201a.c ├── hri │ ├── hri_dmac_v100.h │ ├── hri_gclk1_v210.h │ ├── hri_nvmctrl_v106.h │ ├── hri_pm_v201a.h │ ├── hri_port_v100.h │ ├── hri_sercom_v200.h │ └── hri_sysctrl_v201a.h └── main.c