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

« Back to documentation index

Show/hide line numbers flash_blob.c Source File

flash_blob.c

00001 /* Flash OS Routines (Automagically Generated)
00002  * Copyright (c) 2009-2019 ARM Limited
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *     http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 static const uint32_t STM32L476RG_flash_prog_blob[] = {
00018     0xE00ABE00, 0x062D780D, 0x24084068, 0xD3000040, 0x1E644058, 0x1C49D1FA, 0x2A001E52, 0x4770D1F2,
00019     0x6a094953, 0xd5040289, 0x42884952, 0x2001d301, 0x20004770, 0x484e4770, 0x6081494f, 0x6081494f,
00020     0x60012100, 0x31faf244, 0x6a006101, 0xd40803c0, 0xf245484b, 0x60015155, 0x60412106, 0x71fff640,
00021     0x20006081, 0x48424770, 0xf0416941, 0x61414100, 0x47702000, 0x47702001, 0xf64ab510, 0x494022aa,
00022     0xe000483b, 0x6903600a, 0xd4fb03db, 0x34faf244, 0xf2486104, 0x61430304, 0xf4436943, 0x61433380,
00023     0x600ae000, 0x03db6903, 0x2100d4fb, 0x69016141, 0xd0024221, 0x20016104, 0x2000bd10, 0xb570bd10,
00024     0xf7ff4602, 0xf3c2ffad, 0xf64a25c7, 0x4a2c23aa, 0xe0004927, 0x690c6013, 0xd4fb03e4, 0x34faf244,
00025     0x2602610c, 0x05c5eb06, 0x20c0ea45, 0x69486148, 0x3080f440, 0xe0006148, 0x69086013, 0xd4fb03c0,
00026     0x61482000, 0x40206908, 0x610cd001, 0xbd702001, 0x1dc9b5f0, 0x0107f021, 0x25aaf64a, 0x4c144e18,
00027     0x6035e000, 0x03db6923, 0xf244d4fb, 0x612737fa, 0x0e01f04f, 0x0c00f04f, 0xf8c4e015, 0x6813e014,
00028     0x68536003, 0xe0006043, 0x69236035, 0xd4fb03db, 0xc014f8c4, 0x423b6923, 0x6127d002, 0xbdf02001,
00029     0x39083008, 0x29003208, 0x2000d1e7, 0x0000bdf0, 0x40022000, 0x08080000, 0x45670123, 0xcdef89ab,
00030     0x40003000, 0x00000000
00031 };
00032 
00033 /**
00034 * List of start and size for each size of flash sector
00035 * The size will apply to all sectors between the listed address and the next address
00036 * in the list.
00037 * The last pair in the list will have sectors starting at that address and ending
00038 * at address start + size.
00039 */
00040 static const sector_info_t sectors_info[] = {
00041     {0x08000000, 0x800},
00042 };
00043 
00044 static const program_target_t flash = {
00045     0x20000037, // Init
00046     0x20000067, // UnInit
00047     0x20000079, // EraseChip
00048     0x200000bf, // EraseSector
00049     0x20000111, // ProgramPage
00050     0x0,        // Verify
00051 
00052     // BKPT : start of blob + 1
00053     // RSB  : blob start + header + rw data offset
00054     // RSP  : stack pointer
00055     {
00056         0x20000001,
00057         0x20000184,
00058         0x20000800
00059     },
00060 
00061     0x20000000 + 0x00000A00,  // mem buffer location
00062     0x20000000,               // location to write prog_blob in target RAM
00063     sizeof(STM32L476RG_flash_prog_blob),   // prog_blob size
00064     STM32L476RG_flash_prog_blob,           // address of prog_blob
00065     0x00000400       // ram_to_flash_bytes_to_be_written
00066 };