mbed library sources. Supersedes mbed-src.
Dependents: Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more
targets/TARGET_NXP/TARGET_LPC176X/device/flash_api.c@167:e84263d55307, 2017-06-21 (annotated)
- 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?
User | Revision | Line number | New 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 |