BLE FOTA APP

Dependencies:   BLE_API mbed

It doesn't work with the default FOTA bootloader. It use NVIC_SystemReset() to enter a bootloader.

Committer:
yihui
Date:
Fri Oct 10 03:36:28 2014 +0000
Revision:
1:a607cd9655d7
use NVIC_SystemReset() to run bootloader

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yihui 1:a607cd9655d7 1 /* Copyright (c) 2008 Nordic Semiconductor. All Rights Reserved.
yihui 1:a607cd9655d7 2 *
yihui 1:a607cd9655d7 3 * The information contained herein is property of Nordic Semiconductor ASA.
yihui 1:a607cd9655d7 4 * Terms and conditions of usage are described in detail in NORDIC
yihui 1:a607cd9655d7 5 * SEMICONDUCTOR STANDARD SOFTWARE LICENSE AGREEMENT.
yihui 1:a607cd9655d7 6 *
yihui 1:a607cd9655d7 7 * Licensees are granted free, non-transferable use of the information. NO
yihui 1:a607cd9655d7 8 * WARRANTY of ANY KIND is provided. This heading must NOT be removed from
yihui 1:a607cd9655d7 9 * the file.
yihui 1:a607cd9655d7 10 */
yihui 1:a607cd9655d7 11
yihui 1:a607cd9655d7 12 /** @file
yihui 1:a607cd9655d7 13 * @brief Common defines and macros for firmware developed by Nordic Semiconductor.
yihui 1:a607cd9655d7 14 */
yihui 1:a607cd9655d7 15
yihui 1:a607cd9655d7 16 #ifndef NORDIC_COMMON_H__
yihui 1:a607cd9655d7 17 #define NORDIC_COMMON_H__
yihui 1:a607cd9655d7 18
yihui 1:a607cd9655d7 19 #include "nordic_global.h"
yihui 1:a607cd9655d7 20
yihui 1:a607cd9655d7 21 /** Swaps the upper byte with the lower byte in a 16 bit variable */
yihui 1:a607cd9655d7 22 //lint -emacro((572),SWAP) // Suppress warning 572 "Excessive shift value"
yihui 1:a607cd9655d7 23 #define SWAP(x) ((((x)&0xFF)<<8)|(((x)>>8)&0xFF))
yihui 1:a607cd9655d7 24
yihui 1:a607cd9655d7 25 /** The upper 8 bits of a 16 bit value */
yihui 1:a607cd9655d7 26 //lint -emacro(572,MSB) // Suppress warning 572 "Excessive shift value"
yihui 1:a607cd9655d7 27 #define MSB(a) (((a) & 0xFF00) >> 8)
yihui 1:a607cd9655d7 28 /** The lower 8 bits (of a 16 bit value) */
yihui 1:a607cd9655d7 29 #define LSB(a) ((a) & 0xFF)
yihui 1:a607cd9655d7 30
yihui 1:a607cd9655d7 31 /** Leaves the minimum of the two arguments */
yihui 1:a607cd9655d7 32 /*lint -emacro(506, MIN) */ /* Suppress "Constant value Boolean */
yihui 1:a607cd9655d7 33 #define MIN(a, b) ((a) < (b) ? (a) : (b))
yihui 1:a607cd9655d7 34 /** Leaves the maximum of the two arguments */
yihui 1:a607cd9655d7 35 /*lint -emacro(506, MAX) */ /* Suppress "Constant value Boolean */
yihui 1:a607cd9655d7 36 #define MAX(a, b) ((a) < (b) ? (b) : (a))
yihui 1:a607cd9655d7 37
yihui 1:a607cd9655d7 38 #define BIT_0 0x01 /**< The value of bit 0 */
yihui 1:a607cd9655d7 39 #define BIT_1 0x02 /**< The value of bit 1 */
yihui 1:a607cd9655d7 40 #define BIT_2 0x04 /**< The value of bit 2 */
yihui 1:a607cd9655d7 41 #define BIT_3 0x08 /**< The value of bit 3 */
yihui 1:a607cd9655d7 42 #define BIT_4 0x10 /**< The value of bit 4 */
yihui 1:a607cd9655d7 43 #define BIT_5 0x20 /**< The value of bit 5 */
yihui 1:a607cd9655d7 44 #define BIT_6 0x40 /**< The value of bit 6 */
yihui 1:a607cd9655d7 45 #define BIT_7 0x80 /**< The value of bit 7 */
yihui 1:a607cd9655d7 46 #define BIT_8 0x0100 /**< The value of bit 8 */
yihui 1:a607cd9655d7 47 #define BIT_9 0x0200 /**< The value of bit 9 */
yihui 1:a607cd9655d7 48 #define BIT_10 0x0400 /**< The value of bit 10 */
yihui 1:a607cd9655d7 49 #define BIT_11 0x0800 /**< The value of bit 11 */
yihui 1:a607cd9655d7 50 #define BIT_12 0x1000 /**< The value of bit 12 */
yihui 1:a607cd9655d7 51 #define BIT_13 0x2000 /**< The value of bit 13 */
yihui 1:a607cd9655d7 52 #define BIT_14 0x4000 /**< The value of bit 14 */
yihui 1:a607cd9655d7 53 #define BIT_15 0x8000 /**< The value of bit 15 */
yihui 1:a607cd9655d7 54 #define BIT_16 0x00010000 /**< The value of bit 16 */
yihui 1:a607cd9655d7 55 #define BIT_17 0x00020000 /**< The value of bit 17 */
yihui 1:a607cd9655d7 56 #define BIT_18 0x00040000 /**< The value of bit 18 */
yihui 1:a607cd9655d7 57 #define BIT_19 0x00080000 /**< The value of bit 19 */
yihui 1:a607cd9655d7 58 #define BIT_20 0x00100000 /**< The value of bit 20 */
yihui 1:a607cd9655d7 59 #define BIT_21 0x00200000 /**< The value of bit 21 */
yihui 1:a607cd9655d7 60 #define BIT_22 0x00400000 /**< The value of bit 22 */
yihui 1:a607cd9655d7 61 #define BIT_23 0x00800000 /**< The value of bit 23 */
yihui 1:a607cd9655d7 62 #define BIT_24 0x01000000 /**< The value of bit 24 */
yihui 1:a607cd9655d7 63 #define BIT_25 0x02000000 /**< The value of bit 25 */
yihui 1:a607cd9655d7 64 #define BIT_26 0x04000000 /**< The value of bit 26 */
yihui 1:a607cd9655d7 65 #define BIT_27 0x08000000 /**< The value of bit 27 */
yihui 1:a607cd9655d7 66 #define BIT_28 0x10000000 /**< The value of bit 28 */
yihui 1:a607cd9655d7 67 #define BIT_29 0x20000000 /**< The value of bit 29 */
yihui 1:a607cd9655d7 68 #define BIT_30 0x40000000 /**< The value of bit 30 */
yihui 1:a607cd9655d7 69 #define BIT_31 0x80000000 /**< The value of bit 31 */
yihui 1:a607cd9655d7 70
yihui 1:a607cd9655d7 71 #define UNUSED_VARIABLE(X) ((void)(X))
yihui 1:a607cd9655d7 72 #define UNUSED_PARAMETER(X) UNUSED_VARIABLE(X)
yihui 1:a607cd9655d7 73
yihui 1:a607cd9655d7 74 #endif // NORDIC_COMMON_H__