Kévin Redon has uploaded this change for review. ( https://gerrit.osmocom.org/13675
Change subject: add ASFv4 M2M middleware ...................................................................... add ASFv4 M2M middleware Change-Id: Ib07755b2c5974af70817f5460fb0f358c631452a --- M sysmoOCTSIM/AtmelStart.gpdsc M sysmoOCTSIM/atmel_start.c M sysmoOCTSIM/atmel_start.h M sysmoOCTSIM/atmel_start_config.atstart M sysmoOCTSIM/config/hpl_dmac_config.h A sysmoOCTSIM/dma_m2m/dma_memory.c A sysmoOCTSIM/dma_m2m/dma_memory.h A sysmoOCTSIM/dma_m2m/dma_memory_config.h A sysmoOCTSIM/documentation/dma_m2m.rst M sysmoOCTSIM/gcc/Makefile 10 files changed, 359 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ccid-firmware refs/changes/75/13675/1 diff --git a/sysmoOCTSIM/AtmelStart.gpdsc b/sysmoOCTSIM/AtmelStart.gpdsc index 5d35944..05dcb15 100644 --- a/sysmoOCTSIM/AtmelStart.gpdsc +++ b/sysmoOCTSIM/AtmelStart.gpdsc @@ -164,6 +164,9 @@ <file category="header" condition="ARMCC, GCC, IAR" name="usb/usb_includes.h"/> <file category="source" condition="ARMCC, GCC, IAR" name="usb/usb_protocol.c"/> <file category="header" condition="ARMCC, GCC, IAR" name="usb/usb_protocol.h"/> + <file category="source" condition="ARMCC, GCC, IAR" name="dma_m2m/dma_memory.c"/> + <file category="header" condition="ARMCC, GCC, IAR" name="dma_m2m/dma_memory.h"/> + <file category="doc" condition="ARMCC, GCC, IAR" name="documentation/dma_m2m.rst"/> <file category="doc" condition="ARMCC, GCC, IAR" name="documentation/stdio.rst"/> <file category="source" condition="GCC" name="stdio_redirect/gcc/read.c"/> <file category="source" condition="GCC" name="stdio_redirect/gcc/write.c"/> @@ -210,6 +213,8 @@ <file category="source" condition="ARMCC, GCC, IAR" name="hpl/usb/hpl_usb.c"/> <file category="source" condition="ARMCC, GCC, IAR" name="usb_start.c"/> <file category="header" condition="ARMCC, GCC, IAR" name="usb_start.h"/> + <file category="source" condition="ARMCC, GCC, IAR" name="dma_m2m_main.c"/> + <file category="header" condition="ARMCC, GCC, IAR" name="dma_m2m_main.h"/> <file category="source" condition="ARMCC, GCC, IAR" name="stdio_start.c"/> <file category="header" condition="ARMCC, GCC, IAR" name="stdio_start.h"/> <file category="header" condition="ARMCC, GCC, IAR" name="atmel_start.h"/> @@ -225,6 +230,7 @@ <file attr="config" category="header" condition="ARMCC, GCC, IAR" name="config/hpl_usb_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/usbd_config.h"/> + <file attr="config" category="header" condition="ARMCC, GCC, IAR" name="dma_m2m/dma_memory_config.h"/> <file attr="config" category="header" condition="ARMCC, GCC, IAR" name="config/stdio_redirect_config.h"/> <file category="include" condition="ARMCC, GCC, IAR" name=""/> <file category="include" condition="ARMCC, GCC, IAR" name="config"/> @@ -251,6 +257,8 @@ <file category="include" condition="ARMCC, GCC, IAR" name="usb/class/cdc/device"/> <file category="include" condition="ARMCC, GCC, IAR" name="usb/device"/> <file category="include" condition="ARMCC, GCC, IAR" name=""/> + <file category="include" condition="ARMCC, GCC, IAR" name="dma_m2m"/> + <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="stdio_redirect"/> <file category="include" condition="ARMCC, GCC, IAR" name=""/> diff --git a/sysmoOCTSIM/atmel_start.c b/sysmoOCTSIM/atmel_start.c index fc6016a..fd566dd 100644 --- a/sysmoOCTSIM/atmel_start.c +++ b/sysmoOCTSIM/atmel_start.c @@ -1,5 +1,11 @@ #include <atmel_start.h> +/** Memory to memory DMA callback */ +static void M2M_DMA_complete_cb(void) +{ + dma_m2m_complete_flag = true; +} + /** * Initializes MCU, drivers and middleware in the project **/ @@ -7,5 +13,7 @@ { system_init(); usb_init(); + dma_memory_init(); + dma_memory_register_callback(DMA_MEMORY_COMPLETE_CB, M2M_DMA_complete_cb); stdio_redirect_init(); } diff --git a/sysmoOCTSIM/atmel_start.h b/sysmoOCTSIM/atmel_start.h index 92afa47..4892cbd 100644 --- a/sysmoOCTSIM/atmel_start.h +++ b/sysmoOCTSIM/atmel_start.h @@ -5,10 +5,15 @@ extern "C" { #endif +#include <dma_memory.h> + #include "driver_init.h" #include "usb_start.h" #include "stdio_start.h" +/** flag set when the memory to memory DMA is complete */ +volatile bool dma_m2m_complete_flag; + /** * Initializes MCU, drivers and middleware in the project **/ diff --git a/sysmoOCTSIM/atmel_start_config.atstart b/sysmoOCTSIM/atmel_start_config.atstart index 290fa89..51ec4f4 100644 --- a/sysmoOCTSIM/atmel_start_config.atstart +++ b/sysmoOCTSIM/atmel_start_config.atstart @@ -82,6 +82,15 @@ dependencies: USB Device Stack Core Instance: USB_DEVICE_STACK_CORE_INSTANCE USB Class CDC: USB_CLASS_CDC + M2M_DMA_0: + user_label: M2M_DMA_0 + configuration: + conf_channel: 0 + definition: Atmel:MEMORY_DMA:0.0.1::M2M_DMA + functionality: M2M_DMA + api: DMA:M2M:Core + dependencies: + DMAC: DMAC STDIO_REDIRECT_0: user_label: STDIO_REDIRECT_0 configuration: {} @@ -209,7 +218,7 @@ the transaction dmac_blockact_9: Channel will be disabled if it is the last block transfer in the transaction - dmac_channel_0_settings: false + dmac_channel_0_settings: true dmac_channel_10_settings: false dmac_channel_11_settings: false dmac_channel_12_settings: false @@ -242,7 +251,7 @@ dmac_channel_8_settings: false dmac_channel_9_settings: false dmac_dbgrun: false - dmac_dstinc_0: false + dmac_dstinc_0: true dmac_dstinc_1: false dmac_dstinc_10: false dmac_dstinc_11: false @@ -274,7 +283,7 @@ dmac_dstinc_7: false dmac_dstinc_8: false dmac_dstinc_9: false - dmac_enable: false + dmac_enable: true dmac_evact_0: No action dmac_evact_1: No action dmac_evact_10: No action @@ -479,7 +488,7 @@ dmac_runstdby_7: false dmac_runstdby_8: false dmac_runstdby_9: false - dmac_srcinc_0: false + dmac_srcinc_0: true dmac_srcinc_1: false dmac_srcinc_10: false dmac_srcinc_11: false diff --git a/sysmoOCTSIM/config/hpl_dmac_config.h b/sysmoOCTSIM/config/hpl_dmac_config.h index 90499fc..c736778 100644 --- a/sysmoOCTSIM/config/hpl_dmac_config.h +++ b/sysmoOCTSIM/config/hpl_dmac_config.h @@ -8,7 +8,7 @@ // <i> Indicates whether dmac is enabled or not // <id> dmac_enable #ifndef CONF_DMAC_ENABLE -#define CONF_DMAC_ENABLE 0 +#define CONF_DMAC_ENABLE 1 #endif // <q> Priority Level 0 @@ -105,7 +105,7 @@ // <e> Channel 0 settings // <id> dmac_channel_0_settings #ifndef CONF_DMAC_CHANNEL_0_SETTINGS -#define CONF_DMAC_CHANNEL_0_SETTINGS 0 +#define CONF_DMAC_CHANNEL_0_SETTINGS 1 #endif // <q> Channel Run in Standby @@ -284,14 +284,14 @@ // <i> Indicates whether the source address incrementation is enabled or not // <id> dmac_srcinc_0 #ifndef CONF_DMAC_SRCINC_0 -#define CONF_DMAC_SRCINC_0 0 +#define CONF_DMAC_SRCINC_0 1 #endif // <q> Destination Address Increment // <i> Indicates whether the destination address incrementation is enabled or not // <id> dmac_dstinc_0 #ifndef CONF_DMAC_DSTINC_0 -#define CONF_DMAC_DSTINC_0 0 +#define CONF_DMAC_DSTINC_0 1 #endif // <o> Beat Size diff --git a/sysmoOCTSIM/dma_m2m/dma_memory.c b/sysmoOCTSIM/dma_m2m/dma_memory.c new file mode 100644 index 0000000..f395114 --- /dev/null +++ b/sysmoOCTSIM/dma_m2m/dma_memory.c @@ -0,0 +1,143 @@ +/** + * \file + * + * \brief Memory with DMA functionality implementation. + * + * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. + * + * \asf_license_start + * + * \page License + * + * Subject to your compliance with these terms, you may use Microchip + * software and any derivatives exclusively with Microchip products. + * It is your responsibility to comply with third party license terms applicable + * to your use of third party software (including open source software) that + * may accompany Microchip software. + * + * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, + * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, + * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, + * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE + * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL + * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE + * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE + * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT + * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY + * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, + * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. + * + * \asf_license_stop + * + */ + +#include "dma_memory.h" +#include "dma_memory_config.h" +#include <utils_assert.h> +#include <utils.h> +#include <hal_atomic.h> + +/** + * \brief Driver version + */ +#define DRIVER_VERSION 0x00000001u + +/** + * \brief memory with dma descriptor instance + */ +static struct dma_memory_descriptor descr; + +/** + * \internal Process transfer done interrupts + * + * \param[in] resource The pointer to memory resource + */ +static void dma_transfer_done(struct _dma_resource *resource) +{ + (void)resource; + if (descr.memory_cb.complete) { + descr.memory_cb.complete(); + } +} + +/** + * \internal Process transfer error interrupts + * + * \param[in] resource The pointer to memory resource + */ +static void dma_memory_error(struct _dma_resource *resource) +{ + (void)resource; + if (descr.memory_cb.error) { + descr.memory_cb.error(); + } +} + +/** + * \brief Initialize DMA + */ +int32_t dma_memory_init(void) +{ + _dma_get_channel_resource(&descr.resource, CONF_DMA_MEMORY_CHANNEL); + descr.resource->dma_cb.transfer_done = dma_transfer_done; + descr.resource->dma_cb.error = dma_memory_error; + + return ERR_NONE; +} + +/** + * \brief Register DMA callback + */ +int32_t dma_memory_register_callback(const enum dma_memory_callback_type type, dma_memory_cb_t cb) +{ + switch (type) { + case DMA_MEMORY_COMPLETE_CB: + descr.memory_cb.complete = cb; + break; + + case DMA_MEMORY_ERROR_CB: + descr.memory_cb.error = cb; + break; + + default: + return ERR_INVALID_ARG; + } + + _dma_set_irq_state(CONF_DMA_MEMORY_CHANNEL, (enum _dma_callback_type)type, (cb != NULL)); + + return ERR_NONE; +} + +/** + * \brief Memory copy with dma + */ +int32_t dma_memcpy(void *dst, void *src, uint32_t size) +{ + _dma_srcinc_enable(CONF_DMA_MEMORY_CHANNEL, true); + _dma_dstinc_enable(CONF_DMA_MEMORY_CHANNEL, true); + _dma_set_destination_address(CONF_DMA_MEMORY_CHANNEL, dst); + _dma_set_source_address(CONF_DMA_MEMORY_CHANNEL, src); + _dma_set_data_amount(CONF_DMA_MEMORY_CHANNEL, size); + _dma_enable_transaction(CONF_DMA_MEMORY_CHANNEL, true); + + return ERR_NONE; +} + +/** + * \brief Memory set with dma + */ +int32_t dma_memset(void *dst, int32_t ch, uint32_t size) +{ + static int32_t tmp_ch; + + tmp_ch = ch; + + _dma_set_source_address(CONF_DMA_MEMORY_CHANNEL, &tmp_ch); + _dma_srcinc_enable(CONF_DMA_MEMORY_CHANNEL, false); + _dma_dstinc_enable(CONF_DMA_MEMORY_CHANNEL, true); + _dma_set_destination_address(CONF_DMA_MEMORY_CHANNEL, dst); + _dma_set_data_amount(CONF_DMA_MEMORY_CHANNEL, size); + _dma_enable_transaction(CONF_DMA_MEMORY_CHANNEL, true); + + return ERR_NONE; +} diff --git a/sysmoOCTSIM/dma_m2m/dma_memory.h b/sysmoOCTSIM/dma_m2m/dma_memory.h new file mode 100644 index 0000000..3bd6dc9 --- /dev/null +++ b/sysmoOCTSIM/dma_m2m/dma_memory.h @@ -0,0 +1,132 @@ +/** + * \file + * + * \brief Memory with DMA functionality declaration. + * + * Copyright (c) 2016-2018 Microchip Technology Inc. and its subsidiaries. + * + * \asf_license_start + * + * \page License + * + * Subject to your compliance with these terms, you may use Microchip + * software and any derivatives exclusively with Microchip products. + * It is your responsibility to comply with third party license terms applicable + * to your use of third party software (including open source software) that + * may accompany Microchip software. + * + * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, + * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, + * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, + * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE + * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL + * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE + * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE + * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT + * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY + * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, + * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. + * + * \asf_license_stop + * + */ + +#ifndef DMA_MEMORY_H_INCLUDED +#define DMA_MEMORY_H_INCLUDED + +#include <hpl_dma.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \addtogroup dma_memory + * + * \section dma_rev Revision History + * - v0.0.0.1 Initial Commit + * + *@{ + */ + +/** + * \brief Memory with DMA descriptor + * + * The Memory with DMA descriptor forward declaration. + */ +struct dma_memory_descriptor; + +/** + * \brief memory with dma callback type + */ +typedef void (*dma_memory_cb_t)(void); + +/** + * \brief Memory with DMA callback types + */ +enum dma_memory_callback_type { DMA_MEMORY_COMPLETE_CB, DMA_MEMORY_ERROR_CB }; + +/** + * \brief Memory with DMA callbacks + */ +struct dma_memory_callbacks { + dma_memory_cb_t complete; + dma_memory_cb_t error; +}; + +/** + * \brief Memory with DMA descriptor + */ +struct dma_memory_descriptor { + struct _dma_resource * resource; + struct dma_memory_callbacks memory_cb; +}; + +/** + * \brief Initialize Memory with DMA + * + * \return Initialization status. + */ +int32_t dma_memory_init(void); + +/** + * \brief Register Memory with DMA callback + * + * \param[in] type Callback type + * \param[in] cb A callback function, passing NULL de-registers callback + * + * \return The status of callback assignment. + * \retval ERR_INVALID_ARG Passed parameters were invalid + * \retval ERR_NONE A callback is registered successfully + */ +int32_t dma_memory_register_callback(const enum dma_memory_callback_type type, dma_memory_cb_t cb); + +/** + * \brief dma memory copy + * + * \param[in] dst The pointer to destination address for transfer + * \param[in] src The pointer to source address for transfer + * \param[in] size The transfer size + * + * \return the status of operation` + */ +int32_t dma_memcpy(void *dst, void *src, uint32_t size); + +/** + * \brief dma memory set + * + * \param[in] dst The pointer to address to fill + * \param[in] ch The value to be filled + * \param[in] size Number of bytes to set to the value + * + * \return the status of operation + */ +int32_t dma_memset(void *dst, int32_t ch, uint32_t size); + +/**@}*/ + +#ifdef __cplusplus +} +#endif + +#endif /* DMA_MEMORY_H_INCLUDED */ diff --git a/sysmoOCTSIM/dma_m2m/dma_memory_config.h b/sysmoOCTSIM/dma_m2m/dma_memory_config.h new file mode 100644 index 0000000..a5dba3c --- /dev/null +++ b/sysmoOCTSIM/dma_m2m/dma_memory_config.h @@ -0,0 +1,16 @@ +/* Auto-generated config file dma_memory_config.h */ +#ifndef DMA_MEMORY_CONFIG_H +#define DMA_MEMORY_CONFIG_H + +// <<< Use Configuration Wizard in Context Menu >>> + +//<o> Channel <0-15> +//<i> This defines DMA channel to be used +//<id> conf_channel +#ifndef CONF_DMA_MEMORY_CHANNEL +#define CONF_DMA_MEMORY_CHANNEL 0 +#endif + +// <<< end of configuration section >>> + +#endif // DMA_MEMORY_CONFIG_H diff --git a/sysmoOCTSIM/documentation/dma_m2m.rst b/sysmoOCTSIM/documentation/dma_m2m.rst new file mode 100644 index 0000000..22bffcf --- /dev/null +++ b/sysmoOCTSIM/documentation/dma_m2m.rst @@ -0,0 +1,15 @@ +Memory DMA +========== + +Memory DMA is middleware which provides DMA-based versions of memcpy and memset +functions. + +Architecture and provided functionality +--------------------------------------- + +Memory DMA uses system DMA driver which varies depending on MCU. User must configure +system DMA driver before using Memory DMA middleware. + +DMA-based versions of memcpy and memset functions work asynchronously. Application +can be notifications about completion of copy or set operation via callbacks. +A callback can be registered via dma_memory_register_callback function. \ No newline at end of file diff --git a/sysmoOCTSIM/gcc/Makefile b/sysmoOCTSIM/gcc/Makefile index 7496377..0191815 100644 --- a/sysmoOCTSIM/gcc/Makefile +++ b/sysmoOCTSIM/gcc/Makefile @@ -39,6 +39,7 @@ stdio_redirect \ hal/utils/src \ hpl/usb \ +dma_m2m \ hpl/pm \ hpl/cmcc \ hpl/gclk \ @@ -54,12 +55,13 @@ stdio_redirect/stdio_io.o \ stdio_redirect/gcc/write.o \ hpl/core/hpl_core_m4.o \ +hal/src/hal_cache.o \ usb/class/cdc/device/cdcdf_acm.o \ hal/utils/src/utils_syscalls.o \ stdio_redirect/gcc/read.o \ -usb_start.o \ gcc/system_same54.o \ hpl/usb/hpl_usb.o \ +dma_m2m/dma_memory.o \ hal/src/hal_delay.o \ hpl/pm/hpl_pm.o \ hpl/core/hpl_init.o \ @@ -76,7 +78,6 @@ hal/src/hal_init.o \ gcc/gcc/startup_same54.o \ hal/src/hal_usb_device.o \ -main.o \ i2c_bitbang.o \ octsim_i2c.o \ ncn8025.o \ @@ -87,10 +88,11 @@ hal/src/hal_usart_async.o \ hpl/sercom/hpl_sercom.o \ hal/utils/src/utils_ringbuffer.o \ +main.o \ hal/src/hal_gpio.o \ hal/utils/src/utils_event.o \ hal/src/hal_sleep.o \ -hal/src/hal_cache.o \ +usb_start.o \ hpl/cmcc/hpl_cmcc.o \ atmel_start.o \ usb/device/usbdc.o \ @@ -101,12 +103,13 @@ "stdio_redirect/stdio_io.o" \ "stdio_redirect/gcc/write.o" \ "hpl/core/hpl_core_m4.o" \ +"hal/src/hal_cache.o" \ "usb/class/cdc/device/cdcdf_acm.o" \ "hal/utils/src/utils_syscalls.o" \ "stdio_redirect/gcc/read.o" \ -"usb_start.o" \ "gcc/system_same54.o" \ "hpl/usb/hpl_usb.o" \ +"dma_m2m/dma_memory.o" \ "hal/src/hal_delay.o" \ "hpl/pm/hpl_pm.o" \ "hpl/core/hpl_init.o" \ @@ -123,7 +126,6 @@ "hal/src/hal_init.o" \ "gcc/gcc/startup_same54.o" \ "hal/src/hal_usb_device.o" \ -"main.o" \ "i2c_bitbang.o" \ "octsim_i2c.o" \ "ncn8025.o" \ @@ -134,10 +136,11 @@ "hal/src/hal_usart_async.o" \ "hpl/sercom/hpl_sercom.o" \ "hal/utils/src/utils_ringbuffer.o" \ +"main.o" \ "hal/src/hal_gpio.o" \ "hal/utils/src/utils_event.o" \ "hal/src/hal_sleep.o" \ -"hal/src/hal_cache.o" \ +"usb_start.o" \ "hpl/cmcc/hpl_cmcc.o" \ "atmel_start.o" \ "usb/device/usbdc.o" \ @@ -147,6 +150,7 @@ DEPS := $(OBJS:%.o=%.d) DEPS_AS_ARGS += \ +"dma_m2m/dma_memory.d" \ "stdio_redirect/stdio_io.d" \ "hal/utils/src/utils_event.d" \ "hal/src/hal_io.d" \ @@ -157,6 +161,7 @@ "stdio_redirect/gcc/write.d" \ "gcc/gcc/startup_same54.d" \ "hpl/usb/hpl_usb.d" \ +"main.d" \ "hal/utils/src/utils_list.d" \ "hpl/cmcc/hpl_cmcc.d" \ "hpl/dmac/hpl_dmac.d" \ @@ -176,7 +181,6 @@ "stdio_redirect/gcc/read.d" \ "hal/src/hal_usart_async.d" \ "hpl/osc32kctrl/hpl_osc32kctrl.d" \ -"main.d" \ "i2c_bitbang.d" \ "octsim_i2c.d" \ "ncn8025.d" \ @@ -238,7 +242,7 @@ @echo ARM/GNU C Compiler $(QUOTE)arm-none-eabi-gcc$(QUOTE) -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54N19A__ -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ --I"../" -I"../config" -I"../examples" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/sercom" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/cdc" -I"../usb/class/cdc/device" -I"../usb/device" -I"../" -I"../config" -I"../stdio_redirect" -I"../" -I"../CMSIS/Include" -I"../include" \ +-I"../" -I"../config" -I"../examples" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/sercom" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/cdc" -I"../usb/class/cdc/device" -I"../usb/device" -I"../" -I"../config" -I"../stdio_redirect" -I"../" -I"../dma_m2m" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" @echo Finished building: $< @@ -247,7 +251,7 @@ @echo ARM/GNU Assembler $(QUOTE)arm-none-eabi-as$(QUOTE) -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54N19A__ -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ --I"../" -I"../config" -I"../examples" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/sercom" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/cdc" -I"../usb/class/cdc/device" -I"../usb/device" -I"../" -I"../config" -I"../stdio_redirect" -I"../" -I"../CMSIS/Include" -I"../include" \ +-I"../" -I"../config" -I"../examples" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/sercom" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/cdc" -I"../usb/class/cdc/device" -I"../usb/device" -I"../" -I"../config" -I"../stdio_redirect" -I"../" -I"../dma_m2m" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" @echo Finished building: $< @@ -256,7 +260,7 @@ @echo ARM/GNU Preprocessing Assembler $(QUOTE)arm-none-eabi-gcc$(QUOTE) -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \ -D__SAME54N19A__ -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \ --I"../" -I"../config" -I"../examples" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/sercom" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/cdc" -I"../usb/class/cdc/device" -I"../usb/device" -I"../" -I"../config" -I"../stdio_redirect" -I"../" -I"../CMSIS/Include" -I"../include" \ +-I"../" -I"../config" -I"../examples" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/sercom" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/cdc" -I"../usb/class/cdc/device" -I"../usb/device" -I"../" -I"../config" -I"../stdio_redirect" -I"../" -I"../dma_m2m" -I"../" -I"../CMSIS/Include" -I"../include" \ -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" @echo Finished building: $< @@ -276,4 +280,4 @@ rm -f $(DEPS_AS_ARGS) rm -f $(OUTPUT_FILE_NAME).a $(OUTPUT_FILE_NAME).hex $(OUTPUT_FILE_NAME).bin \ $(OUTPUT_FILE_NAME).lss $(OUTPUT_FILE_NAME).eep $(OUTPUT_FILE_NAME).map \ - $(OUTPUT_FILE_NAME).srec \ No newline at end of file + $(OUTPUT_FILE_NAME).srec -- To view, visit https://gerrit.osmocom.org/13675 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ccid-firmware Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ib07755b2c5974af70817f5460fb0f358c631452a Gerrit-Change-Number: 13675 Gerrit-PatchSet: 1 Gerrit-Owner: Kévin Redon <kre...@sysmocom.de>