Nordic nrf51 sdk sources. Mirrored from https://github.com/ARMmbed/nrf51-sdk.

Dependents:   nRF51822 nRF51822

Committer:
vcoubard
Date:
Thu Apr 07 17:37:56 2016 +0100
Revision:
28:041dac1366b2
Parent:
27:0fe148f1bca3
Child:
32:6335323e4327
Synchronized with git rev 012b8118
Author: Liyou Zhou
Pull in files from sdk 10.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vcoubard 4:7019f1d6317d 1 # nrf51-sdk
vcoubard 28:041dac1366b2 2 Module to contain files provided by the nordic nRF51 SDK. The latest version of this module uses files from Nordic SDK 9.0.0. The files are extracted from [here](https://developer.nordicsemi.com/nRF51_SDK/nRF51_SDK_v9.x.x/nRF51_SDK_9.0.0_2e23562.zip).
vcoubard 4:7019f1d6317d 3
vcoubard 4:7019f1d6317d 4 ## Changes made to Nordic files
vcoubard 16:1bedf466155d 5 The files are kept the same as much as possible to the Nordic SDK. Modifications are made in order to integrate with mbed.
vcoubard 4:7019f1d6317d 6
vcoubard 4:7019f1d6317d 7 ## Porting new versions of Nordic SDK
vcoubard 8:6a9544c0fdc5 8 A list of files currently requierd by mbed is maintained in [script/required_files.txt](https://github.com/ARMmbed/nrf51-sdk/blob/master/script/required_files.txt). [A python script](https://github.com/ARMmbed/nrf51-sdk/blob/master/script/pick_nrf51_files.py) is written to help porting from nordic sdk releases. **required_files.txt** is parsed to find a list of filenames. The script searches for these filenames in the sdk folder, and copy then into the yotta module mirroring the folder structure in the sdk. **extraIncludes** is automatically added to module.json to allow direct inclusion of noridc headers with just the filename.
vcoubard 4:7019f1d6317d 9
vcoubard 4:7019f1d6317d 10 ### Script usage
vcoubard 4:7019f1d6317d 11 ```
vcoubard 17:03954fd2b563 12 python pick_nrf51_files.py [options] <full-noridc-sdk-path> <nrf51-sdk-yotta-module-path>
vcoubard 17:03954fd2b563 13 options: --purge : to delete all existing files and start again
vcoubard 17:03954fd2b563 14 --dry-run : to list the files to be copied but not actually copy them
vcoubard 4:7019f1d6317d 15 ```
vcoubard 4:7019f1d6317d 16
vcoubard 5:ce89fa3dfbaf 17 There are files in the sdk with the same filename but in different folder. This is dealt with by excluding certain directories. The excluded directories are listed in [pick_nrf51_files.py](https://github.com/ARMmbed/nrf51-sdk/blob/master/script/pick_nrf51_files.py).
vcoubard 5:ce89fa3dfbaf 18
vcoubard 5:ce89fa3dfbaf 19 After running the script, the changes in [the previous section](#changes-made-to-nordic-files) will have to be applied manually again.
vcoubard 5:ce89fa3dfbaf 20
vcoubard 5:ce89fa3dfbaf 21 Folder structure or even file name can change between releases of the nordic sdk, hence a degree of manual adjustment is needed when porting.
vcoubard 5:ce89fa3dfbaf 22
vcoubard 6:ac5a8f5c2d96 23 ## Using Noridc Headers
vcoubard 5:ce89fa3dfbaf 24 The nordic sdk is written in C and yotta modules support C++. If you are trying to include Nordic files in a cpp program, you need to use the `extern "C"` keyword around the includes.
vcoubard 5:ce89fa3dfbaf 25 ```c
vcoubard 5:ce89fa3dfbaf 26 extern "C" {
vcoubard 5:ce89fa3dfbaf 27 #include "softdevice_handler.h"
vcoubard 5:ce89fa3dfbaf 28 }
vcoubard 5:ce89fa3dfbaf 29 ```