Patched version of nrf51822 FOTA compatible driver, with GPTIO disabled, as it clashed with the mbed definitions...
Fork of nRF51822 by
Revision 164:8bb2633e7976, committed 2015-05-13
- Comitter:
- rgrover1
- Date:
- Wed May 13 08:49:34 2015 +0100
- Parent:
- 163:65f11741e3d4
- Child:
- 165:67fcad70785a
- Commit message:
- Synchronized with git rev 4fb156a6
Author: Rohit Grover
Release 0.3.4
=============
Enhancements
~~~~~~~~~~~~
* Upgrade to Nordic's S130 softdevice (production version). This is a
merge between the previous S110 and S120 softdevices. It brings in
features from BLE4.1.
Bugfixes
~~~~~~~~
none.
Changed in this revision
--- a/nordic-sdk/components/softdevice/s130/include/nrf_mbr.h Wed May 13 08:49:34 2015 +0100 +++ b/nordic-sdk/components/softdevice/s130/include/nrf_mbr.h Wed May 13 08:49:34 2015 +0100 @@ -1,26 +1,26 @@ -/* +/* * Copyright (c) Nordic Semiconductor ASA * All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. - * + * * 2. Redistributions in binary form must reproduce the above copyright notice, this * list of conditions and the following disclaimer in the documentation and/or * other materials provided with the distribution. - * + * * 3. Neither the name of Nordic Semiconductor ASA nor the names of other * contributors to this software may be used to endorse or promote products * derived from this software without specific prior written permission. - * + * * 4. This software must only be used in a processor manufactured by Nordic * Semiconductor ASA, or in a processor manufactured by a third party that * is used in combination with a processor manufactured by Nordic Semiconductor. - * - * + * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE @@ -31,14 +31,14 @@ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * + * */ /** @defgroup nrf_mbr_api Master Boot Record API @{ - + @brief APIs for updating SoftDevice and BootLoader - + */ /* Header guard */ @@ -53,7 +53,7 @@ * @{ */ /**@brief MBR SVC Base number. */ -#define MBR_SVC_BASE 0x18 +#define MBR_SVC_BASE (0x18) /**@brief Page size in words. */ #define PAGE_SIZE_IN_WORDS 256 @@ -71,7 +71,7 @@ /**@brief Possible values for ::sd_mbr_command_t.command */ enum NRF_MBR_COMMANDS { - SD_MBR_COMMAND_COPY_BL, /**< Copy a new a new BootLoader. @see sd_mbr_command_copy_bl_t */ + SD_MBR_COMMAND_COPY_BL, /**< Copy a new BootLoader. @see sd_mbr_command_copy_bl_t */ SD_MBR_COMMAND_COPY_SD, /**< Copy a new SoftDevice. @see ::sd_mbr_command_copy_sd_t*/ SD_MBR_COMMAND_INIT_SD, /**< Init forwarding interrupts to SD, and run reset function in SD*/ SD_MBR_COMMAND_COMPARE, /**< This command works like memcmp. @see ::sd_mbr_command_compare_t*/ @@ -84,12 +84,12 @@ * @{ */ /**@brief This command copies part of a new SoftDevice - * The destination area is erased before copying. + * The destination area is erased before copying. * If dst is in the middle of a flash page, that whole flash page will be erased. * If (dst+len) is in the middle of a flash page, that whole flash page will be erased. - * + * * The user of this function is responsible for setting the PROTENSET registers. - * + * * @retval ::NRF_SUCCESS indicates that the contents of the memory blocks where copied correctly. * @retval ::NRF_ERROR_INTERNAL indicates that the contents of the memory blocks where not verified correctly after copying. */ @@ -97,8 +97,8 @@ { uint32_t *src; /**< Pointer to the source of data to be copied.*/ uint32_t *dst; /**< Pointer to the destination where the content is to be copied.*/ - uint32_t len; /**< Number of 32 bit words to copy. Must be a multiple of 256 words.*/ -}sd_mbr_command_copy_sd_t; + uint32_t len; /**< Number of 32 bit words to copy. Must be a multiple of @ref PAGE_SIZE_IN_WORDS words.*/ +} sd_mbr_command_copy_sd_t; /**@brief This command works like memcmp, but takes the length in words. @@ -111,7 +111,7 @@ uint32_t *ptr1; /**< Pointer to block of memory. */ uint32_t *ptr2; /**< Pointer to block of memory. */ uint32_t len; /**< Number of 32 bit words to compare.*/ -}sd_mbr_command_compare_t; +} sd_mbr_command_compare_t; /**@brief This command copies a new BootLoader. @@ -121,45 +121,45 @@ * If (destination+bl_len) is in the middle of a flash page, that whole flash page will be erased. * * This function will use PROTENSET to protect the flash that is not intended to be written. - * + * * On Success, this function will not return. It will start the new BootLoader from reset-vector as normal. * - * @retval ::NRF_ERROR_INVALID_STATE indicates that something was wrong. * @retval ::NRF_ERROR_INTERNAL indicates an internal error that should not happen. * @retval ::NRF_ERROR_FORBIDDEN if NRF_UICR->BOOTADDR is not set. - * @retval ::NRF_ERROR_INVALID_LENGTH is invalid. + * @retval ::NRF_ERROR_INVALID_LENGTH if parameters attempts to read or write outside flash area. */ typedef struct { uint32_t *bl_src; /**< Pointer to the source of the Bootloader to be be copied.*/ uint32_t bl_len; /**< Number of 32 bit words to copy for BootLoader. */ -}sd_mbr_command_copy_bl_t; +} sd_mbr_command_copy_bl_t; /**@brief Sets the base address of the interrupt vector table for interrupts forwarded from the MBR - * + * * Once this function has been called, this address is where the MBR will start to forward interrupts to after a reset. * - * To restore default forwarding thiss function should be called with @param address set to 0. - * The MBR will then start forwarding to interrupts to the adress in NFR_UICR->BOOTADDR or to the SoftDevice if the BOOTADDR is not set. + * To restore default forwarding this function should be called with @param address set to 0. + * The MBR will then start forwarding to interrupts to the address in NFR_UICR->BOOTADDR or to the SoftDevice if the BOOTADDR is not set. * - * @retval ::NRF_SUCCESS + * @retval ::NRF_ERROR_INTERNAL indicates an internal error that should not happen. + * @retval ::NRF_ERROR_INVALID_ADDR if parameter address is outside of the flash size. */ typedef struct -{ +{ uint32_t address; /**< The base address of the interrupt vector table for forwarded interrupts.*/ -}sd_mbr_command_vector_table_base_set_t; +} sd_mbr_command_vector_table_base_set_t; typedef struct { uint32_t command; /**< type of command to be issued see @ref NRF_MBR_COMMANDS. */ - union + union { - sd_mbr_command_copy_sd_t copy_sd; /**< Parameters for copy.*/ - sd_mbr_command_copy_bl_t copy_bl; /**< Parameters for copy SoftDevice and BootLoader.*/ + sd_mbr_command_copy_sd_t copy_sd; /**< Parameters for copy SoftDevice.*/ + sd_mbr_command_copy_bl_t copy_bl; /**< Parameters for copy BootLoader.*/ sd_mbr_command_compare_t compare; /**< Parameters for verify.*/ sd_mbr_command_vector_table_base_set_t base_set; /**< Parameters for vector table base set.*/ } params; -}sd_mbr_command_t; +} sd_mbr_command_t; /** @} */
--- a/nordic-sdk/components/softdevice/s130/include/nrf_svc.h Wed May 13 08:49:34 2015 +0100 +++ b/nordic-sdk/components/softdevice/s130/include/nrf_svc.h Wed May 13 08:49:34 2015 +0100 @@ -56,7 +56,7 @@ "bx r14" : : "I" ((uint32_t)number) : "r0" \ ); \ } \ - _Pragma("GCC diagnostic pop") \ + _Pragma("GCC diagnostic pop") #elif defined (__ICCARM__) #define PRAGMA(x) _Pragma(#x) #define SVCALL(number, return_type, signature) \