Nordic nrf51 sdk sources. Mirrored from https://github.com/ARMmbed/nrf51-sdk.
Fork of nrf51-sdk by
README.md@16:1bedf466155d, 2016-04-07 (annotated)
- Committer:
- vcoubard
- Date:
- Thu Apr 07 17:37:32 2016 +0100
- Revision:
- 16:1bedf466155d
- Parent:
- 8:6a9544c0fdc5
- Child:
- 17:03954fd2b563
Synchronized with git rev 497a3252
Author: Liyou Zhou
Remove specifics about modifications to nordics files
from readme. The way to manage our changes to nordic
files need rethinking.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
vcoubard | 4:7019f1d6317d | 1 | # nrf51-sdk |
vcoubard | 7:758c0c27bc56 | 2 | Module to contain files provided by the nordic nRF51 SDK. The latest version of this module uses files from Nordic SDK 8.1.0. The files are extracted from [here] (https://developer.nordicsemi.com/nRF51_SDK/nRF51_SDK_v8.x.x/nRF51_SDK_8.1.0_b6ed55f.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 | 4:7019f1d6317d | 12 | python pick_nrf51_files.py <full-noridc-sdk-path> <nrf51-sdk-yotta-module-path> |
vcoubard | 4:7019f1d6317d | 13 | ``` |
vcoubard | 4:7019f1d6317d | 14 | |
vcoubard | 5:ce89fa3dfbaf | 15 | 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 | 16 | |
vcoubard | 5:ce89fa3dfbaf | 17 | 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 | 18 | |
vcoubard | 5:ce89fa3dfbaf | 19 | 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 | 20 | |
vcoubard | 6:ac5a8f5c2d96 | 21 | ## Using Noridc Headers |
vcoubard | 5:ce89fa3dfbaf | 22 | 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 | 23 | ```c |
vcoubard | 5:ce89fa3dfbaf | 24 | extern "C" { |
vcoubard | 5:ce89fa3dfbaf | 25 | #include "softdevice_handler.h" |
vcoubard | 5:ce89fa3dfbaf | 26 | } |
vcoubard | 5:ce89fa3dfbaf | 27 | ``` |