User Tools

Site Tools


s340:platformio_ide_integration_for_the_nrf52840_feather_express_with_s340

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
s340:platformio_ide_integration_for_the_nrf52840_feather_express_with_s340 [2020/03/29 22:26]
orrmany
s340:platformio_ide_integration_for_the_nrf52840_feather_express_with_s340 [2020/05/05 20:24] (current)
orrmany
Line 10: Line 10:
 It has a limited support for .ino files, as those have to be [[https://​docs.platformio.org/​en/​latest/​faq.html#​convert-arduino-file-to-c-manually|manually converted to normal C++ source files]] for full support. ​ It has a limited support for .ino files, as those have to be [[https://​docs.platformio.org/​en/​latest/​faq.html#​convert-arduino-file-to-c-manually|manually converted to normal C++ source files]] for full support. ​
  
-This document is about enabling embedded C/C++ development for ANT+ protocols within PlatformIO. It describes how to add S340 SD support within ​Platform Io to the Adafruit nRF52 Core for the Arduino nRF52840 Express Feather. +This document is about enabling embedded C/C++ development for ANT+ protocols within PlatformIO. It describes how to add S340 SD support within ​PlatformIO ​to the Adafruit nRF52 Core for the Arduino nRF52840 Express Feather.
-===== Credits ​ =====+
  
-This work is based on [[https://github.com/rtgree01|rtgree01]]'​s PlatformIO adaptation. See also the [[http://orrmany.hu/wiki/​doku.php?​id=arduino:​s340_softdevice_adafruit_nrf52840_feather_express#​credits|Credits]] section with the page [[arduino:​s340_softdevice_adafruit_nrf52840_feather_express|S340 SoftDevice & Adafruit nRF52840 Express Feather]]+//**For web-analytics purposes this page has been moved to my WordPress blog, read it there:https://blogarak.wordpress.com/2020/​03/​29/​platformio-ide-integration-for-the-nrf52840-feather-express-with-s340**//
  
- 
-===== Prerequisites ===== 
-  - Compile and build the modified bootloader as per [[arduino:​s340_softdevice_adafruit_nrf52840_feather_express|S340 SoftDevice & Adafruit nRF52840 Express Feather]] 
-  - Please read and understand [[s340:​arduino_ide_integration_for_the_nrf52840_feather_express_with_s340|Arduino IDE integration for the nRF52840 Feather Express with S340]] first. ​ 
- 
- 
-===== Adding S340 support to Plaform IO ===== 
-  - Download and install Platform IO IDE for VSCode as [[https://​platformio.org/​install/​ide?​install=vscode|per the instructions]]. ​ 
-    - Ensure that you can program your Feather with Platform IO by, say, compiling and loading the classic Blinky example into the Feather. {{ :​s340:​annotation_2020-03-29_201803.png?​direct&​300 |}}See https://​docs.platformio.org/​en/​latest/​boards/​nordicnrf52/​adafruit_feather_nrf52840.html for further details 
-  - After the first succesful compilation and upload, all the necessary packages has got installed. Go to the location of the "​framework package"​ (this corresponds to the concept of "​Core"​ in the Arduino IDE): 
-    * On Linux: ''​~/​.platformio/​packages/​framework-arduinoadafruitnrf52/''​ 
-    * On Windows: ''​%HOMEDIR%\.platformio\packages\framework-arduinoadafruitnrf52\''​ 
-  -So, go to ''​.../​.platformio/​packages/​framework-arduinoadafruitnrf52/​bootloader/​feather_nrf52840_express/''​. ​ Copy the bootloader .zip (''​0.3.0_s340_6.1.1.zip''​) and .hex (''​0.3.0_s340_6.1.1.hex''​) from the build directory of the freshly modified bootloader package here. 
-  - Go to ''​.../​.platformio/​packages/​framework-arduinoadafruitnrf52/''​. Modify ''​boards.txt''​ just like I did for the Arduino IDE. See sub-step "​1"​ within the section [[s340:​arduino_ide_integration_for_the_nrf52840_feather_express_with_s340#​third_major_stepadd_s340_to_the_bsp|Second major step: replace the bootloader with the modified bootloader]] at the Arduino IDE adaptation page.  
-  - Go to ''​.../​.platformio/​platforms/​nordicnrf52/​boards/''​. Copy ''​adafruit_feather_nrf52840.json''​ and name the copy as ''​adafruit_feather_nrf52840_s340.json''​. Change the following entries:<​code json> 
-    "​ldscript":​ "​nrf52840_s340_v6.ld",​ 
-    "​softdevice":​ { 
-          "​sd_flags":​ "​-DS340",​ 
-          "​sd_name":​ "​s340",​ 
-          "​sd_version":​ "​6.1.1",​ 
-          "​sd_fwid":​ "​0x00B9"​ 
-        }</​code>​ 
-  - Go to ''​.../​.platformio/​packages/​framework-arduinoadafruitnrf52/​cores/​nRF5/​linker''​. Copy/​duplicate the S140 linker script as nrf52840_s140_v6.ld. Modify the linker script memory settings just like I did for the Arduino IDE. See sub-step "​2"​ within the section [[s340:​arduino_ide_integration_for_the_nrf52840_feather_express_with_s340#​third_major_stepadd_s340_to_the_bsp|Second major step: replace the bootloader with the modified bootloader]] at the Arduino IDE adaptation page. 
-  -  Modify ''​.../​.platformio/​packages/​framework-arduinoadafruitnrf52/​platform.txt''​ file because the Adafruit bootloader is now 0.3.0:<​code bash> 
-    # Bootloader version 
-    # tools.bootburn.bootloader.file={runtime.platform.path}/​bootloader/​{build.variant}/​{build.variant}_bootloader-0.2.13_{build.sd_name}_{build.sd_version} 
-    tools.bootburn.bootloader.file={runtime.platform.path}/​bootloader/​{build.variant}/​{build.variant}_bootloader-0.3.0_{build.sd_name}_{build.sd_version} 
-</​code>​ 
- 
-Now you should be ready to rock. Restart PlatformIO IDE and select ''​Adafruit Bluefruit Feather nRF52840 Express w.ANT''​ as your board type :) 
s340/platformio_ide_integration_for_the_nrf52840_feather_express_with_s340.1585513611.txt.gz · Last modified: 2020/03/29 22:26 by orrmany