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

Direct Test Mode for nRF51822

Hi,

I am using nRF51822-CEAA with S110 SoftDevice on a custom board which is commercially deployed now. I am using IAR 7.80.2 and Segger JLink Ultra+. I found there are a few queries about the Direct Test Mode. However, I found none is close to my goal which to create nRF51822 firmware to satisfy BLUETOOTH CORE SPECIFICATION Version 4.0 Vol 6, Part F. I am planning to test with Anritsu MT8852 or BlueTest3 test app. May be I didn't search the information in the right place.

Since I would like to stay with S110, I downloaded nRF51SDK1000dc26b5e. In this package there are 2 DTM examples: direct_test_mode and dtm_serialization. With minor updates from dtm_serialization IAR project file, I was able to load to my nRF51822, stop at main and step through the code. However, this example is for demo boards with buttons to init DTM, etc. So this example is not good for me even though the IAR project shows all the appropriate files that I am looking for.

In direct_test_mode, main.c is more promising with UART init and polling bytes from UART. From IAR, it seems that I was able to load to nRF51822 but IAR was not stop at main even that I have IAR Debugger Run to main option is checked.

My questions are:

1. Would direct_test_mode from nRF51SDK1000dc26b5e is the closest to a framework that I can use?

2. Should I assume that S110 SoftDevice is already programmed to my board? I found "nRF51 SDK - S110 SoftDevice: Direct Test Mode" but there no information about the setup to run the DTM examples.

Please comment. Thanks,

Dennis

Parents
  • HI Dennis,

    I suggest that you use the SDK version 12.3 for DTM testing if not for anything else.  As the DTM only exercises the RADIO the softdevice is not required.  No buttons or LEDs are used in the direct_test_mode which is the one you can use.  

    You can use UART interface to do the DTM testing.  Two wires needed and no flow control.  TX and RX are mapped out to the GPIOs that the nRF51-DK uses and are used in the examples.

     If you need to change the GPIOs that is easily done by changing the GPIOs used in the PCA10028.h file in the project and recompiling.

    I have attached a app note nAN34 which is for DTM testing.  I also attached a brief, unofficial document written back in the day.  It is still valid even if some of the links are not. 

    Please note, if this is a new BLE design, you may have difficulty certifying it.  This is because BT specification 4.0 has been depreciated. I suggest you look into that further, perhaps with your test house or the BT Sig directly. 

    if you are going to do FCC and other agency testing then I suggest you use the Radio_test example found in  SDK 12.3 for that also.  It does not use the softdevice either.

    Good luck with your testing!!

     

    Best regards,

     

     

    Jay Tyzzer | Sr. Field Application Engineer, Hardware

    M +1 626 710 7494 | Southern California, USA

    nordicsemi.com | devzone.nordicsemi.com

    Skype -> RFforU2

     

    nAN34_v1.01.zipConfiguring and using the DTM example from the Nordic SDK-01.1.pdf

  • Hi Jay,

    I downloaded SDK version 12.3 and reviewed the attachments as suggested. I am doing FCC testing therefore I am looking at examples\peripheral\radio_test. However, I am having a start up issue with radio_test. On the other hand, I was able to flash, start and break at main() with examples\dtm\dtm_serialization ok.

    I set the same MCU to nRF51822-CEAA to both example projects. Both IAR projects have Debugger->Run into main checked. However, I can't get radio_test break into main(). I uploaded  my screen shots for both projects.

    Please let me know what I should check.

    Thanks,

    Dennis

  • I found the issue. In radio_test, the IAR project compiler->Output->Generate debug information is not enable. Thanks,

    Dennis

Reply Children
No Data
Related