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

NFC can't start up with SoftDevice S140 using SDK 15.3

Hi All,

I have a problem when enabling the NFC tag t2t with the soft device S140 with 52840.

I can run the NFC example project 'nRF5_SDK_15.3.0_59ac345\examples\nfc\record_urlrecord_url' correctly on my hardware, but when porting the demo code to my project, the NFC tag cannot be start up. By reviewing the posts on the forum, I guess it should be the problem of the soft device.

I have read the post here:

https://devzone.nordicsemi.com/f/nordic-q-a/42141/nrf52832---nfc-stops-working-when-softdevice-is-enabled/164732#164732

I had followed the instruction to patch the file "flash_placement.xml", but it not work, perhaps it might be workable only for SDK14.0 ?

My environment is:

NRF52840

SoftDevice 6.1.1,  S140

nRF5_SDK_15.3.0_59ac345

Keil ARM 5.21

The projects codes has BLE/GPIO/SPI/TWI running smoothly. But when testing the record_url example codes, I disable them all.

Is there anything I missed ? Any help would be appreciated.

Best Regards,

Andy

Parents Reply Children
  • Although I have no DK on hand, but when I load your HEX code, the NFC can work perfectly, I can read the correct URL. Then I make a try, use keil IDE to program my test app(the simple merged project) into the board which already has you code, it should work with you SD, but the NFC looks not working.

  • So I list something I did:

    1. Before I test my BLE related APP, I always flash the S140. I am experienced with 52840 BLE application development.

    2. Running the record_url  example, I always clear the chip and run it, because the record_url can not boot up when S140 exists. the example works.

    3. Running the merged example(record_url + ble_uart), I always flash the S140. The NFC result is fail. later I will add a LED flashing to see if it is alives.

    4. My environment is MDK 5.21a, package family is 8.24. I use a 52840 based application board.

    I will ask  my colleague who has DK on hand, and run my merged code to see what happen.

  • Hi Edvin,

    Finally the root cause was found. In the pca10056.h, there is the button definition:

    #define BUTTON_1 11
    #define BUTTON_2 11 //12
    #define BUTTON_3 24
    #define BUTTON_4 25
    #define BUTTON_PULL NRF_GPIO_PIN_PULLUP

    The BUTTON_2 original port number was 12, in my application board, it's connected to a buzzer, when testing the merged project, it is noisy, so I redirect it to BUTTON_1, let it occupied the same port, I thought is should be OK.....But when running the APP, it's looks the BSP will check the port mapping, if duplicated, issuing an error and stop. I didn't check the LOG viewer, so miss the chance to find the root cause.

    The reason why you are correct is because the ZIP file didn't include the pca10056.h(it's located outside the example directory which I zipped), so you are referring to a correct default mapping pca10056.h, but I still mapping to a bad one.

    Thank you again for your help, I will try to test my product APP to see whether NFC can work or not.

    Best Regards,

    Andy

Related