This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

hrs malfunction when switch to sdk9.0

I modified the nRF51 SDK_v5.1.0.36092\Nordic\nrf51822\Board\pca10001\s110\ble_app_hrs proj and downloaded to my self-made pcb,and it worked well. Then I want to update to sdk 9.0 ,since I want new DFU. I modified \nRF51_SDK_9.0.0_2e23562\examples\ble_peripheral\ble_app_hrs\pca10028 proj. , pca 10028 was changed to pca10001,51422 changed to 51822, and other neccessary modifications made. Now I get a problem, the advertising led is toggling normally, but I just cannot find the ble device on the phone!! The mem map is the following: IROM1 0x18000 0x28000 IRAM1:0x20002000 0x2000 I believe the sd in 51822 chip is working,but I donnot know what's wrong. Any help? Thanks in advance.

  • What chip revision you have onboard?

  • I am not sure what you mean to say, in nrfgo studio, I see: nrf51822 QFAAC0(0X001d) Is that what u want?

  • On the phone, use nRF Connect, if you aren't already.

    Make sure you use compatible softdevice compatible with SDK 9 applications, i.e. S110 8.0.0, or S130 1.0.0, see the nRF51 compatibility matrix.

    What if you debug through it [1] [2], do you see any errors returned in the main function?

    See the correct RAM and ROM settings in any of the SDK 9 example projects for the seftdevice that you are using. IROM1 0x18000 0x28000, IRAM1:0x20002000 0x2000 looks like correct for S110 8.0.0 softdevice and nRF51 QFAA IC. Anyway, nRF51822 QFAAC0 is revision 1. You should replace that with nRF51822 revision 3.

  • thanks.I tried what u said,i got no err loop. I compared the code between the two projs. The ble bond manage files show a lot of diferrences. In sdk 5.0, it is called ble_bondmngr.c, while in sdk 9, it is called device_manager_peripheral.c. Is there something I have to do to make it adapt to 51822? I tried to clear bond info in sdk 5 hrs proj, and I can connect 51822 normally, but in sdk 9, if I tried device_manager_init(true), the code will halt at some place, with no advertising led toggling. What can I get from the my try?

  • I repeat my problem as the following: It's a custom board, with sdk 5.0, I modified SDK_v5.1.0.36092\Nordic\nrf51822\Board\pca10001\s110\ble_app_hrs , modifications include: ble_stack_init->SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_RC_250_PPM_4000MS_CALIBRATION, false); and IO pins are reconfigured. The projet's hex runs well in my board, I can connect and receive data with NRF TOOLBOX. Then I changed to sdk 9,\nRF51_SDK_9.0.0_2e23562\examples\ble_peripheral\ble_app_hrs\pca10028 , the same change was made and memory map was modified accordingly. I have no button on the board.I just see advertising led toggling rightly, but no device could be found on the phone.I donnot know how to get the bug. It has been two weeks, and I am really upset now. Pls give me just some advice, thanks!!

1 2