mbed library sources. Supersedes mbed-src.

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

Committer:
AnnaBridge
Date:
Wed Jun 21 17:46:44 2017 +0100
Revision:
167:e84263d55307
Child:
174:b96e65c34a4d
This updates the lib to the mbed lib v 145

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 167:e84263d55307 1 /* mbed Microcontroller Library
AnnaBridge 167:e84263d55307 2 * Copyright (c) 2017 ARM Limited
AnnaBridge 167:e84263d55307 3 *
AnnaBridge 167:e84263d55307 4 * Licensed under the Apache License, Version 2.0 (the "License");
AnnaBridge 167:e84263d55307 5 * you may not use this file except in compliance with the License.
AnnaBridge 167:e84263d55307 6 * You may obtain a copy of the License at
AnnaBridge 167:e84263d55307 7 *
AnnaBridge 167:e84263d55307 8 * http://www.apache.org/licenses/LICENSE-2.0
AnnaBridge 167:e84263d55307 9 *
AnnaBridge 167:e84263d55307 10 * Unless required by applicable law or agreed to in writing, software
AnnaBridge 167:e84263d55307 11 * distributed under the License is distributed on an "AS IS" BASIS,
AnnaBridge 167:e84263d55307 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
AnnaBridge 167:e84263d55307 13 * See the License for the specific language governing permissions and
AnnaBridge 167:e84263d55307 14 * limitations under the License.
AnnaBridge 167:e84263d55307 15 */
AnnaBridge 167:e84263d55307 16
AnnaBridge 167:e84263d55307 17 #include "flash_api.h"
AnnaBridge 167:e84263d55307 18 #include "platform/mbed_critical.h"
AnnaBridge 167:e84263d55307 19
AnnaBridge 167:e84263d55307 20 // This file is automatically generated
AnnaBridge 167:e84263d55307 21
AnnaBridge 167:e84263d55307 22 #if DEVICE_FLASH
AnnaBridge 167:e84263d55307 23
AnnaBridge 167:e84263d55307 24 #include "flash_data.h"
AnnaBridge 167:e84263d55307 25
AnnaBridge 167:e84263d55307 26 // This is a flash algo binary blob. It is PIC (position independent code) that should be stored in RAM
AnnaBridge 167:e84263d55307 27 static uint32_t FLASH_ALGO[] = {
AnnaBridge 167:e84263d55307 28 0x28100b00, 0x210ed302, 0x00d0eb01, 0xf44f4770, 0xfbb1707a, 0x4933f0f0, 0x60084449, 0x20014932,
AnnaBridge 167:e84263d55307 29 0x20006408, 0x20004770, 0xe92d4770, 0xf7ff41f0, 0x4d2effe7, 0x444d4604, 0xe9c52032, 0xf1050400,
AnnaBridge 167:e84263d55307 30 0x4e2b0114, 0x4628460f, 0x47b060ac, 0xb9686968, 0xe9c52034, 0x48230400, 0x444860ac, 0x68004639,
AnnaBridge 167:e84263d55307 31 0x462860e8, 0x696847b0, 0xd0002800, 0xe8bd2001, 0xe92d81f0, 0x461441f0, 0xd10e0006, 0x0100e9d4,
AnnaBridge 167:e84263d55307 32 0xe9d44408, 0x44111202, 0x69214408, 0x69614408, 0x69a14408, 0x42404408, 0x463061e0, 0xffb0f7ff,
AnnaBridge 167:e84263d55307 33 0x21324d12, 0x4f12444d, 0x1000e9c5, 0x0114f105, 0x468860a8, 0x47b84628, 0xb9806968, 0xe9c52033,
AnnaBridge 167:e84263d55307 34 0xf44f0600, 0xe9c56080, 0x48064002, 0x44484641, 0x61286800, 0x47b84628, 0x28006968, 0x2001d0c7,
AnnaBridge 167:e84263d55307 35 0x0000e7c5, 0x00000004, 0x400fc000, 0x00000008, 0x1fff1ff1, 0x00000000, 0x00000000, 0x00000000,
AnnaBridge 167:e84263d55307 36 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
AnnaBridge 167:e84263d55307 37 };
AnnaBridge 167:e84263d55307 38
AnnaBridge 167:e84263d55307 39 static const flash_algo_t flash_algo_config = {
AnnaBridge 167:e84263d55307 40 .init = 0xf,
AnnaBridge 167:e84263d55307 41 .uninit = 0x27,
AnnaBridge 167:e84263d55307 42 .erase_sector = 0x2b,
AnnaBridge 167:e84263d55307 43 .program_page = 0x73,
AnnaBridge 167:e84263d55307 44 .static_base = 0xf4,
AnnaBridge 167:e84263d55307 45 .algo_blob = FLASH_ALGO
AnnaBridge 167:e84263d55307 46 };
AnnaBridge 167:e84263d55307 47
AnnaBridge 167:e84263d55307 48 static const sector_info_t sectors_info[] = {
AnnaBridge 167:e84263d55307 49 {0x0, 0x1000},
AnnaBridge 167:e84263d55307 50 {0x10000, 0x8000},
AnnaBridge 167:e84263d55307 51 };
AnnaBridge 167:e84263d55307 52
AnnaBridge 167:e84263d55307 53 static const flash_target_config_t flash_target_config = {
AnnaBridge 167:e84263d55307 54 .page_size = 0x400,
AnnaBridge 167:e84263d55307 55 .flash_start = 0x0,
AnnaBridge 167:e84263d55307 56 .flash_size = 0x80000,
AnnaBridge 167:e84263d55307 57 .sectors = sectors_info,
AnnaBridge 167:e84263d55307 58 .sector_info_count = sizeof(sectors_info) / sizeof(sector_info_t)
AnnaBridge 167:e84263d55307 59 };
AnnaBridge 167:e84263d55307 60
AnnaBridge 167:e84263d55307 61 void flash_set_target_config(flash_t *obj)
AnnaBridge 167:e84263d55307 62 {
AnnaBridge 167:e84263d55307 63 obj->flash_algo = &flash_algo_config;
AnnaBridge 167:e84263d55307 64 obj->target_config = &flash_target_config;
AnnaBridge 167:e84263d55307 65 }
AnnaBridge 167:e84263d55307 66
AnnaBridge 167:e84263d55307 67 #endif