Repostiory containing DAPLink source code with Reset Pin workaround for HANI_IOT board.
Upstream: https://github.com/ARMmbed/DAPLink
Diff: source/target/target_config.h
- Revision:
- 0:01f31e923fe2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/source/target/target_config.h Tue Apr 07 12:55:42 2020 +0200 @@ -0,0 +1,72 @@ +/** + * @file target_config.h + * @brief + * + * DAPLink Interface Firmware + * Copyright (c) 2009-2019, ARM Limited, All Rights Reserved + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TARGET_CONFIG_H +#define TARGET_CONFIG_H + +#include <stddef.h> +#include <stdint.h> + +#include "flash_blob.h" +#include "util.h" + +//! This can vary from target to target and should be in the structure or flash blob +#define TARGET_AUTO_INCREMENT_PAGE_SIZE (1024) + +//! Additional flash and ram regions +#define MAX_REGIONS (10) + +//! @brief Option flags for memory regions. +enum _region_flags { + kRegionIsDefault = (1 << 0), /*!< Out of bounds regions will use the same flash algo if this is set */ + kRegionIsSecure = (1 << 1), /*!< The region can only be accessed from the secure world. Only applies for TrustZone-enabled targets. */ +}; + +/*! + * @brief Details of a target flash or RAM memory region. + */ +typedef struct __attribute__((__packed__)) region_info { + uint32_t start; /*!< Region start address. */ + uint32_t end; /*!< Region end address. */ + uint32_t flags; /*!< Flags for this region from the #_region_flags enumeration. */ + uint32_t alias_index; /*!< Use with flags; will point to a different index if there is an alias region */ + program_target_t *flash_algo; /*!< A pointer to the flash algorithm structure */ +} region_info_t; + +/*! + * @brief Information required to program target flash. + */ +typedef struct __attribute__((__packed__)) target_cfg { + uint32_t version; /*!< Target configuration version */ + const sector_info_t* sectors_info; /*!< Sector start and length list */ + uint32_t sector_info_length; /*!< Number of entries in the sectors_info array */ + region_info_t flash_regions[MAX_REGIONS]; /*!< Flash regions */ + region_info_t ram_regions[MAX_REGIONS]; /*!< RAM regions */ + const char *rt_board_id; /*!< If assigned, this is a flexible board ID */ + uint16_t rt_family_id; /*!< If assigned, this is a flexible family ID */ + uint8_t erase_reset; /*!< Reset after performing an erase */ + uint8_t pad; +} target_cfg_t; + +extern target_cfg_t target_device; + + +#endif