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

Modifying ble_app_uart from pca10028 to pca20006

I have customised the ble_app_uart example for my application and the modified code works with the DK board. When I wanted to deploy this to the beacon board (pca20006), I only changed BOARD_PCA100028 to BOARD_PCA20006 in Flash > Configure Flash Tools > Tab C\C++. And it worked immediately on the beacon.

I did not need change the device type to nRF51822_xxAA in tab Device. In fact, when I did, the libraries were marked red and the compiler threw lots of errors.

Why did that happen? I thought the beacon uses nRF51822.

Parents
  • Hi,

    Besides the lack of ANT support in nRF51822, the chips should have the same pin-out and HW architecture. It should be sufficient to change BOARD_PCA100028 to BOARD_PCA20006 as long as both your boards have the same amount of RAM and Flash available (see the IC revision overview in the compatibility matrix section at the infocenter).

    Changing the Device in Keil might reset the RAM and ROM settings, preventing you from flashing the application if a softdevice is present. It should however not cause any compile errors. Can you post the errors you are getting?

    Best regards,

    Jørgen

  • I see. I looked up nrf_drv_config.h when the device was nRF51422. It had #define GPIOTE_ENABLED 1 and #define UART0_ENABLED 1. When I switched the device type to nRF51822, it created a new copy of nrf_drv_config.h which had both GPIOTE and UART0 disabled.

    Then, when I looked up nrf_drv_config.h in Keil_v5\ARM\PACK\NordicSemiconductor\nRF_Drivers\3.1.0\config, I noticed they were both disabled too. I was using SDK 10 (I think).

    I may have enabled them when working with the DK board last year. So switching to a new device will fetch the original file which had them disabled?

Reply
  • I see. I looked up nrf_drv_config.h when the device was nRF51422. It had #define GPIOTE_ENABLED 1 and #define UART0_ENABLED 1. When I switched the device type to nRF51822, it created a new copy of nrf_drv_config.h which had both GPIOTE and UART0 disabled.

    Then, when I looked up nrf_drv_config.h in Keil_v5\ARM\PACK\NordicSemiconductor\nRF_Drivers\3.1.0\config, I noticed they were both disabled too. I was using SDK 10 (I think).

    I may have enabled them when working with the DK board last year. So switching to a new device will fetch the original file which had them disabled?

Children
No Data
Related