2020TPC-SW/2020TPCApp0.cydsn/dfu_mdk_symbols.c
2025-02-01 19:52:04 -06:00

66 lines
2.6 KiB
C

/*******************************************************************************
* \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 <mdk_linker_common.h> 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 */