sd mmc driver from "scratch"

stable
penguin 3 years ago
parent 68e3ec2a40
commit 0986bdc88c

@ -42,18 +42,14 @@
<description>Atmel Start Framework</description>
<RTE_Components_h>#define ATMEL_START</RTE_Components_h>
<files>
<file category="doc" condition="ARMCC, GCC, IAR" name="hal/documentation/calendar.rst"/>
<file category="doc" condition="ARMCC, GCC, IAR" name="hal/documentation/mci_sync.rst"/>
<file category="doc" condition="ARMCC, GCC, IAR" name="hal/documentation/spi_master_sync.rst"/>
<file category="doc" condition="ARMCC, GCC, IAR" name="hal/documentation/usart_sync.rst"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hal_atomic.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hal_cache.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hal_calendar.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hal_delay.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hal_gpio.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hal_init.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hal_io.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hal_mci_sync.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hal_sleep.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hal_spi_m_sync.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hpl_cmcc.h"/>
@ -67,7 +63,6 @@
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hpl_i2c_s_sync.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hpl_init.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hpl_irq.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hpl_mci_sync.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hpl_ramecc.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hpl_sleep.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hpl_spi.h"/>
@ -82,18 +77,15 @@
<file category="source" condition="ARMCC, GCC, IAR" name="hal/src/hal_gpio.c"/>
<file category="source" condition="ARMCC, GCC, IAR" name="hal/src/hal_init.c"/>
<file category="source" condition="ARMCC, GCC, IAR" name="hal/src/hal_io.c"/>
<file category="source" condition="ARMCC, GCC, IAR" name="hal/src/hal_mci_sync.c"/>
<file category="source" condition="ARMCC, GCC, IAR" name="hal/src/hal_sleep.c"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/utils/include/compiler.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/utils/include/err_codes.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/utils/include/events.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/utils/include/utils.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/utils/include/utils_assert.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/utils/include/utils_decrement_macro.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/utils/include/utils_event.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/utils/include/utils_increment_macro.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/utils/include/utils_list.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/utils/include/utils_recursion_macro.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/utils/include/utils_repeat_macro.h"/>
<file category="source" condition="ARMCC, GCC, IAR" name="hal/utils/src/utils_assert.c"/>
<file category="source" condition="ARMCC, GCC, IAR" name="hal/utils/src/utils_event.c"/>
@ -138,19 +130,6 @@
<file category="header" condition="ARMCC, GCC, IAR" name="hri/hri_trng_e54.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hri/hri_usb_e54.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hri/hri_wdt_e54.h"/>
<file category="doc" condition="ARMCC, GCC, IAR" name="documentation/sd_mmc.rst"/>
<file category="source" condition="ARMCC, GCC, IAR" name="sd_mmc/sd_mmc.c"/>
<file category="header" condition="ARMCC, GCC, IAR" name="sd_mmc/sd_mmc.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="sd_mmc/sd_mmc_protocol.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="diskio/diskio.h"/>
<file category="source" condition="ARMCC, GCC, IAR" name="diskio/sdmmc_diskio.c"/>
<file category="doc" condition="ARMCC, GCC, IAR" name="documentation/diskio_sdmmc.rst"/>
<file category="doc" condition="ARMCC, GCC, IAR" name="documentation/fatfs.rst"/>
<file category="other" condition="ARMCC, GCC, IAR" name="fatfs/.clang-format"/>
<file category="source" condition="ARMCC, GCC, IAR" name="fatfs/src/ff.c"/>
<file category="header" condition="ARMCC, GCC, IAR" name="fatfs/src/ff.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="fatfs/src/ffconf.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="fatfs/src/integer.h"/>
<file category="source" condition="ARMCC, GCC, IAR" name="main.c"/>
<file category="source" condition="ARMCC, GCC, IAR" name="driver_init.c"/>
<file category="header" condition="ARMCC, GCC, IAR" name="driver_init.h"/>
@ -158,7 +137,6 @@
<file category="header" condition="ARMCC, GCC, IAR" name="examples/driver_examples.h"/>
<file category="source" condition="ARMCC, GCC, IAR" name="examples/driver_examples.c"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hal_usart_sync.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hpl_calendar.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hpl_missing_features.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hpl_reset.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hpl_spi_m_async.h"/>
@ -166,10 +144,8 @@
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hpl_spi_m_sync.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hpl_spi_s_async.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hpl_spi_s_sync.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hpl_timer.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hpl_usart_async.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/include/hpl_usart_sync.h"/>
<file category="source" condition="ARMCC, GCC, IAR" name="hal/src/hal_calendar.c"/>
<file category="source" condition="ARMCC, GCC, IAR" name="hal/src/hal_spi_m_sync.c"/>
<file category="source" condition="ARMCC, GCC, IAR" name="hal/src/hal_usart_sync.c"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hal/utils/include/parts.h"/>
@ -187,17 +163,8 @@
<file category="header" condition="ARMCC, GCC, IAR" name="hpl/pm/hpl_pm_base.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hpl/port/hpl_gpio_base.h"/>
<file category="source" condition="ARMCC, GCC, IAR" name="hpl/ramecc/hpl_ramecc.c"/>
<file category="source" condition="ARMCC, GCC, IAR" name="hpl/rtc/hpl_rtc.c"/>
<file category="header" condition="ARMCC, GCC, IAR" name="hpl/rtc/hpl_rtc_base.h"/>
<file category="source" condition="ARMCC, GCC, IAR" name="hpl/sdhc/hpl_sdhc.c"/>
<file category="source" condition="ARMCC, GCC, IAR" name="hpl/sercom/hpl_sercom.c"/>
<file category="source" condition="ARMCC, GCC, IAR" name="hpl/systick/hpl_systick.c"/>
<file category="source" condition="ARMCC, GCC, IAR" name="sd_mmc_start.c"/>
<file category="header" condition="ARMCC, GCC, IAR" name="sd_mmc_start.h"/>
<file category="source" condition="ARMCC, GCC, IAR" name="diskio_start.c"/>
<file category="header" condition="ARMCC, GCC, IAR" name="diskio_start.h"/>
<file category="source" condition="ARMCC, GCC, IAR" name="fatfs_main.c"/>
<file category="header" condition="ARMCC, GCC, IAR" name="fatfs_main.h"/>
<file category="header" condition="ARMCC, GCC, IAR" name="atmel_start.h"/>
<file category="source" condition="ARMCC, GCC, IAR" name="atmel_start.c"/>
<file attr="config" category="header" condition="ARMCC, GCC, IAR" name="config/hpl_cmcc_config.h"/>
@ -207,13 +174,9 @@
<file attr="config" category="header" condition="ARMCC, GCC, IAR" name="config/hpl_osc32kctrl_config.h"/>
<file attr="config" category="header" condition="ARMCC, GCC, IAR" name="config/hpl_oscctrl_config.h"/>
<file attr="config" category="header" condition="ARMCC, GCC, IAR" name="config/hpl_port_config.h"/>
<file attr="config" category="header" condition="ARMCC, GCC, IAR" name="config/hpl_rtc_config.h"/>
<file attr="config" category="header" condition="ARMCC, GCC, IAR" name="config/hpl_sdhc_config.h"/>
<file attr="config" category="header" condition="ARMCC, GCC, IAR" name="config/hpl_sercom_config.h"/>
<file attr="config" category="header" condition="ARMCC, GCC, IAR" name="config/hpl_systick_config.h"/>
<file attr="config" category="header" condition="ARMCC, GCC, IAR" name="config/peripheral_clk_config.h"/>
<file attr="config" category="header" condition="ARMCC, GCC, IAR" name="config/conf_sd_mmc.h"/>
<file attr="config" category="header" condition="ARMCC, GCC, IAR" name="fatfs/src/conf_fatfs.h"/>
<file category="include" condition="ARMCC, GCC, IAR" name=""/>
<file category="include" condition="ARMCC, GCC, IAR" name="config"/>
<file category="include" condition="ARMCC, GCC, IAR" name="examples"/>
@ -229,19 +192,10 @@
<file category="include" condition="ARMCC, GCC, IAR" name="hpl/pm"/>
<file category="include" condition="ARMCC, GCC, IAR" name="hpl/port"/>
<file category="include" condition="ARMCC, GCC, IAR" name="hpl/ramecc"/>
<file category="include" condition="ARMCC, GCC, IAR" name="hpl/rtc"/>
<file category="include" condition="ARMCC, GCC, IAR" name="hpl/sdhc"/>
<file category="include" condition="ARMCC, GCC, IAR" name="hpl/sercom"/>
<file category="include" condition="ARMCC, GCC, IAR" name="hpl/systick"/>
<file category="include" condition="ARMCC, GCC, IAR" name="hri"/>
<file category="include" condition="ARMCC, GCC, IAR" name=""/>
<file category="include" condition="ARMCC, GCC, IAR" name="config"/>
<file category="include" condition="ARMCC, GCC, IAR" name="sd_mmc"/>
<file category="include" condition="ARMCC, GCC, IAR" name=""/>
<file category="include" condition="ARMCC, GCC, IAR" name="diskio"/>
<file category="include" condition="ARMCC, GCC, IAR" name=""/>
<file category="include" condition="ARMCC, GCC, IAR" name="fatfs/src"/>
<file category="include" condition="ARMCC, GCC, IAR" name=""/>
</files>
</component>
</components>

@ -6,6 +6,4 @@
void atmel_start_init(void)
{
system_init();
sd_mmc_stack_init();
diskio_init();
}

@ -6,8 +6,6 @@ extern "C" {
#endif
#include "driver_init.h"
#include "sd_mmc_start.h"
#include "diskio_start.h"
/**
* Initializes MCU, drivers and middleware in the project

@ -2,88 +2,23 @@ format_version: '2'
name: SPI_SD_MMC_Lib
versions:
api: '1.0'
backend: 1.8.472
backend: 1.8.491
commit: 605bd5a7663644fb84783aa2b00942b79b0d8955
content: unknown
content_pack_name: unknown
format: '2'
frontend: 1.8.472
packs_version_avr8: 1.0.1443
packs_version_avr8: 1.0.1446
packs_version_qtouch: unknown
packs_version_sam: 1.0.1726
version_backend: 1.8.472
version_backend: 1.8.491
version_frontend: ''
board:
identifier: SAME54XplainedPro
device: SAME54P20A-AU
details: null
application: null
middlewares:
SDMMC:
user_label: SDMMC
configuration:
conf_mmc_support: false
conf_sd_mmc_0_cd_detect_en: false
conf_sd_mmc_0_cd_detect_value: Low
conf_sd_mmc_0_enable: true
conf_sd_mmc_0_wp_detect_en: false
conf_sd_mmc_0_wp_detect_value: High
conf_sd_mmc_os_support: false
conf_sdio_support: true
definition: Atmel:SD_MMC:0.0.1::SD_MMC
functionality: SD/MMC_Access
api: SD-MMC:Lib:API
dependencies:
IO Bus: IO_BUS
Write Protect 0: null
Card Detect 0: null
DISK_IO:
user_label: DISK_IO
configuration: {}
definition: Atmel:DiskIO:1.0.0::SD_MMC
functionality: DISKIO
api: DiskIO:Storage-Abstractions:API
dependencies:
SDMMC: SDMMC
FATFS_0:
user_label: FATFS_0
configuration:
character_code_set: 0 - ANSI/OEM
character_encoding: UTF-8
code_page: Multilingual Latin 1 (OEM)
config_fs_timeout: 1000
f_mkfs_fs_enable: true
fast_seek_fs_enable: false
file_lock_enable: 0
file_share_count: 0
filtered_dir_enable: false
free_space_info_enable: false
lfn_feature: 0 - Disable LFN feature. _MAX_LFN and _LFN_UNICODE have no effect.
max_lfn_length: 255
max_sector_size: '512'
min_sector_size: '512'
minimisation_level: 0 - Full function
multiple_partition_enable: false
num_volumes: 5
read_only_fs_enable: false
reentrant_enable: false
relative_path_enable: 2 - f_getcwd() is available in addition to 1.
sectore_erase_enable: false
strfunc_fs_enable: false
string_volume_enable: false
synch_handler: HANDLE
time_stamp_enable: false
tiny_fs_enable: false
trim_feature_enable: false
use_forward_fs_enable: false
volume_label_enable: false
word_access_enable: false
definition: Atmel:FATFS:1.0.0::FAT_File_System
functionality: FATFS
api: FAT:File-System:API
dependencies:
Disk IO: DISK_IO
Calender Interface: CALENDER_INTERFACE
middlewares: {}
drivers:
CMCC:
user_label: CMCC
@ -1006,61 +941,6 @@ drivers:
variant: null
clocks:
domain_group: null
CALENDER_INTERFACE:
user_label: CALENDER_INTERFACE
definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::RTC::driver_config_definition::Calendar::HAL:Driver:Calendar
functionality: Calendar
api: HAL:Driver:Calendar
configuration:
rtc_arch_init_reset: true
rtc_arch_prescaler: Peripheral clock divided by 1
rtc_cmpeo0: false
rtc_cmpeo1: false
rtc_event_control: false
rtc_ovfeo: false
rtc_pereo0: false
rtc_pereo1: false
rtc_pereo2: false
rtc_pereo3: false
rtc_pereo4: false
rtc_pereo5: false
rtc_pereo6: false
rtc_pereo7: false
rtc_tamper_active_layer_frequency_prescalar: DIV2 CLK_RTC_OUT is CLK_RTC /2
rtc_tamper_debounce_frequency_prescalar: DIV2 CLK_RTC_DEB is CLK_RTC /2
rtc_tamper_input_action_0: OFF(Disabled)
rtc_tamper_input_action_1: OFF(Disabled)
rtc_tamper_input_action_2: OFF(Disabled)
rtc_tamper_input_action_3: OFF(Disabled)
rtc_tamper_input_action_4: OFF(Disabled)
rtc_tampereo: false
rtc_tampevei: false
tamper_debounce_enable_0: false
tamper_debounce_enable_1: false
tamper_debounce_enable_2: false
tamper_debounce_enable_3: false
tamper_debounce_enable_4: false
tamper_input_0_settings: false
tamper_input_1_settings: false
tamper_input_2_settings: false
tamper_input_3_settings: false
tamper_input_4_settings: false
tamper_level_0: false
tamper_level_1: false
tamper_level_2: false
tamper_level_3: false
tamper_level_4: false
optional_signals: []
variant: null
clocks:
domain_group:
nodes:
- name: RTC
input: RTC source
external: false
external_frequency: 0
configuration:
rtc_clk_selection: RTC source
USART_DBG:
user_label: USART_DBG
definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::SERCOM2::driver_config_definition::UART::HAL:Driver:USART.Sync
@ -1154,49 +1034,6 @@ drivers:
configuration:
core_gclk_selection: Generic clock generator 0
slow_gclk_selection: Generic clock generator 3
IO_BUS:
user_label: IO_BUS
definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::SDHC0::driver_config_definition::MCI::HAL:Driver:MCI.Sync
functionality: MCI
api: HAL:Driver:MCI_Sync
configuration:
sdhc_clk_gsel: Divided Clock mode
optional_signals: []
variant:
specification: default
required_signals:
- name: SDHC0/SDCK
pad: PB11
label: SDCK
- name: SDHC0/SDCMD
pad: PA08
label: SDCMD
- name: SDHC0/SDDAT/0
pad: PA09
label: SDDAT/0
- name: SDHC0/SDDAT/1
pad: PA10
label: SDDAT/1
- name: SDHC0/SDDAT/2
pad: PA11
label: SDDAT/2
- name: SDHC0/SDDAT/3
pad: PB10
label: SDDAT/3
clocks:
domain_group:
nodes:
- name: SDHC
input: Generic clock generator 0
external: false
external_frequency: 0
- name: SDHC_Slow
input: Generic clock generator 0
external: false
external_frequency: 0
configuration:
sdhc_gclk_selection: Generic clock generator 0
sdhc_slow_gclk_selection: Generic clock generator 0
DELAY_0:
user_label: DELAY_0
definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::SysTick::driver_config_definition::Delay::HAL:Driver:Delay
@ -1209,42 +1046,6 @@ drivers:
clocks:
domain_group: null
pads:
PA08:
name: PA08
definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::pad::PA08
mode: Advanced
user_label: PA08
configuration: null
PA09:
name: PA09
definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::pad::PA09
mode: Advanced
user_label: PA09
configuration: null
PA10:
name: PA10
definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::pad::PA10
mode: Advanced
user_label: PA10
configuration: null
PA11:
name: PA11
definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::pad::PA11
mode: Advanced
user_label: PA11
configuration: null
PB10:
name: PB10
definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::pad::PB10
mode: Advanced
user_label: PB10
configuration: null
PB11:
name: PB11
definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::pad::PB11
mode: Advanced
user_label: PB11
configuration: null
PB24:
name: PB24
definition: Atmel:SAME54_Drivers:0.0.1::SAME54P20A-AU::pad::PB24

@ -27,24 +27,10 @@
#define GPIO_PIN_FUNCTION_M 12
#define GPIO_PIN_FUNCTION_N 13
#define PA04 GPIO(GPIO_PORTA, 4)
#define PA08 GPIO(GPIO_PORTA, 8)
#define PA09 GPIO(GPIO_PORTA, 9)
#define PA10 GPIO(GPIO_PORTA, 10)
#define PA11 GPIO(GPIO_PORTA, 11)
#define PB10 GPIO(GPIO_PORTB, 10)
#define PB11 GPIO(GPIO_PORTB, 11)
#define PB24 GPIO(GPIO_PORTB, 24)
#define PB25 GPIO(GPIO_PORTB, 25)
#define PB26 GPIO(GPIO_PORTB, 26)
#define PB27 GPIO(GPIO_PORTB, 27)
#define PB28 GPIO(GPIO_PORTB, 28)
#define PB29 GPIO(GPIO_PORTB, 29)
#define SPI_CS PB28
#define SPI_CS_PIN GPIO_PIN(SPI_CS)
#define SPI_CS_PORT GPIO_PORT(SPI_CS)
#define SPI_CD PA04
#endif // ATMEL_START_PINS_H_INCLUDED

@ -1,170 +1,256 @@
q
break main
r
n
n
n
n
q
break main
r
n
n
n
n
c
r
n
s
s
s
s
s
finish
n
n
n
c
q
break main.c:28
r
c
r
c
q
break main.c:29
r
c
s
s
s
s
s
s
s
s
s
s
s
s
s
ss
s
q
break main.c:96
r
q
break main.c:97
r
c
q
break main.c:92
r
c
q
break main
r
info break
q
q
att 1
q
tar ext /dev/ttyACM0
mon s
mon s
att 1
load spi_sd_mmc_lib.elf
b main
r
r
info b
break main.c:12
file spi_sd_mmc_lib.elf
break main.c:12
r
s
s
s
finish
finish
q
attach 13022
q
load
q
tar ext /dev/ttyACM0
mon s
mon s
mon swdp_scan
mon swdp_scan
mon swdp_scan
mon s
mon s
q
tar ext /dev/ttyACM0
mon s
qq
q
mon s
q
q
q
set pagination off
set logging file gdb.txt
set logging redirect on
set logging on
tar ext /dev/ttyACM0
blackmagic
load
mon s
mon s
tar ext /dev/ttyACM1
q
q
q
q
q
mon s
q
n
n
n
n
n
n
s
s
s
break sd_mmc.c:1616
c
s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
finish
n
n
n
c
s
s
n
n
n
n
n
n
n
n
n
s
n
n
n
n
s
s
n
n
n
n
c
s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
finish
n
n
s
s
s
s
s
n
n
n
n
n
f
finish
n
n
n
n
n
n
n
c
s
n
n
s
s
s
s
s
s
s
s
s
s
s
n
n
n
s
s
s
s
s
s
finish
n
n
n
c
s
s
s
s
s
s
s
s
s
s
s
s
s
s
n
n
n
n
s
s
s
s
n
n
n
n
s
s
n
p resp
p/x resp
s
s
q
q
tar ext /dev/ttyACM0
q
mon s
status
help
q
tar ext /dev/ttyS0
detach 1
detach
q
tar ext /dev/ttyS0
tar ext /dev/ttyS1
tar ext /dev/ttyS2
mon s
q
tar ext /dev/ttyS3
q
break main
r
tar ext /dev/ttyS3
tar ext /dev/ttyS2
tar ext /dev/ttyS1
tar ext /dev/ttyS0
q
tar ext /dev/ttyS0
q
tar ext /dev/ttyS0
q
mon s
tar ext /dev/ttyACM0
mon s
mon
q
target extended-remote /dev/ttyACM0
reset
help
mon s
att 1
q
target extended-remote /dev/ttyACM1
target extended-remote /dev/ttyACM0
target extended-remote /dev/ttyACM0
q
tar ext /dev/ttyACM0
mon s
s
det 1
detach 1
detach
mon s
tar ext /dev/blackmagic_0
mon s
mon s
q
q
tar ext /dev/ttyACM0
tar ext /dev/blackmagic_0
mon s
q
target extended-remote /dev/ttyACM0
attach 1
b main
file spi_sd_mmc_lib.elf
b main
del 2
load
r
detach
q
target extended-remote /dev/ttyACM0
monitor reset
reset
help
help monitor
target extended-remote /dev/ttyACM0
mon s
attach 1
monitor reset
r
q
q

@ -30,27 +30,22 @@ endif
# List the subdirectories for creating object files
SUB_DIRS += \
\
hpl/ramecc \
sd_mmc \
examples \
hpl/systick \
hpl/oscctrl \
hpl/sdhc \
fatfs/src \
hpl/pm \
build \
hpl/osc32kctrl \
hpl/ramecc \
hpl/dmac \
hal/src \
hpl/mclk \
hpl/systick \
hal/utils/src \
diskio \
hpl/rtc \
build \
hpl/pm \
hpl/cmcc \
hpl/sercom \
examples \
hpl/gclk \
hpl/oscctrl \
build/gcc \
hpl/mclk \
hpl/sercom \
hpl/core \
hpl/cmcc \
shared \
shared/devices \
shared/drivers \
@ -60,91 +55,69 @@ shared/util
OBJS += \
hal/src/hal_io.o \
hpl/systick/hpl_systick.o \
hal/src/hal_calendar.o \
sd_mmc_start.o \
fatfs_main.o \
hpl/core/hpl_core_m4.o \
hal/src/hal_cache.o \
hal/utils/src/utils_syscalls.o \
sd_mmc/sd_mmc.o \
sd_mmc/sd_mmc_spi.o \
hal/src/hal_spi_m_sync.o \
hal/src/hal_mci_sync.o \
build/system_same54.o \
hal/src/hal_delay.o \
hpl/pm/hpl_pm.o \
hpl/core/hpl_init.o \
hpl/gclk/hpl_gclk.o \
hal/utils/src/utils_list.o \
hal/utils/src/utils_assert.o \
hpl/dmac/hpl_dmac.o \
hpl/oscctrl/hpl_oscctrl.o \
hpl/sdhc/hpl_sdhc.o \
hal/src/hal_usart_sync.o \
hpl/mclk/hpl_mclk.o \
hpl/ramecc/hpl_ramecc.o \
hal/src/hal_init.o \
diskio_start.o \
build/gcc/startup_same54.o \
main.o \
hpl/osc32kctrl/hpl_osc32kctrl.o \
diskio/sdmmc_diskio.o \
hpl/rtc/hpl_rtc.o \
examples/driver_examples.o \
driver_init.o \
hpl/sercom/hpl_sercom.o \
hal/src/hal_atomic.o \
hal/src/hal_gpio.o \
hal/utils/src/utils_event.o \
hal/src/hal_sleep.o \
hpl/dmac/hpl_dmac.o \
build/system_same54.o \
atmel_start.o \
fatfs/src/ff.o \
hal/src/hal_cache.o \
hpl/cmcc/hpl_cmcc.o \
atmel_start.o \
hal/src/hal_atomic.o \
shared/util/pdebug.o
OBJS_AS_ARGS += \
"hal/src/hal_io.o" \
"hpl/systick/hpl_systick.o" \
"hal/src/hal_calendar.o" \
"sd_mmc_start.o" \
"fatfs_main.o" \
"hpl/core/hpl_core_m4.o" \
"hal/src/hal_cache.o" \
"hal/utils/src/utils_syscalls.o" \
"sd_mmc/sd_mmc.o" \
"sd_mmc/sd_mmc_spi.o" \
"hal/src/hal_spi_m_sync.o" \
"hal/src/hal_mci_sync.o" \
"build/system_same54.o" \
"hal/src/hal_delay.o" \
"hpl/pm/hpl_pm.o" \
"hpl/core/hpl_init.o" \
"hpl/gclk/hpl_gclk.o" \
"hal/utils/src/utils_list.o" \
"hal/utils/src/utils_assert.o" \
"hpl/dmac/hpl_dmac.o" \
"hpl/oscctrl/hpl_oscctrl.o" \
"hpl/sdhc/hpl_sdhc.o" \
"hal/src/hal_usart_sync.o" \
"hpl/mclk/hpl_mclk.o" \
"hpl/ramecc/hpl_ramecc.o" \
"hal/src/hal_init.o" \
"diskio_start.o" \
"build/gcc/startup_same54.o" \
"main.o" \
"hpl/osc32kctrl/hpl_osc32kctrl.o" \
"diskio/sdmmc_diskio.o" \
"hpl/rtc/hpl_rtc.o" \
"examples/driver_examples.o" \
"driver_init.o" \
"hpl/sercom/hpl_sercom.o" \
"hal/src/hal_atomic.o" \
"hal/src/hal_gpio.o" \
"hal/utils/src/utils_event.o" \
"hal/src/hal_sleep.o" \
"hpl/dmac/hpl_dmac.o" \
"build/system_same54.o" \
"atmel_start.o" \
"fatfs/src/ff.o" \
"hal/src/hal_cache.o" \
"hpl/cmcc/hpl_cmcc.o" \
"atmel_start.o" \
"hal/src/hal_atomic.o" \
"shared/util/pdebug.o"
@ -165,19 +138,10 @@ DIR_INCLUDES += \
-I"../hpl/pm" \
-I"../hpl/port" \
-I"../hpl/ramecc" \
-I"../hpl/rtc" \
-I"../hpl/sdhc" \
-I"../hpl/sercom" \
-I"../hpl/systick" \
-I"../hri" \
-I"../" \
-I"../config" \
-I"../sd_mmc" \
-I"../" \
-I"../diskio" \
-I"../" \
-I"../fatfs/src" \
-I"../" \
-I"../CMSIS/Core/Include" \
-I"../include" \
-I"../shared" \
@ -189,30 +153,22 @@ DIR_INCLUDES += \
DEPS := $(OBJS:%.o=%.d)
DEPS_AS_ARGS += \
"hal/src/hal_calendar.d" \
"hal/utils/src/utils_event.d" \
"hal/src/hal_io.d" \
"hpl/ramecc/hpl_ramecc.d" \
"hpl/systick/hpl_systick.d" \
"hpl/core/hpl_core_m4.d" \
"fatfs_main.d" \
"hal/utils/src/utils_syscalls.d" \
"sd_mmc_start.d" \
"sd_mmc/sd_mmc.d" \
"sd_mmc/sd_mmc_spi.d" \
"hal/src/hal_mci_sync.d" \
"hal/src/hal_spi_m_sync.d" \
"hal/utils/src/utils_list.d" \
"hpl/cmcc/hpl_cmcc.d" \
"hpl/dmac/hpl_dmac.d" \
"hal/utils/src/utils_assert.d" \
"hpl/sdhc/hpl_sdhc.d" \
"hal/src/hal_delay.d" \
"hpl/core/hpl_init.d" \
"hpl/pm/hpl_pm.d" \
"hpl/gclk/hpl_gclk.d" \
"build/gcc/startup_same54.d" \
"diskio_start.d" \
"hal/src/hal_init.d" \
"hal/src/hal_usart_sync.d" \
"hpl/mclk/hpl_mclk.d" \
@ -220,14 +176,11 @@ DEPS_AS_ARGS += \
"hpl/osc32kctrl/hpl_osc32kctrl.d" \
"main.d" \
"examples/driver_examples.d" \
"hpl/rtc/hpl_rtc.d" \
"diskio/sdmmc_diskio.d" \
"hal/src/hal_cache.d" \
"hal/src/hal_sleep.d" \
"hpl/sercom/hpl_sercom.d" \
"hal/src/hal_gpio.d" \
"hal/src/hal_atomic.d" \
"fatfs/src/ff.d" \
"hpl/oscctrl/hpl_oscctrl.d" \
"build/system_same54.d" \
"atmel_start.d" \

@ -84,37 +84,11 @@ atmel_start.d atmel_start.o: ../atmel_start.c ../atmel_start.h \
../hal/include/hpl_reset.h ../hal/include/hpl_sleep.h \
../hal/include/hal_init.h ../hal/include/hpl_init.h \
../hal/include/hal_io.h ../hal/include/hal_sleep.h \
../hal/include/hal_calendar.h ../hal/include/hpl_calendar.h \
../hal/utils/include/utils_list.h ../hal/include/hpl_irq.h \
../hal/include/hal_usart_sync.h ../hal/include/hal_io.h \
../hal/include/hpl_usart_sync.h ../hal/include/hpl_usart.h \
../hal/include/hal_spi_m_sync.h ../hal/include/hpl_spi_m_sync.h \
../hal/include/hpl_spi.h ../hal/utils/include/utils.h \
../hal/include/hpl_spi_sync.h ../hal/include/hal_mci_sync.h \
../hal/include/hpl_mci_sync.h ../sd_mmc_start.h \
/usr/arm-none-eabi/include/stdio.h /usr/arm-none-eabi/include/_ansi.h \
/usr/arm-none-eabi/include/newlib.h \
/usr/arm-none-eabi/include/sys/config.h \
/usr/arm-none-eabi/include/machine/ieeefp.h \
/usr/arm-none-eabi/include/sys/cdefs.h \
/usr/lib/gcc/arm-none-eabi/10.2.0/include/stdarg.h \
/usr/arm-none-eabi/include/sys/reent.h \
/usr/arm-none-eabi/include/_ansi.h \
/usr/arm-none-eabi/include/sys/_types.h \
/usr/arm-none-eabi/include/machine/_types.h \
/usr/arm-none-eabi/include/sys/lock.h \
/usr/arm-none-eabi/include/sys/types.h \
/usr/arm-none-eabi/include/machine/endian.h \
/usr/arm-none-eabi/include/machine/_endian.h \
/usr/arm-none-eabi/include/sys/select.h \
/usr/arm-none-eabi/include/sys/_sigset.h \
/usr/arm-none-eabi/include/sys/_timeval.h \
/usr/arm-none-eabi/include/sys/timespec.h \
/usr/arm-none-eabi/include/sys/_timespec.h \
/usr/arm-none-eabi/include/sys/_pthreadtypes.h \
/usr/arm-none-eabi/include/sys/sched.h \
/usr/arm-none-eabi/include/machine/types.h \
/usr/arm-none-eabi/include/sys/stdio.h ../diskio_start.h
../hal/include/hpl_spi_sync.h
../atmel_start.h:
../driver_init.h:
../atmel_start_pins.h:
@ -291,10 +265,6 @@ atmel_start.d atmel_start.o: ../atmel_start.c ../atmel_start.h \
../hal/include/hpl_init.h:
../hal/include/hal_io.h:
../hal/include/hal_sleep.h:
../hal/include/hal_calendar.h:
../hal/include/hpl_calendar.h:
../hal/utils/include/utils_list.h:
../hal/include/hpl_irq.h:
../hal/include/hal_usart_sync.h:
../hal/include/hal_io.h:
../hal/include/hpl_usart_sync.h:
@ -304,31 +274,3 @@ atmel_start.d atmel_start.o: ../atmel_start.c ../atmel_start.h \
../hal/include/hpl_spi.h:
../hal/utils/include/utils.h:
../hal/include/hpl_spi_sync.h:
../hal/include/hal_mci_sync.h:
../hal/include/hpl_mci_sync.h:
../sd_mmc_start.h:
/usr/arm-none-eabi/include/stdio.h:
/usr/arm-none-eabi/include/_ansi.h:
/usr/arm-none-eabi/include/newlib.h:
/usr/arm-none-eabi/include/sys/config.h:
/usr/arm-none-eabi/include/machine/ieeefp.h:
/usr/arm-none-eabi/include/sys/cdefs.h:
/usr/lib/gcc/arm-none-eabi/10.2.0/include/stdarg.h:
/usr/arm-none-eabi/include/sys/reent.h:
/usr/arm-none-eabi/include/_ansi.h:
/usr/arm-none-eabi/include/sys/_types.h:
/usr/arm-none-eabi/include/machine/_types.h:
/usr/arm-none-eabi/include/sys/lock.h:
/usr/arm-none-eabi/include/sys/types.h:
/usr/arm-none-eabi/include/machine/endian.h:
/usr/arm-none-eabi/include/machine/_endian.h:
/usr/arm-none-eabi/include/sys/select.h:
/usr/arm-none-eabi/include/sys/_sigset.h:
/usr/arm-none-eabi/include/sys/_timeval.h:
/usr/arm-none-eabi/include/sys/timespec.h:
/usr/arm-none-eabi/include/sys/_timespec.h:
/usr/arm-none-eabi/include/sys/_pthreadtypes.h:
/usr/arm-none-eabi/include/sys/sched.h:
/usr/arm-none-eabi/include/machine/types.h:
/usr/arm-none-eabi/include/sys/stdio.h:
../diskio_start.h:

Binary file not shown.

File diff suppressed because it is too large Load Diff

@ -1,245 +0,0 @@
diskio/sdmmc_diskio.d diskio/sdmmc_diskio.o: ../diskio/sdmmc_diskio.c \
../sd_mmc/sd_mmc.h ../hal/utils/include/compiler.h \
/usr/lib/gcc/arm-none-eabi/10.2.0/include/stddef.h \
/usr/lib/gcc/arm-none-eabi/10.2.0/include/stdint.h \
/usr/arm-none-eabi/include/stdint.h \
/usr/arm-none-eabi/include/machine/_default_types.h \
/usr/arm-none-eabi/include/sys/features.h \
/usr/arm-none-eabi/include/_newlib_version.h \
/usr/arm-none-eabi/include/sys/_intsup.h \
/usr/arm-none-eabi/include/sys/_stdint.h \
/usr/lib/gcc/arm-none-eabi/10.2.0/include/stdbool.h \
../hal/utils/include/parts.h ../include/same54.h ../include/same54p20a.h \
../CMSIS/Core/Include/core_cm4.h ../CMSIS/Core/Include/cmsis_version.h \
../CMSIS/Core/Include/cmsis_compiler.h ../CMSIS/Core/Include/cmsis_gcc.h \
../CMSIS/Core/Include/mpu_armv7.h ../include/system_same54.h \
../include/component/ac.h ../include/component/adc.h \
../include/component/aes.h ../include/component/can.h \
../include/component/ccl.h ../include/component/cmcc.h \
../include/component/dac.h ../include/component/dmac.h \
../include/component/dsu.h ../include/component/eic.h \
../include/component/evsys.h ../include/component/freqm.h \
../include/component/gclk.h ../include/component/gmac.h \
../include/component/hmatrixb.h ../include/component/icm.h \
../include/component/i2s.h ../include/component/mclk.h \
../include/component/nvmctrl.h ../include/component/oscctrl.h \
../include/component/osc32kctrl.h ../include/component/pac.h \
../include/component/pcc.h ../include/component/pdec.h \
../include/component/pm.h ../include/component/port.h \
../include/component/qspi.h ../include/component/ramecc.h \
../include/component/rstc.h ../include/component/rtc.h \
../include/component/sdhc.h ../include/component/sercom.h \
../include/component/supc.h ../include/component/tc.h \
../include/component/tcc.h ../include/component/trng.h \
../include/component/usb.h ../include/component/wdt.h \
../include/instance/ac.h ../include/instance/adc0.h \
../include/instance/adc1.h ../include/instance/aes.h \
../include/instance/can0.h ../include/instance/can1.h \
../include/instance/ccl.h ../include/instance/cmcc.h \
../include/instance/dac.h ../include/instance/dmac.h \
../include/instance/dsu.h ../include/instance/eic.h \
../include/instance/evsys.h ../include/instance/freqm.h \
../include/instance/gclk.h ../include/instance/gmac.h \
../include/instance/hmatrix.h ../include/instance/icm.h \
../include/instance/i2s.h ../include/instance/mclk.h \
../include/instance/nvmctrl.h ../include/instance/oscctrl.h \
../include/instance/osc32kctrl.h ../include/instance/pac.h \
../include/instance/pcc.h ../include/instance/pdec.h \
../include/instance/pm.h ../include/instance/port.h \
../include/instance/pukcc.h ../include/instance/qspi.h \
../include/instance/ramecc.h ../include/instance/rstc.h \
../include/instance/rtc.h ../include/instance/sdhc0.h \
../include/instance/sdhc1.h ../include/instance/sercom0.h \
../include/instance/sercom1.h ../include/instance/sercom2.h \
../include/instance/sercom3.h ../include/instance/sercom4.h \
../include/instance/sercom5.h ../include/instance/sercom6.h \
../include/instance/sercom7.h ../include/instance/supc.h \
../include/instance/tc0.h ../include/instance/tc1.h \
../include/instance/tc2.h ../include/instance/tc3.h \
../include/instance/tc4.h ../include/instance/tc5.h \
../include/instance/tc6.h ../include/instance/tc7.h \
../include/instance/tcc0.h ../include/instance/tcc1.h \
../include/instance/tcc2.h ../include/instance/tcc3.h \
../include/instance/tcc4.h ../include/instance/trng.h \
../include/instance/usb.h ../include/instance/wdt.h \
../include/pio/same54p20a.h ../hri/hri_e54.h ../include/sam.h \
../hri/hri_ac_e54.h ../hal/include/hal_atomic.h ../hri/hri_adc_e54.h \
../hri/hri_aes_e54.h ../hri/hri_can_e54.h ../hri/hri_ccl_e54.h \
../hri/hri_cmcc_e54.h ../hri/hri_dac_e54.h ../hri/hri_dmac_e54.h \
../hri/hri_dsu_e54.h ../hri/hri_eic_e54.h ../hri/hri_evsys_e54.h \
../hri/hri_freqm_e54.h ../hri/hri_gclk_e54.h ../hri/hri_gmac_e54.h \
../hri/hri_hmatrixb_e54.h ../hri/hri_i2s_e54.h ../hri/hri_icm_e54.h \
../hri/hri_mclk_e54.h ../hri/hri_nvmctrl_e54.h \
../hri/hri_osc32kctrl_e54.h ../hri/hri_oscctrl_e54.h \
../hri/hri_pac_e54.h ../hri/hri_pcc_e54.h ../hri/hri_pdec_e54.h \
../hri/hri_pm_e54.h ../hri/hri_port_e54.h ../hri/hri_qspi_e54.h \
../hri/hri_ramecc_e54.h ../hri/hri_rstc_e54.h ../hri/hri_rtc_e54.h \
../hri/hri_sdhc_e54.h ../hri/hri_sercom_e54.h ../hri/hri_supc_e54.h \
../hri/hri_tc_e54.h ../hri/hri_tcc_e54.h ../hri/hri_trng_e54.h \
../hri/hri_usb_e54.h ../hri/hri_wdt_e54.h \
../hal/utils/include/err_codes.h ../config/conf_sd_mmc.h \
../diskio/diskio.h ../hal/utils/include/err_codes.h
../sd_mmc/sd_mmc.h:
../hal/utils/include/compiler.h:
/usr/lib/gcc/arm-none-eabi/10.2.0/include/stddef.h:
/usr/lib/gcc/arm-none-eabi/10.2.0/include/stdint.h:
/usr/arm-none-eabi/include/stdint.h:
/usr/arm-none-eabi/include/machine/_default_types.h:
/usr/arm-none-eabi/include/sys/features.h:
/usr/arm-none-eabi/include/_newlib_version.h:
/usr/arm-none-eabi/include/sys/_intsup.h:
/usr/arm-none-eabi/include/sys/_stdint.h:
/usr/lib/gcc/arm-none-eabi/10.2.0/include/stdbool.h:
../hal/utils/include/parts.h:
../include/same54.h:
../include/same54p20a.h:
../CMSIS/Core/Include/core_cm4.h:
../CMSIS/Core/Include/cmsis_version.h:
../CMSIS/Core/Include/cmsis_compiler.h:
../CMSIS/Core/Include/cmsis_gcc.h:
../CMSIS/Core/Include/mpu_armv7.h:
../include/system_same54.h:
../include/component/ac.h:
../include/component/adc.h:
../include/component/aes.h:
../include/component/can.h:
../include/component/ccl.h:
../include/component/cmcc.h:
../include/component/dac.h:
../include/component/dmac.h:
../include/component/dsu.h:
../include/component/eic.h:
../include/component/evsys.h:
../include/component/freqm.h:
../include/component/gclk.h:
../include/component/gmac.h:
../include/component/hmatrixb.h:
../include/component/icm.h:
../include/component/i2s.h:
../include/component/mclk.h:
../include/component/nvmctrl.h:
../include/component/oscctrl.h:
../include/component/osc32kctrl.h:
../include/component/pac.h:
../include/component/pcc.h:
../include/component/pdec.h:
../include/component/pm.h:
../include/component/port.h:
../include/component/qspi.h:
../include/component/ramecc.h:
../include/component/rstc.h:
../include/component/rtc.h:
../include/component/sdhc.h:
../include/component/sercom.h:
../include/component/supc.h:
../include/component/tc.h:
../include/component/tcc.h:
../include/component/trng.h:
../include/component/usb.h:
../include/component/wdt.h:
../include/instance/ac.h:
../include/instance/adc0.h:
../include/instance/adc1.h:
../include/instance/aes.h:
../include/instance/can0.h:
../include/instance/can1.h:
../include/instance/ccl.h:
../include/instance/cmcc.h:
../include/instance/dac.h:
../include/instance/dmac.h:
../include/instance/dsu.h:
../include/instance/eic.h:
../include/instance/evsys.h:
../include/instance/freqm.h:
../include/instance/gclk.h:
../include/instance/gmac.h:
../include/instance/hmatrix.h:
../include/instance/icm.h:
../include/instance/i2s.h:
../include/instance/mclk.h:
../include/instance/nvmctrl.h:
../include/instance/oscctrl.h:
../include/instance/osc32kctrl.h:
../include/instance/pac.h:
../include/instance/pcc.h:
../include/instance/pdec.h:
../include/instance/pm.h:
../include/instance/port.h:
../include/instance/pukcc.h:
../include/instance/qspi.h:
../include/instance/ramecc.h:
../include/instance/rstc.h:
../include/instance/rtc.h:
../include/instance/sdhc0.h:
../include/instance/sdhc1.h:
../include/instance/sercom0.h:
../include/instance/sercom1.h:
../include/instance/sercom2.h:
../include/instance/sercom3.h:
../include/instance/sercom4.h:
../include/instance/sercom5.h:
../include/instance/sercom6.h:
../include/instance/sercom7.h:
../include/instance/supc.h:
../include/instance/tc0.h:
../include/instance/tc1.h:
../include/instance/tc2.h:
../include/instance/tc3.h:
../include/instance/tc4.h:
../include/instance/tc5.h:
../include/instance/tc6.h:
../include/instance/tc7.h:
../include/instance/tcc0.h:
../include/instance/tcc1.h:
../include/instance/tcc2.h:
../include/instance/tcc3.h:
../include/instance/tcc4.h:
../include/instance/trng.h:
../include/instance/usb.h:
../include/instance/wdt.h:
../include/pio/same54p20a.h:
../hri/hri_e54.h:
../include/sam.h:
../hri/hri_ac_e54.h:
../hal/include/hal_atomic.h:
../hri/hri_adc_e54.h:
../hri/hri_aes_e54.h:
../hri/hri_can_e54.h:
../hri/hri_ccl_e54.h:
../hri/hri_cmcc_e54.h:
../hri/hri_dac_e54.h:
../hri/hri_dmac_e54.h:
../hri/hri_dsu_e54.h:
../hri/hri_eic_e54.h:
../hri/hri_evsys_e54.h:
../hri/hri_freqm_e54.h:
../hri/hri_gclk_e54.h:
../hri/hri_gmac_e54.h:
../hri/hri_hmatrixb_e54.h:
../hri/hri_i2s_e54.h:
../hri/hri_icm_e54.h:
../hri/hri_mclk_e54.h:
../hri/hri_nvmctrl_e54.h:
../hri/hri_osc32kctrl_e54.h:
../hri/hri_oscctrl_e54.h:
../hri/hri_pac_e54.h:
../hri/hri_pcc_e54.h:
../hri/hri_pdec_e54.h:
../hri/hri_pm_e54.h:
../hri/hri_port_e54.h:
../hri/hri_qspi_e54.h:
../hri/hri_ramecc_e54.h:
../hri/hri_rstc_e54.h:
../hri/hri_rtc_e54.h:
../hri/hri_sdhc_e54.h:
../hri/hri_sercom_e54.h:
../hri/hri_sup