Hello all,
I am developing on the nRF52840, and I am using the PCA10056/nRF52840-DK to assist in my understanding of the uploading process.
Currently, I am trying to get a grasp on the idea of a Softdevice and the process to installing the Softdevice along with custom code onto my device. I am not well versed in the general procedure of loading programs onto the target device at such a low level (I'm used to Arduino and basic Makefile, so I don't have much experience at this level of complexity). My primary project uses a Makefile so I am trying to figure out how all of this works using the Make system shown in the SDK. I am currently looking at the V15.0 Nordic SDK file <SDK_ROOT>/examples/ble_peripheral/ble_app_blinky/pca10056/s140/armgcc/Makefile and in it there are two flash target commands, one called flash and the other flash_softdevice . Here is the section of the code:
# Flash the program flash: $(OUTPUT_DIRECTORY)/nrf52840_xxaa.hex @echo Flashing: $< nrfjprog -f nrf52 --program $< --sectorerase nrfjprog -f nrf52 --reset # Flash softdevice flash_softdevice: @echo Flashing: s140_nrf52_6.0.0_softdevice.hex nrfjprog -f nrf52 --program $(SDK_ROOT)/components/softdevice/s140/hex/s140_nrf52_6.0.0_softdevice.hex --sectorerase nrfjprog -f nrf52 --reset
- For the development kit, how would I go about actually uploading the code properly? I know (or at least think I know) that the Softdevice is the Nordic BLE stack so it needs to be uploaded, but then there is the actual example program which needs to be uploaded, and these are two separate targets. What would be the proper way to upload the example program and the Softdevice to the development kit using the given tools?
- I want to integrate the Softdevice and my custom project together and upload both of them to my device so I can utilize the BLE functionality. How do I go about using the Make system to upload both the Softdevice and the custom project? Do I combine them into one .bin or .hex file somehow, or do I upload them separately?
- The nrfjprog program appears to only work with the built-in JLink on the Development Kit which our custom board does not have. Currently, we use the BOSSAC (Basic Open Source Sam-ba Application Command-Line) to upload the .bin to the nRF52840, so would I be able to use that program to upload the binaries, or would I need to use a different uploading procedure based on question 1?
I am fairly new to all of this lower level building and uploading, and I am doing the best I can to learn all of this. So any and all information related to this kind of stuff would be extremely appreciated!
Thanks!