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

Link CRYPTOCELL_IRQHandler

How is CRYPTOCELL_IRQHandler linked in a project using CC310? I have built ble_app_interactive and it links to the library routine. However I need to develop my own application and so I tried to create a new project starting from ble_app_interactive by moving files to a different subdirectory structure. I then readded all the project files and amended the include search paths. The project compiles without error and runs as far as initialising the RNG. The program then hangs in a tight loop at the default CRYPTOCELL_IRQHandler.

  • Hello,

    The handler should be defined inside the Cryptocell runtime library. Have you remembered to include this library in your project? It's called libnrf_cc310_x.x.x and is located in <sdk_root>/\external\nrf_cc310.

  • I include relevant sections from the map file generated by IAR ELF (I have moved files for my project)

    1. The library is included in the files to be linked

    #        "D:\Malcolm\Projects\nordic\Applications\Nordic nRF52
    #        V1.1\BLE\external\nrf_cc310\lib\cortex-m4\hard-float\short-wchar\no-interrupts\libnrf_cc310_0.9.12.a"
    #        "D:\Malcolm\Projects\nordic\Applications\Nordic nRF52
    #        V1.1\BLE\external\nrf_oberon\lib\cortex-m4\hard-float\short-wchar\liboberon_3.0.1.a"

    2. The relevant code is included in the link

      .text.SaSi_HalWaitInterrupt
                              ro code     0x4'1d5c      0x28  ssi_hal.c.obj [3]
      .text.SaSi_HalClearInterruptBit
                              ro code     0x4'1d84       0xc  ssi_hal.c.obj [3]
      .text.SaSi_HalMaskInterrupt
                              ro code     0x4'1d90       0xc  ssi_hal.c.obj [3]

    3. However I cannot find a link to the CRYPTOCELL_IRQhandler. The following is from the link map of the original example program. I cannnot find the equivalent in my map file

      .text.CRYPTOCELL_IRQHandler
                              ro code     0x4'f378      0x40  ssi_hal.c.obj [3]

    So my confusion is why some external links are included but not others, specifically CRYPTOCELL_IRQhandler

  • I found my error. I included the library without interrupts. Apologies.

  • No worries, glad you figured it out. Thanks for the update.

Related