mbed library sources. Supersedes mbed-src.

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Committer:
AnnaBridge
Date:
Wed Feb 20 22:31:08 2019 +0000
Revision:
189:f392fc9709a3
Parent:
167:e84263d55307
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
<> 160:d5399cc887bb 1 /* mbed Microcontroller Library
<> 160:d5399cc887bb 2 * Copyright (c) 2017 ARM Limited
<> 160:d5399cc887bb 3 *
<> 160:d5399cc887bb 4 * Licensed under the Apache License, Version 2.0 (the "License");
<> 160:d5399cc887bb 5 * you may not use this file except in compliance with the License.
<> 160:d5399cc887bb 6 * You may obtain a copy of the License at
<> 160:d5399cc887bb 7 *
<> 160:d5399cc887bb 8 * http://www.apache.org/licenses/LICENSE-2.0
<> 160:d5399cc887bb 9 *
<> 160:d5399cc887bb 10 * Unless required by applicable law or agreed to in writing, software
<> 160:d5399cc887bb 11 * distributed under the License is distributed on an "AS IS" BASIS,
<> 160:d5399cc887bb 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
<> 160:d5399cc887bb 13 * See the License for the specific language governing permissions and
<> 160:d5399cc887bb 14 * limitations under the License.
<> 160:d5399cc887bb 15 */
<> 160:d5399cc887bb 16
<> 160:d5399cc887bb 17 #include "flash_api.h"
<> 160:d5399cc887bb 18 #include "flash_data.h"
<> 160:d5399cc887bb 19 #include "mbed_critical.h"
<> 160:d5399cc887bb 20
<> 160:d5399cc887bb 21 // This file is automagically generated
<> 160:d5399cc887bb 22
AnnaBridge 167:e84263d55307 23 #if DEVICE_FLASH
AnnaBridge 167:e84263d55307 24
<> 160:d5399cc887bb 25 // This is a flash algo binary blob. It is PIC (position independent code) that should be stored in RAM
<> 160:d5399cc887bb 26 static uint32_t FLASH_ALGO[] = {
<> 160:d5399cc887bb 27 0xb5104935, 0x60084449, 0x21004834, 0x48356001, 0x44484a33, 0x22016002, 0x04926041, 0x02926082,
<> 160:d5399cc887bb 28 0x220560c2, 0x61420692, 0x03122201, 0x46026182, 0x70113220, 0x62411e49, 0xf939f000, 0xd0002800,
<> 160:d5399cc887bb 29 0xbd102001, 0x47702000, 0xb5084a27, 0x0349447a, 0x0c0a9200, 0x48234601, 0x44482300, 0xf9c4f000,
<> 160:d5399cc887bb 30 0xd0002800, 0xbd082001, 0x491fb508, 0x481d4479, 0x44483920, 0xf8a1f000, 0xd10e2800, 0x4478481a,
<> 160:d5399cc887bb 31 0x38324b1a, 0x9000447b, 0x22044816, 0x44484918, 0xf967f000, 0xd0002800, 0xbd082001, 0x4b12b510,
<> 160:d5399cc887bb 32 0x4601447b, 0x2201480f, 0x02923b54, 0xf0004448, 0xbd10f8b6, 0x460cb538, 0x4479490b, 0x9100396e,
<> 160:d5399cc887bb 33 0x48084601, 0x46224613, 0xf0004448, 0x2800f94a, 0x2001d000, 0x0000bd38, 0x00000004, 0x40048100,
<> 160:d5399cc887bb 34 0x40020000, 0x00000008, 0x000000a5, 0x0000055c, 0x0000040c, 0x4604b570, 0x25006800, 0x061b7803,
<> 160:d5399cc887bb 35 0x2370d5fc, 0x20007003, 0x0003e03a, 0xfa5df000, 0x0f0b070c, 0x1f1b1713, 0x2f2b2723, 0x68263633,
<> 160:d5399cc887bb 36 0x71f37813, 0x6826e02a, 0x71b37853, 0x6826e026, 0x71737893, 0x6826e022, 0x713378d3, 0x6826e01e,
<> 160:d5399cc887bb 37 0x72f37913, 0x6826e01a, 0x72b37953, 0x6826e016, 0x72737993, 0x6826e012, 0x723379d3, 0x6826e00e,
<> 160:d5399cc887bb 38 0x73f37a13, 0x6826e00a, 0x73b37a53, 0x6826e006, 0x73737a93, 0x6826e002, 0x73337ad3, 0xb2c01c40,
<> 160:d5399cc887bb 39 0xd9c24288, 0x20806821, 0xe0037008, 0x1c416a60, 0x4780d000, 0x78006820, 0xd5f70600, 0x78006820,
<> 160:d5399cc887bb 40 0xd5010681, 0xe0062504, 0xd50106c1, 0xe0022508, 0xd00007c0, 0x46282510, 0xb508bd70, 0x2244460b,
<> 160:d5399cc887bb 41 0x700a4669, 0x2100466a, 0xbd084798, 0x4614b538, 0xd002078a, 0x300120ff, 0x6842bd38, 0xd803428a,
<> 160:d5399cc887bb 42 0x18d36883, 0xd80d428b, 0x428b68c3, 0x6902d803, 0x428a189a, 0x2002d801, 0x2201bd38, 0x05d21ac9,
<> 160:d5399cc887bb 43 0xe0001889, 0x22081a89, 0x701a466b, 0x705a0c0a, 0x709a0a0a, 0x466a70d9, 0x47a02103, 0xb5ffbd38,
<> 160:d5399cc887bb 44 0x4615b081, 0x27019a01, 0x26006852, 0x02bf1948, 0xd804428a, 0x689b9b01, 0x428318d3, 0x9a01d20f,
<> 160:d5399cc887bb 45 0x428a68d2, 0x9b01d804, 0x18d3691b, 0xd2014283, 0xe0292602, 0x21011a88, 0x184405c9, 0x1a8ce000,
<> 160:d5399cc887bb 46 0x46204639, 0xf904f000, 0xd0022900, 0x360126ff, 0x4639e01a, 0xf0004628, 0x2900f8fb, 0x2601d012,
<> 160:d5399cc887bb 47 0x2009e012, 0x70084669, 0x70480c20, 0x70880a20, 0x9b0470cc, 0x2103466a, 0x47989801, 0xd1030006,
<> 160:d5399cc887bb 48 0x19e41bed, 0xd1ec2d00, 0xb0054630, 0xb5f0bdf0, 0x24006801, 0x0612780a, 0x2270d5fc, 0x6802700a,
<> 160:d5399cc887bb 49 0x71d12103, 0x22806801, 0x6803718a, 0x71592100, 0x23fc6805, 0x6803712b, 0x680373d9, 0x6802701a,
<> 160:d5399cc887bb 50 0x061b7813, 0x7a55d5fc, 0x07177a12, 0x0f3f2201, 0x10560412, 0xf000003b, 0x0910f968, 0x0b0d0b0b,
<> 160:d5399cc887bb 51 0x0b0b0b0b, 0x090d0b0b, 0x0e090b0b, 0xe0026102, 0xe0006101, 0x072a6106, 0x00130f12, 0xf955f000,
<> 160:d5399cc887bb 52 0x0c090910, 0x1815120f, 0x091f1d1b, 0x09090909, 0x61c10a09, 0xbdf04620, 0x03092101, 0x2101e7f9,
<> 160:d5399cc887bb 53 0xe7f602c9, 0x02892101, 0x2101e7f3, 0xe7f00249, 0x310121ff, 0x2180e7ed, 0x2140e7eb, 0x2120e7e9,
<> 160:d5399cc887bb 54 0xb5fee7e7, 0x46074616, 0x2000461d, 0x078b198a, 0x20ffd002, 0xbdfe3001, 0xd00107b3, 0xbdfe2001,
<> 160:d5399cc887bb 55 0x428b687b, 0x68bcd803, 0x4294191c, 0x68fbd20d, 0xd803428b, 0x191c693c, 0xd2014294, 0xbdfe2002,
<> 160:d5399cc887bb 56 0x1ac92201, 0x188c05d2, 0x1acce01b, 0x2006e019, 0x70084669, 0x70480c20, 0x70880a20, 0x78e870cc,
<> 160:d5399cc887bb 57 0x78a87108, 0x78687148, 0x78287188, 0x9b0871c8, 0x2107466a, 0x47984638, 0xd1e02800, 0x1f361d24,
<> 160:d5399cc887bb 58 0x2e001d2d, 0xbdfed1e3, 0x4615b5fe, 0x68424604, 0x184000a8, 0x428a461e, 0x68a3d803, 0x428b18d3,
<> 160:d5399cc887bb 59 0x68e3d808, 0xd803428b, 0x19db6927, 0xd801428b, 0xbdfe2002, 0xd8054282, 0x18d368a3, 0xd3014283,
<> 160:d5399cc887bb 60 0xe00a1a8f, 0x428268e2, 0x6923d903, 0x428318d3, 0x1a88d3ee, 0x05c92101, 0x21041847, 0xf0004638,
<> 160:d5399cc887bb 61 0x2900f817, 0x20ffd002, 0xbdfe3001, 0x46692001, 0x0c387008, 0x0a387048, 0x70cf7088, 0x71080a28,
<> 160:d5399cc887bb 62 0x718e714d, 0x466a9b08, 0x46202106, 0xbdfe4798, 0x09032200, 0xd32c428b, 0x428b0a03, 0x2300d311,
<> 160:d5399cc887bb 63 0xe04e469c, 0x430b4603, 0x2200d43c, 0x428b0843, 0x0903d331, 0xd31c428b, 0x428b0a03, 0x4694d301,
<> 160:d5399cc887bb 64 0x09c3e03f, 0xd301428b, 0x1ac001cb, 0x09834152, 0xd301428b, 0x1ac0018b, 0x09434152, 0xd301428b,
<> 160:d5399cc887bb 65 0x1ac0014b, 0x09034152, 0xd301428b, 0x1ac0010b, 0x08c34152, 0xd301428b, 0x1ac000cb, 0x08834152,
<> 160:d5399cc887bb 66 0xd301428b, 0x1ac0008b, 0x08434152, 0xd301428b, 0x1ac0004b, 0x1a414152, 0x4601d200, 0x46104152,
<> 160:d5399cc887bb 67 0xe05d4770, 0xd0000fca, 0x10034249, 0x4240d300, 0x22004053, 0x0903469c, 0xd32d428b, 0x428b0a03,
<> 160:d5399cc887bb 68 0x22fcd312, 0xba120189, 0x428b0a03, 0x0189d30c, 0x428b1192, 0x0189d308, 0x428b1192, 0x0189d304,
<> 160:d5399cc887bb 69 0x1192d03a, 0x0989e000, 0x428b09c3, 0x01cbd301, 0x41521ac0, 0x428b0983, 0x018bd301, 0x41521ac0,
<> 160:d5399cc887bb 70 0x428b0943, 0x014bd301, 0x41521ac0, 0x428b0903, 0x010bd301, 0x41521ac0, 0x428b08c3, 0x00cbd301,
<> 160:d5399cc887bb 71 0x41521ac0, 0x428b0883, 0x008bd301, 0x41521ac0, 0x0843d2d9, 0xd301428b, 0x1ac0004b, 0x1a414152,
<> 160:d5399cc887bb 72 0x4601d200, 0x41524663, 0x4610105b, 0x4240d301, 0xd5002b00, 0x47704249, 0x105b4663, 0x4240d300,
<> 160:d5399cc887bb 73 0x2000b501, 0x46c046c0, 0xb430bd02, 0x1e644674, 0x1c647825, 0xd20042ab, 0x5d63461d, 0x18e3005b,
<> 160:d5399cc887bb 74 0x4718bc30, 0xfffffffe, 0xffffffff, 0xfffffffe, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
<> 160:d5399cc887bb 75 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
<> 160:d5399cc887bb 76 };
<> 160:d5399cc887bb 77
<> 160:d5399cc887bb 78 static const flash_algo_t flash_algo_config = {
<> 160:d5399cc887bb 79 .init = 0x1,
<> 160:d5399cc887bb 80 .uninit = 0x45,
<> 160:d5399cc887bb 81 .erase_sector = 0x9d,
<> 160:d5399cc887bb 82 .program_page = 0xb5,
<> 160:d5399cc887bb 83 .static_base = 0x5f0,
<> 160:d5399cc887bb 84 .algo_blob = FLASH_ALGO
<> 160:d5399cc887bb 85 };
<> 160:d5399cc887bb 86
<> 160:d5399cc887bb 87 static const sector_info_t sectors_info[] = {
<> 160:d5399cc887bb 88 {0x0, 0x400},
<> 160:d5399cc887bb 89 };
<> 160:d5399cc887bb 90
<> 160:d5399cc887bb 91 static const flash_target_config_t flash_target_config = {
<> 160:d5399cc887bb 92 .page_size = 0x100,
<> 160:d5399cc887bb 93 .flash_start = 0x0,
<> 160:d5399cc887bb 94 .flash_size = 0x40000,
<> 160:d5399cc887bb 95 .sectors = sectors_info,
<> 160:d5399cc887bb 96 .sector_info_count = sizeof(sectors_info) / sizeof(sector_info_t)
<> 160:d5399cc887bb 97 };
<> 160:d5399cc887bb 98
<> 160:d5399cc887bb 99 void flash_set_target_config(flash_t *obj)
<> 160:d5399cc887bb 100 {
<> 160:d5399cc887bb 101 obj->flash_algo = &flash_algo_config;
<> 160:d5399cc887bb 102 obj->target_config = &flash_target_config;
<> 160:d5399cc887bb 103 }
AnnaBridge 167:e84263d55307 104
AnnaBridge 167:e84263d55307 105 #endif