This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
s340_softdevice_adafruit_nrf52840_feather_express [2020/02/07 23:17] orrmany [C. Modify the Adafruit bootloader] |
s340_softdevice_adafruit_nrf52840_feather_express [2020/03/04 12:12] orrmany [C. Modify the Adafruit bootloader] |
||
---|---|---|---|
Line 22: | Line 22: | ||
**BEWARE**: trying to install the CircuitPython UF2 package to a S340-adapted Feather will brick your Feather and you will need to use a SWD programmer device to make your Feather usable again! | **BEWARE**: trying to install the CircuitPython UF2 package to a S340-adapted Feather will brick your Feather and you will need to use a SWD programmer device to make your Feather usable again! | ||
==== Credits ==== | ==== Credits ==== | ||
- | A number of internet resources helped me. The biggest help came as form of a personal mail from "Ryan", whom I got acquainted with by [[https://www.arduinolibraries.info/authors/cujomalainey|Curtis Malainey]]. It was "Ryan", who first managed the S340 SoftDevice to work with his Feather and he kindly shared his steps with me. This guide is based primarily on his work. | + | A number of internet resources helped me. The biggest help came as form of a personal mail from [[https://github.com/rtgree01|rtgree01]], whom I got acquainted with by [[https://www.arduinolibraries.info/authors/cujomalainey|Curtis Malainey]]. It was him, who first managed the S340 SoftDevice to work with his Feather and he kindly shared his steps with me. This guide is based primarily on his work. |
* [[https://github.com/charlesportwoodii/Adafruit_nRF52_Bootloader]] -- some interesting learnings about the bootloader | * [[https://github.com/charlesportwoodii/Adafruit_nRF52_Bootloader]] -- some interesting learnings about the bootloader | ||
* [[https://learn.sparkfun.com/tutorials/nrf52840-advanced-development-with-the-nrf5-sdk]] -- I learnt a lot about using the nRF5 SDK and the ARM-GCC workflow | * [[https://learn.sparkfun.com/tutorials/nrf52840-advanced-development-with-the-nrf5-sdk]] -- I learnt a lot about using the nRF5 SDK and the ARM-GCC workflow | ||
- | * [[https://learn.sparkfun.com/tutorials/nrf52840-development-with-arduino-and-circuitpython]] tons of info about what does it take to add a new board-type to the Arduino IDE. This also helped a lot in understanding Ryan's comments about his PlatformIO adaptation. | + | * [[https://learn.sparkfun.com/tutorials/nrf52840-development-with-arduino-and-circuitpython]] tons of info about what does it take to add a new board-type to the Arduino IDE. This also helped a lot in understanding rtgree01's comments about his PlatformIO adaptation. |
* The Adafruit nrf52 bootloader: [[https://github.com/adafruit/Adafruit_nRF52_Bootloader]] | * The Adafruit nrf52 bootloader: [[https://github.com/adafruit/Adafruit_nRF52_Bootloader]] | ||
* A blog entry of a similar bootloader hack success. but with the SparkFun PRo Mini board: . https://judepereira.com/blog/nrf52840-flash-s340/ | * A blog entry of a similar bootloader hack success. but with the SparkFun PRo Mini board: . https://judepereira.com/blog/nrf52840-flash-s340/ | ||
- | ===== Prequisites ===== | + | ===== Prerequisites ===== |
==== Must to have ==== | ==== Must to have ==== | ||
* You will need, obviously, an [[https://www.adafruit.com/product/4062|Adafruit Feather nRF52840 Express]] | * You will need, obviously, an [[https://www.adafruit.com/product/4062|Adafruit Feather nRF52840 Express]] | ||
Line 160: | Line 160: | ||
#ifdef S340 | #ifdef S340 | ||
#define USER_FLASH_START 0x31000 | #define USER_FLASH_START 0x31000 | ||
- | #elif // #ifdef S340 | + | #else // #ifdef S340 |
#define USER_FLASH_START 0x26000 | #define USER_FLASH_START 0x26000 | ||
#endif // #ifdef S340 | #endif // #ifdef S340 | ||
Line 186: | Line 186: | ||
{{ ::mainc-diff.png?direct |}} | {{ ::mainc-diff.png?direct |}} | ||
==== D. Build and flash the modified Adafruit bootloader ==== | ==== D. Build and flash the modified Adafruit bootloader ==== | ||
- | Go to the root of the bootloader directory tree. Build and flash as follows. **NOTE**: adapt the GNU_INSTALL_ROOT and SERIAL definitions according to your local setup! | + | Go to the root of the bootloader directory tree. Build and flash as follows. |
+ | |||
+ | **NOTE**: adapt the GNU_INSTALL_ROOT and SERIAL definitions according to your local setup! | ||
<code bash> | <code bash> | ||
make GNU_INSTALL_ROOT="C:/Program Files (x86)/GNU Tools Arm Embedded/9 2019-q4-major/bin/" BOARD=feather_nrf52840_express_s340 all combinehex | make GNU_INSTALL_ROOT="C:/Program Files (x86)/GNU Tools Arm Embedded/9 2019-q4-major/bin/" BOARD=feather_nrf52840_express_s340 all combinehex |