/******************************************************************************* * \file dfu_mdk_symbols.c * \version 3.0 * * This file provides symbols to add to an ELF file required by * CyMCUElfTool to generate correct HEX and CYACD2 files. * ******************************************************************************** * \copyright * Copyright 2016-2018, Cypress Semiconductor Corporation. All rights reserved. * You may use this file only in accordance with the license, terms, conditions, * disclaimers, and limitations in the end user license agreement accompanying * the software package with which this file was provided. *******************************************************************************/ #include "dfu_mdk_common.h" /******************************************************************************* * Function Name: cy_DFU_mdkAsmDummy ******************************************************************************** * This function provides ELF file symbols through * the inline assembly. * The inline assembly in the *.c file is chosen, because it allows using * #include where the user configuration is updated. * * Note that this function does not have code, so no additional memory * is allocated for it. *******************************************************************************/ __asm void cy_DFU_mdkAsmDummy(void) { EXPORT __cy_boot_metadata_addr EXPORT __cy_boot_metadata_length EXPORT __cy_app_core1_start_addr EXPORT __cy_product_id EXPORT __cy_checksum_type EXPORT __cy_app_id EXPORT __cy_app_verify_start EXPORT __cy_app_verify_length /* Used by all DFU SDK applications to switch to another app */ __cy_boot_metadata_addr EQU __cpp(CY_BOOT_METADATA_ADDR) /* Used by CyMCUElfTool to update DFU SDK metadata with CRC-32C */ __cy_boot_metadata_length EQU __cpp(CY_BOOT_METADATA_LENGTH) /* Used by CM0+ to start CM4 core in the DFU SDK applications. */ /* Make sure the correct app no. is entered here */ __cy_app_core1_start_addr EQU __cpp(CY_APP0_CORE1_FLASH_ADDR) /* Used by CyMCUElfTool to generate ProductID */ __cy_product_id EQU __cpp(CY_PRODUCT_ID) /* Used by CyMCUElfTool to generate ChecksumType */ __cy_checksum_type EQU __cpp(CY_CHECKSUM_TYPE) /* Application number (ID) */ __cy_app_id EQU 0 /* CyMCUElfTool uses these to generate an application signature */ /* The size of the default signature (CRC-32C) is 4 bytes */ __cy_app_verify_start EQU __cpp(CY_APP0_CORE0_FLASH_ADDR) __cy_app_verify_length EQU __cpp(CY_APP0_CORE0_FLASH_LENGTH + CY_APP0_CORE1_FLASH_LENGTH - CY_BOOT_SIGNATURE_SIZE) } /* [] END OF FILE */