66 lines
2.6 KiB
C
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 */
|