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
Next revision Both sides next revision
s340:platformio_ide_integration_for_the_nrf52840_feather_express_with_s340 [2020/03/29 20:43]
orrmany
s340:platformio_ide_integration_for_the_nrf52840_feather_express_with_s340 [2020/03/29 22:26]
orrmany
Line 25: Line 25:
     - 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     - 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):   - 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/​bootloader/​feather_nrf52840_express/''​ +    * On Linux: ''​~/​.platformio/​packages/​framework-arduinoadafruitnrf52/''​ 
-    * On Windows: ''​%HOMEDIR%\.platformio\packages\framework-arduinoadafruitnrf52\bootloader\feather_nrf52840_express''​ +    * On Windows: ''​%HOMEDIR%\.platformio\packages\framework-arduinoadafruitnrf52\''​ 
-  - 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.+  -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.   - 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.txt · Last modified: 2020/05/05 20:24 by orrmany