The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Wed Feb 20 20:53:29 2019 +0000
Revision:
172:65be27845400
Parent:
171:3a7713b1edbc
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kojto 148:fd96258d940d 1 /*
Kojto 148:fd96258d940d 2 * Copyright (c) 2013 Nordic Semiconductor ASA
Kojto 148:fd96258d940d 3 * All rights reserved.
Kojto 148:fd96258d940d 4 *
Kojto 148:fd96258d940d 5 * Redistribution and use in source and binary forms, with or without modification,
Kojto 148:fd96258d940d 6 * are permitted provided that the following conditions are met:
Kojto 148:fd96258d940d 7 *
Kojto 148:fd96258d940d 8 * 1. Redistributions of source code must retain the above copyright notice, this list
Kojto 148:fd96258d940d 9 * of conditions and the following disclaimer.
Kojto 148:fd96258d940d 10 *
Kojto 148:fd96258d940d 11 * 2. Redistributions in binary form, except as embedded into a Nordic Semiconductor ASA
Kojto 148:fd96258d940d 12 * integrated circuit in a product or a software update for such product, must reproduce
Kojto 148:fd96258d940d 13 * the above copyright notice, this list of conditions and the following disclaimer in
Kojto 148:fd96258d940d 14 * the documentation and/or other materials provided with the distribution.
Kojto 148:fd96258d940d 15 *
Kojto 148:fd96258d940d 16 * 3. Neither the name of Nordic Semiconductor ASA nor the names of its contributors may be
Kojto 148:fd96258d940d 17 * used to endorse or promote products derived from this software without specific prior
Kojto 148:fd96258d940d 18 * written permission.
Kojto 148:fd96258d940d 19 *
Kojto 148:fd96258d940d 20 * 4. This software, with or without modification, must only be used with a
Kojto 148:fd96258d940d 21 * Nordic Semiconductor ASA integrated circuit.
Kojto 148:fd96258d940d 22 *
Kojto 148:fd96258d940d 23 * 5. Any software provided in binary or object form under this license must not be reverse
Kojto 148:fd96258d940d 24 * engineered, decompiled, modified and/or disassembled.
Kojto 148:fd96258d940d 25 *
Kojto 148:fd96258d940d 26 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
Kojto 148:fd96258d940d 27 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
Kojto 148:fd96258d940d 28 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
Kojto 148:fd96258d940d 29 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
Kojto 148:fd96258d940d 30 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
Kojto 148:fd96258d940d 31 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
Kojto 148:fd96258d940d 32 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
Kojto 148:fd96258d940d 33 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
Kojto 148:fd96258d940d 34 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
Kojto 148:fd96258d940d 35 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Kojto 148:fd96258d940d 36 *
Kojto 148:fd96258d940d 37 */
Kojto 148:fd96258d940d 38
Kojto 148:fd96258d940d 39
Kojto 148:fd96258d940d 40 /**@file
Kojto 148:fd96258d940d 41 *
Kojto 148:fd96258d940d 42 * @defgroup nrf_bootloader_types Types and definitions.
Kojto 148:fd96258d940d 43 * @{
Kojto 148:fd96258d940d 44 *
Kojto 148:fd96258d940d 45 * @ingroup nrf_bootloader
Kojto 148:fd96258d940d 46 *
Kojto 148:fd96258d940d 47 * @brief Bootloader module type and definitions.
Kojto 148:fd96258d940d 48 */
Kojto 148:fd96258d940d 49
Kojto 148:fd96258d940d 50 #ifndef BOOTLOADER_TYPES_H__
Kojto 148:fd96258d940d 51 #define BOOTLOADER_TYPES_H__
Kojto 148:fd96258d940d 52
Kojto 148:fd96258d940d 53 #include <stdint.h>
Kojto 148:fd96258d940d 54
Kojto 148:fd96258d940d 55 #define BOOTLOADER_DFU_START 0xB1
Kojto 148:fd96258d940d 56
Kojto 148:fd96258d940d 57 #define BOOTLOADER_SVC_APP_DATA_PTR_GET 0x02
Kojto 148:fd96258d940d 58
Kojto 148:fd96258d940d 59 /**@brief DFU Bank state code, which indicates wether the bank contains: A valid image, invalid image, or an erased flash.
Kojto 148:fd96258d940d 60 */
Kojto 148:fd96258d940d 61 typedef enum
Kojto 148:fd96258d940d 62 {
Kojto 148:fd96258d940d 63 BANK_VALID_APP = 0x01,
Kojto 148:fd96258d940d 64 BANK_VALID_SD = 0xA5,
Kojto 148:fd96258d940d 65 BANK_VALID_BOOT = 0xAA,
Kojto 148:fd96258d940d 66 BANK_ERASED = 0xFE,
Kojto 148:fd96258d940d 67 BANK_INVALID_APP = 0xFF,
Kojto 148:fd96258d940d 68 } bootloader_bank_code_t;
Kojto 148:fd96258d940d 69
Kojto 148:fd96258d940d 70 /**@brief Structure holding bootloader settings for application and bank data.
Kojto 148:fd96258d940d 71 */
Kojto 148:fd96258d940d 72 typedef struct
Kojto 148:fd96258d940d 73 {
Kojto 148:fd96258d940d 74 bootloader_bank_code_t bank_0; /**< Variable to store if bank 0 contains a valid application. */
Kojto 148:fd96258d940d 75 uint16_t bank_0_crc; /**< If bank is valid, this field will contain a valid CRC of the total image. */
Kojto 148:fd96258d940d 76 bootloader_bank_code_t bank_1; /**< Variable to store if bank 1 has been erased/prepared for new image. Bank 1 is only used in Banked Update scenario. */
Kojto 148:fd96258d940d 77 uint32_t bank_0_size; /**< Size of active image in bank0 if present, otherwise 0. */
Kojto 148:fd96258d940d 78 uint32_t sd_image_size; /**< Size of SoftDevice image in bank0 if bank_0 code is BANK_VALID_SD. */
Kojto 148:fd96258d940d 79 uint32_t bl_image_size; /**< Size of Bootloader image in bank0 if bank_0 code is BANK_VALID_SD. */
Kojto 148:fd96258d940d 80 uint32_t app_image_size; /**< Size of Application image in bank0 if bank_0 code is BANK_VALID_SD. */
Kojto 148:fd96258d940d 81 uint32_t sd_image_start; /**< Location in flash where SoftDevice image is stored for SoftDevice update. */
Kojto 148:fd96258d940d 82 } bootloader_settings_t;
Kojto 148:fd96258d940d 83
Kojto 148:fd96258d940d 84 #endif // BOOTLOADER_TYPES_H__
Kojto 148:fd96258d940d 85
Kojto 148:fd96258d940d 86 /**@} */