Hi Nordic,
I have got an nRF52833 DK PCA10100. In SDK17.1.0, there are few examples about nRF52833, for example, what should I do if I want to use examples\ble_central\ble_app_multilink_central? Based on PCA10040 or PCA10056?
Hi Nordic,
I have got an nRF52833 DK PCA10100. In SDK17.1.0, there are few examples about nRF52833, for example, what should I do if I want to use examples\ble_central\ble_app_multilink_central? Based on PCA10040 or PCA10056?
Hello,
Sorry for the late reply.
Unfortunately, not all examples have all the board variants set up by default.
What I usually do if I need to port an example from one nRF chip to another, I take the one that is "closest", and then I change the settings for the project, so that it is targeting the correct chip.
I don't know exactly what you intend to do with the ble_app_multilink_central example, but if you do not intend to use any features that is not present on the nRF52832, then you can start with either one. Either the pca10040 or the pca10056. It doesn't really matter. I will use pca10056 as an example for the rest of this answer.
Before you do anything, copy the pca10056 folder and call the copy pca10100, so that you still have the pca10056 folder in case you need to start over, or look at what things looked like before you changed anything.
Now, depending on what IDE you intend to use (Segger Embedded Studio, Keil, IAR or gcc), the way to configure it varies a bit. But what you need to do is to make sure that you have the correct flash and RAM sizes. This is usually set in your project settings somewhere. Then you want to find your preprocessor definitions, and replace everything that says PCA10056 with PCA10100. Then find all references to NRF52840 and replace it with NRF52833.
Note that flash and RAM sizes are ofen given in hexadecimal values. The flash of the nRF52840 is 1MB, and the RAM is 256kB. On the nRF52833 it is 512kB Flash and 128kB RAM. You can find all these numbers here:
https://infocenter.nordicsemi.com/topic/struct_nrf52/struct/nrf52.html?cp=4
Hexadecimal values:
1MB = 0x100000
512kB = 0x80000
256kB = 0x40000
128kB = 0x20000
Then you probably need to find and replace the system_nrf52840.c with system_nrf52833.c (found in SDK\modules\nrfx\mdk)
Then depending on what IDE you are using, you probably have some startup files that you want to replace as well. In Segger Embedded Studio, those are called ses_startup_nrf_common.s (you can keep that one), and ses_startup_nrf52840.s.
Finally, there is probably a target settings somewhere in your project settings. In ses it is found in: Debug->Debugger->Target Device.
If you started with a project for pca10056, using the S140 softdevice, you can keep using that on the nRF52833 as well, so no need to change anything there.
Let me know what IDE you are using if you are stuck somewhere.
Best regards,
Edvin
Thanks for your reply.
I'll try this way in example ble_central_and_peripheral\experimental\ble_app_hrs_rscs_relay\pca10056.
Thanks for your reply.
I'll try this way in example ble_central_and_peripheral\experimental\ble_app_hrs_rscs_relay\pca10056.