Arrow / Mbed OS DAPLink Reset
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers k20dx_bl.c Source File

k20dx_bl.c

Go to the documentation of this file.
00001 /**
00002  * @file    k20dx_bl.c
00003  * @brief   board ID and meta-data for the hardware interface circuit (HIC) based on the NXP K20DX
00004  *
00005  * DAPLink Interface Firmware
00006  * Copyright (c) 2009-2019, ARM Limited, All Rights Reserved
00007  * SPDX-License-Identifier: Apache-2.0
00008  *
00009  * Licensed under the Apache License, Version 2.0 (the "License"); you may
00010  * not use this file except in compliance with the License.
00011  * You may obtain a copy of the License at
00012  *
00013  * http://www.apache.org/licenses/LICENSE-2.0
00014  *
00015  * Unless required by applicable law or agreed to in writing, software
00016  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
00017  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00018  * See the License for the specific language governing permissions and
00019  * limitations under the License.
00020  */
00021 
00022 #include "target_config.h"
00023 #include "daplink_addr.h"
00024 #include "compiler.h"
00025 #include "target_board.h"
00026 #include "target_family.h"
00027 
00028 // Warning - changing the interface start will break backwards compatibility
00029 COMPILER_ASSERT(DAPLINK_ROM_IF_START == KB(32));
00030 COMPILER_ASSERT(DAPLINK_ROM_IF_SIZE == KB(95));
00031 
00032 /**
00033 * List of start and size for each size of flash sector
00034 * The size will apply to all sectors between the listed address and the next address
00035 * in the list.
00036 * The last pair in the list will have sectors starting at that address and ending
00037 * at address start + size.
00038 */
00039 static const sector_info_t sectors_info[] = {
00040     {DAPLINK_ROM_IF_START, 1024},
00041  };
00042 
00043 // k20dx128 target information
00044 target_cfg_t target_device = {
00045     .sectors_info               = sectors_info,
00046     .sector_info_length         = (sizeof(sectors_info))/(sizeof(sector_info_t)),
00047     .flash_regions[0].start     = DAPLINK_ROM_IF_START,
00048     .flash_regions[0].end       = DAPLINK_ROM_IF_START + DAPLINK_ROM_IF_SIZE,
00049     .flash_regions[0].flags     = kRegionIsDefault ,  
00050     .ram_regions[0].start       = 0x1fffe000,
00051     .ram_regions[0].end         = 0x20002000,
00052     // flash_algo not needed for bootloader 
00053 };
00054 
00055 //bootloader has no family
00056 const target_family_descriptor_t *g_target_family = NULL;
00057 
00058 const board_info_t g_board_info = {
00059     .info_version = kBoardInfoVersion,
00060     .board_id = "0000",
00061     .daplink_url_name =       "HELP_FAQHTM",
00062     .daplink_drive_name =       "MAINTENANCE",
00063     .daplink_target_url = "https://mbed.com/daplink",
00064     .target_cfg = &target_device,
00065 };