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

How can I use "Esb" and "App timer" at the same time?

Hi,

I an try to use "Esb function" and "App timer function (app_timer_create() and app_timer_start()" in the same project, but there have one following link error message.

.\_build\nrf52832_xxaa.axf: Error: L6200E: Symbol SWI0_EGU0_IRQHandler multiply defined (by nrf_esb.o and app_timer.o).

How can I solve this problem.

Thank you,

Chianglin

Parents Reply Children
  • Hi Torbjørn,

    Thank you for your source code.

    When I use your code, I have some problems. Would you please tell me: What steps have I missed?

    Following is my process step by step:

    1. After I copy your code into directory ".\examples\proprietary_rf\NordicCode" and rebuild all.  The compiler will print following error message:

    linking...
    .\_build\nrf52832_xxaa.axf: Error: L6200E: Symbol SWI0_EGU0_IRQHandler multiply defined (by nrf_esb.o and app_timer.o).
    Not enough information to list image symbols.
    Not enough information to list load addresses in the image map.
    Finished: 2 information, 0 warning and 1 error messages.
    ".\_build\nrf52832_xxaa.axf" - 1 Error(s), 0 Warning(s).
       So I reference your suggestion and change the content of nrf_esb.h

    #define ESB_EVT_IRQ QDEC_IRQn //!< The ESB event IRQ number when running on an nRF5 device.
    #define ESB_EVT_IRQHandler QDEC_IRQHandler //!< The handler for @ref ESB_EVT_IRQ when running on an nRF5 device.
       After do this, the code can compiler with no error.

    2. There have use many "NRFX_LOG_INFO()" function to print debug message in main.c.  Does this debug message in print into RTT interface?  Can I print it via UART interface?  How to set it's TX, RX pin and baudrate?

    Thank you,

    Chianglin

  • Hi Chianglin

    1. Can you let me know which of the project files you opened?
    I will double check on my end if I remembered to update the project with my modified files. 

    2. I have set up the project to print log info over the UART. 
    The TX pin is set by the NRF_LOG_BACKEND_UART_TX_PIN define in sdk_config.h, and the baudrate is set by the NRF_LOG_BACKEND_UART_BAUDRATE define. 
    The RX pin is not set since it is not used by the log module. 

    Best regards
    Torbjørn

  • Hi Torbjørn,

    1. My project is '.\nRF5_SDK_15.2.0_9412b96\examples\proprietary_rf\NordicCode\ptx\pca10040\blank\arm5_no_packs\esb_ptx_pca10040.uvprojx".

    2. About the problem of UART, UART can print debug message after I modify NRF_LOG_BACKEND_UART_TX_PIN define. Thank you,

    And I found some strange problem:

    1. After I download the binary code by press "load" button (please found following screen), the UART can not print any Debug message.

        Does it means the program doesn't execute?

    2. If I use"start / stop debug session" to execute in debug session ans exit then exit it (please find following screen",

        then the UART will start to print debug message.

    Wound you please tell me what the different between "direct download code into nRF52832 device" and "execute code in debug session mode"?

    Thank you,

    Chianglin

  • Hi Chianglin

    1. My bad. It seems the project didn't include the right header files, even though I changed the project settings. This should be corrected now:
    esb_template_app_timer_v2.zip

    2. Could you try to press the IF BOOT/RESET button on your DK after flashing from Keil?
    It is possible that it is not working because the chip is not being reset after the download. 

    Best regards
    Torbjørn

  • Hi Torbjørn,

    Sorry for reply so late. Thank you for your kindly answer.

    I know the reason why nrf52832 device can not auto reset, it is because my segger JTAG interface is damaged.

    If I have some question about "switch ESB RF mode between PTX and PRX", do you suggest I ask you in this case, or create a new case?

    Thank you,

    Chianglin

Related