Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
flash_blob.c
00001 /** 00002 * @file flash_blob.c 00003 * @brief Flash algorithm for the stm32f411 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 "flash_blob.h" 00023 00024 static const uint32_t output_flash_prog_blob[] = { 00025 0xE00ABE00, 0x062D780D, 0x24084068, 0xD3000040, 0x1E644058, 0x1C49D1FA, 0x2A001E52, 0x4770D1F2, 00026 0x03004601, 0x28200e00, 0x0940d302, 0xe0051d00, 0xd3022810, 0x1cc00900, 0x0880e000, 0xd50102c9, 00027 0x43082110, 0x48424770, 0x60414940, 0x60414941, 0x60012100, 0x22f068c1, 0x60c14311, 0x06806940, 00028 0x483ed406, 0x6001493c, 0x60412106, 0x6081493c, 0x47702000, 0x69014836, 0x43110542, 0x20006101, 00029 0xb5104770, 0x69014832, 0x43212404, 0x69016101, 0x431103a2, 0x49336101, 0xe0004a30, 0x68c36011, 00030 0xd4fb03db, 0x43a16901, 0x20006101, 0xb530bd10, 0xffb6f7ff, 0x68ca4926, 0x431a23f0, 0x240260ca, 00031 0x690a610c, 0x0e0006c0, 0x610a4302, 0x03e26908, 0x61084310, 0x4a214823, 0x6010e000, 0x03ed68cd, 00032 0x6908d4fb, 0x610843a0, 0x060068c8, 0xd0030f00, 0x431868c8, 0x200160c8, 0xb570bd30, 0x1cc94d14, 00033 0x68eb0889, 0x26f00089, 0x60eb4333, 0x612b2300, 0xe0174b15, 0x431c692c, 0x6814612c, 0x68ec6004, 00034 0xd4fc03e4, 0x0864692c, 0x612c0064, 0x062468ec, 0xd0040f24, 0x433068e8, 0x200160e8, 0x1d00bd70, 00035 0x1f091d12, 0xd1e52900, 0xbd702000, 0x45670123, 0x40023c00, 0xcdef89ab, 0x00005555, 0x40003000, 00036 0x00000fff, 0x0000aaaa, 0x00000201, 0x00000000, 00037 }; 00038 00039 /** 00040 * List of start and size for each size of flash sector 00041 * The size will apply to all sectors between the listed address and the next address 00042 * in the list. 00043 * The last pair in the list will have sectors starting at that address and ending 00044 * at address start + size. 00045 */ 00046 static const sector_info_t sectors_info[] = { 00047 {0x08000000, KB(16)}, 00048 }; 00049 00050 static const program_target_t flash = { 00051 0x20000047, // Init 00052 0x20000075, // UnInit 00053 0x20000083, // EraseChip 00054 0x200000AF, // EraseSector 00055 0x200000FB, // ProgramPage 00056 0x0, // Verify 00057 00058 // BKPT : start of blob + 1 00059 // RSB : blob start + header + rw data offset 00060 // RSP : stack pointer 00061 { 00062 0x20000000 + 0x00000001, 00063 0x20000000 + 0x00000020 + 0x0000014c, 00064 0x20000800 00065 }, 00066 00067 0x20000000 + 0x00000A00, // mem buffer location 00068 0x20000000, // location to write prog_blob in target RAM 00069 sizeof(output_flash_prog_blob), // prog_blob size 00070 output_flash_prog_blob, // address of prog_blob 00071 0x00000200 // ram_to_flash_bytes_to_be_written 00072 };
Generated on Tue Jul 12 2022 15:37:16 by
1.7.2