Skip to content

Commit 710954f

Browse files
author
Jim Lindblom
committed
Initial commit of nRF5 board support.
1 parent 694a886 commit 710954f

File tree

210 files changed

+80904
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

210 files changed

+80904
-0
lines changed

IDE_Board_Manager/package_sparkfun_index.json

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,161 @@
434434
],
435435
"email": "[email protected]",
436436
"name": "esp8266"
437+
},
438+
{
439+
"name": "SparkFun",
440+
"maintainer": "SparkFun Electronics",
441+
"websiteURL": "https://github.com/sparkfun/Arduino_Boards",
442+
"email": "[email protected]",
443+
"help": {
444+
"online": "http://SparkFun.com"
445+
},
446+
"platforms": [
447+
{
448+
"name": "SparkFun nRF52 Boards",
449+
"architecture": "nRF5",
450+
"version": "0.2.3",
451+
"category": "Contributed",
452+
"help":{
453+
"online":"http://sfe.io/t549"
454+
},
455+
"url":"https://cdn.sparkfun.com/assets/learn_tutorials/5/4/9/sparkfun-nrf5-hardware-0.2.3.tar.bz2",
456+
"archiveFileName":"sparkfun-nrf5-hardware-0.2.3.tar.bz2",
457+
"checksum":"SHA-256:c053c99ab4cae9aea00ccd3c323cb83867b379c87098b52874912223a24a891c",
458+
"size": "341212",
459+
"boards":[
460+
{"name": "nRF52 DK"},
461+
{"name": "Bluz DK"},
462+
{"name": "RedBearLab BLE Nano"},
463+
{"name": "RedBearLab nRF51822"},
464+
{"name": "BBC micro:bit"},
465+
{"name": "OSHChip"},
466+
{"name": "Generic nRF51822"},
467+
{"name": "SparkFun nRF52832 Breakout Board" }
468+
],
469+
"toolsDependencies": [
470+
{
471+
"packager": "SparkFun",
472+
"name": "gcc-arm-none-eabi",
473+
"version": "5_2-2015q4"
474+
},
475+
{
476+
"packager": "SparkFun",
477+
"name": "openocd",
478+
"version": "0.10.0-dev.nrf5"
479+
},
480+
{
481+
"packager": "SparkFun",
482+
"name": "nrfutil",
483+
"version": "0.5.2-SFE"
484+
}
485+
]
486+
}
487+
],
488+
"tools": [
489+
{
490+
"name": "gcc-arm-none-eabi",
491+
"version": "5_2-2015q4",
492+
"systems": [
493+
{
494+
"host": "i386-apple-darwin11",
495+
"url": "https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/gcc-arm-none-eabi-5_2-2015q4-20151219-mac.tar.bz2",
496+
"archiveFileName": "gcc-arm-none-eabi-5_2-2015q4-20151219-mac.tar.bz2",
497+
"size": "96372129",
498+
"checksum": "MD5:603bcce8e59683ac27054b3197a53254"
499+
},
500+
{
501+
"host": "i686-linux-gnu",
502+
"url": "https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/gcc-arm-none-eabi-5_2-2015q4-20151219-linux.tar.bz2",
503+
"archiveFileName": "gcc-arm-none-eabi-5_2-2015q4-20151219-linux.tar.bz2",
504+
"size": "92811866",
505+
"checksum": "MD5:f88caac80b4444a17344f57ccb760b90"
506+
},
507+
{
508+
"host": "x86_64-pc-linux-gnu",
509+
"url": "https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/gcc-arm-none-eabi-5_2-2015q4-20151219-linux.tar.bz2",
510+
"archiveFileName": "gcc-arm-none-eabi-5_2-2015q4-20151219-linux.tar.bz2",
511+
"size": "92811866",
512+
"checksum": "MD5:f88caac80b4444a17344f57ccb760b90"
513+
},
514+
{
515+
"host": "i686-mingw32",
516+
"url": "https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/gcc-arm-none-eabi-5_2-2015q4-20151219-win32.tar.bz2",
517+
"archiveFileName": "gcc-arm-none-eabi-5_2-2015q4-20151219-win32.tar.bz2",
518+
"size": "102981732",
519+
"checksum": "MD5:32d950225b6c7c886f6225c1fc578934"
520+
}
521+
]
522+
},
523+
{
524+
"name": "openocd",
525+
"version": "0.10.0-dev.nrf5",
526+
"systems": [
527+
{
528+
"host": "i386-apple-darwin11",
529+
"url": "https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/openocd-osx-0.10.0-dev-nrf5.tar.gz",
530+
"archiveFileName": "openocd-osx-0.10.0-dev-nrf5.tar.gz",
531+
"size": "1345243",
532+
"checksum": "MD5:3ffaa4e7cd4b96770eec65002c5959e3"
533+
},
534+
{
535+
"host": "i686-linux-gnu",
536+
"url": "https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/openocd-linux32-0.10.0-dev-nrf5.tar.gz",
537+
"archiveFileName": "openocd-linux32-0.10.0-dev-nrf5.tar.gz",
538+
"size": "3585042",
539+
"checksum": "MD5:02b3f4a3004cae86631bf13837c84504"
540+
},
541+
{
542+
"host": "x86_64-pc-linux-gnu",
543+
"url": "https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/openocd-linux32-0.10.0-dev-nrf5.tar.gz",
544+
"archiveFileName": "openocd-linux32-0.10.0-dev-nrf5.tar.gz",
545+
"size": "3585042",
546+
"checksum": "MD5:02b3f4a3004cae86631bf13837c84504"
547+
},
548+
{
549+
"host": "i686-mingw32",
550+
"url": "https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/openocd-win32-0.10.0-dev-nrf5.tar.gz",
551+
"archiveFileName": "openocd-win32-0.10.0-dev-nrf5.tar.gz",
552+
"size": "5498373",
553+
"checksum": "MD5:3acd3b08afda2bb09e75a0de5ac7c3cd"
554+
}
555+
]
556+
},
557+
{
558+
"name": "nrfutil",
559+
"version": "0.5.2-SFE",
560+
"systems": [
561+
{
562+
"host": "i386-apple-darwin11",
563+
"url": "https://cdn.sparkfun.com/assets/learn_tutorials/5/4/9/nrfutil-src-0.5.2-SFE-mac.tar.bz2",
564+
"archiveFileName": "nrfutil-src-0.5.2-SFE-mac.tar.bz2",
565+
"size": "11327272",
566+
"checksum": "SHA-256:4c695c1acc82f1b1adedc1de05d09694c576ad3dba7da713b848cd1c93426773"
567+
},
568+
{
569+
"host": "i686-linux-gnu",
570+
"url": "https://cdn.sparkfun.com/assets/learn_tutorials/5/4/9/nrfutil-src-0.5.2-SFE-linux.tar.bz2",
571+
"archiveFileName": "nrfutil-src-0.5.2-SFE-linux.tar.bz2",
572+
"size": "13481914",
573+
"checksum": "SHA-256:3b137e477e263b294350480ba566251e07a79b26f4536f1f6ebf136667868888"
574+
},
575+
{
576+
"host": "x86_64-pc-linux-gnu",
577+
"url": "https://cdn.sparkfun.com/assets/learn_tutorials/5/4/9/nrfutil-src-0.5.2-SFE-linux.tar.bz2",
578+
"archiveFileName": "nrfutil-src-0.5.2-SFE-linux.tar.bz2",
579+
"size": "13481914",
580+
"checksum": "SHA-256:3b137e477e263b294350480ba566251e07a79b26f4536f1f6ebf136667868888"
581+
},
582+
{
583+
"host": "i686-mingw32",
584+
"url": "https://cdn.sparkfun.com/assets/learn_tutorials/5/4/9/nrfutil-src-0.5.2-SFE-windows.tar.bz2",
585+
"archiveFileName": "nrfutil-src-0.5.2-SFE-windows.tar.bz2",
586+
"size": "11746447",
587+
"checksum": "SHA-256:84d78202970a33e40711bf40a97fcfee02bc7462419d6c9026529afd0c9b2f4a"
588+
}
589+
]
590+
}
591+
]
437592
}
438593
]
439594
}
Binary file not shown.

sparkfun/nrf5/.gitignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
.DS_Store
2+
3+
# softdevice files
4+
cores/nRF5/SDK/components/softdevice/*/hex/*.hex
5+
cores/nRF5/SDK/components/softdevice/*/hex/*.txt
6+
7+
# IDE tools
8+
extras/ide-tools/bin
9+
extras/ide-tools/nRF5FlashSoftDevice.jar

sparkfun/nrf5/LICENSE

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
Copyright (c) 2015 Arduino LLC. All right reserved.
2+
Copyright (c) 2016 Sandeep Mistry All right reserved.
3+
4+
This library is free software; you can redistribute it and/or
5+
modify it under the terms of the GNU Lesser General Public
6+
License as published by the Free Software Foundation; either
7+
version 2.1 of the License, or (at your option) any later version.
8+
9+
This library is distributed in the hope that it will be useful,
10+
but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12+
See the GNU Lesser General Public License for more details.
13+
14+
You should have received a copy of the GNU Lesser General Public
15+
License along with this library; if not, write to the Free Software
16+
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

sparkfun/nrf5/README.md

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# Arduino Core for Nordic Semiconductor nRF5 based boards
2+
3+
Program [Nordic Semiconductor](https://www.nordicsemi.com) nR5 based boards with the [Arduino](https://www.arduino.cc) IDE.
4+
5+
## Supported boards
6+
7+
* [nRF52 DK](https://www.nordicsemi.com/eng/Products/Bluetooth-Smart-Bluetooth-low-energy/nRF52-DK)
8+
* For boards prior to ```2016.9``` (see sticker), the lastest JLink bootloader is required to upload sketches. To upgrade, press the boot/reset button while powering on the board and copy over the latest [bootloader](https://www.nordicsemi.com/eng/nordic/Products/nRF52-DK/nRF5x-OB-JLink-IF/52275).
9+
* [Bluz DK](http://bluz.io)
10+
* [RedBearLab BLE Nano](http://redbearlab.com/blenano/)
11+
* [RedBearLab nRF51822](http://redbearlab.com/redbearlab-nrf51822/)
12+
* [BBC micro:bit](https://www.microbit.co.uk/)
13+
* [OSHChip](http://www.oshchip.org/)
14+
15+
## Installing
16+
17+
### Board Manager
18+
19+
1. [Download and install the Arduino IDE](https://www.arduino.cc/en/Main/Software)
20+
2. Start the Arduino IDE
21+
3. Go into Preferences
22+
4. Add ```https://sandeepmistry.github.io/arduino-nRF5/package_nRF5_boards_index.json``` as an "Additional Board Manager URL"
23+
5. Open the Boards Manager from the Tools -> Board menu and install "Nordic Semiconductor nRF5 Boards"
24+
6. Select your nRF5 board from the Tools -> Board menu
25+
26+
#### OS Specific Setup
27+
28+
##### OS X
29+
30+
No additional setup required.
31+
32+
##### Linux
33+
34+
No additional setup required.
35+
36+
##### Windows
37+
38+
###### Driver Setup for Segger J-Link
39+
40+
1. Download [Zadig](http://zadig.akeo.ie)
41+
2. Plugin Segger J-Link or DK board
42+
3. Start ```Zadig```
43+
4. Select ```Options -> List All Devices```
44+
5. Select ```J-Link (Interface 2)``` from the device dropdown
45+
6. Click ```Replace Driver```
46+
47+
### Flashing a SoftDevice
48+
49+
1. ```cd <SKETCHBOOK>```, where ```<SKETCHBOOK>``` is your Arduino Sketch folder:
50+
* OS X: ```~/Documents/Arduino```
51+
* Linux: ```~/Arduino```
52+
* Windows: ```~/Documents/Arduino```
53+
2. Create the following directories: ```tools/nRF5FlashSoftDevice/tool/```
54+
3. Download [nRF5FlashSoftDevice.jar](https://github.com/sandeepmistry/arduino-nRF5/releases/download/tools/nRF5FlashSoftDevice.jar) to ```<SKETCHBOOK>/tools/nRF5FlashSoftDevice/tool/```
55+
4. Restart the Arduino IDE
56+
5. Select your nRF board from the Tools -> Board menu
57+
6. Select a SoftDevice from the Tools -> "SoftDevice: " menu
58+
7. Select a Programmer (J-Link, ST-Link V2, or CMSIS-DAP) from the Tools -> "Programmer: " menu
59+
8. Select Tools -> nRF5 Flash SoftDevice
60+
9. Read license agreement
61+
10. Click "Accept" to accept license and continue, or "Decline" to decline and abort
62+
11. If accepted, SoftDevice binary will be flashed to the board
63+
64+
### From git (for core development)
65+
66+
1. Follow steps from Board Manager section above
67+
2. ```cd <SKETCHBOOK>```, where ```<SKETCHBOOK>``` is your Arduino Sketch folder:
68+
* OS X: ```~/Documents/Arduino```
69+
* Linux: ```~/Arduino```
70+
* Windows: ```~/Documents/Arduino```
71+
3. Create a folder named ```hardware```, if it does not exist, and change directories to it
72+
4. Clone this repo: ```git clone https://github.com/sandeepmistry/arduino-nRF5.git sandeepmistry/nRF5```
73+
5. Restart the Arduino IDE
74+
75+
## Credits
76+
77+
This core is based on the [Arduino SAMD Core](https://github.com/arduino/ArduinoCore-samd) and licensed under the same [GPL License](LICENSE)
78+
79+
The following tools are used:
80+
81+
* [GCC ARM Embedded](https://launchpad.net/gcc-arm-embedded) as the compiler
82+
* A [forked](https://github.com/sandeepmistry/openocd-code-nrf5) version of [OpenOCD](http://openocd.org) to flash sketches

0 commit comments

Comments
 (0)