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

nRF51422 QFAAE0 SDK available?

I have been developing on a nrF51422 QFAAC0 chipset. That chipset required SDK 4.4 for soft device capability.

I requested the latest silicon (so I could develop against the new API of 5.1 and use the reprogrammable soft device) from my sales representative and he graciously arranged to have the latest silicon shipped to me. I now have several boards built with nRF4122 QFAAE0 silicon.

So the latest SDK I have access to is SDK 5.1. This SDK only supports the QFAADA silicon.

Is there an SDK available for the QFAAE0 silicon that I have?

If so, how do I get access to it? Do I need a new "Product Key" from my sales representative?

If the SDK is not ready yet, is there a time estimate of when it will be available? I need to get a product prototype delivered on a fairly tight schedule and it needs ANT functionality immediately but we desire the BLE / ANT simultaneous capabilities long term and the latest API. But if I must, I will purchase whatever the latest supported ANT silicon is.

Thank you for you time. David

Parents
  • So a coworker much smarter than me solved the problem and it was an easy fix once he explained.

    The problem was that the size of the soft device was bigger than the GCC linker scripts state in SDK 5.1. So if you use GCC like I do, when you try to write a program with a soft device present it will try to load it at a protected address and fail. So it turns out to be a painfully simple fix to get GCC to load at the proper addresses.

    Note that this is not thoroughly tested, but it went from not loading code at all with a soft device present using GCC to successfully loading and running the Ant broadcast TX example. I am not a Nordic employee so I might be doing something wrong here. Use at your own risk but this worked for me.

    To enable the S210 soft device with GCC on the nrf51422 on SDK 5.1 with QFAAE0 silicon: Edit the file gcc_nrf51_s210_xxaa.ld under nrf51422/Source/templates/gcc. Original file lines 7 and 8:

      FLASH (rx) : ORIGIN = 0x0000A000, LENGTH = 216K
      RAM (rwx) : ORIGIN = 0x20000800, LENGTH = 14K
    

    Modified file lines 7 and 8:

      FLASH (rx) : ORIGIN = 0x0000C000, LENGTH = 208K
      RAM (rwx) : ORIGIN = 0x20000900, LENGTH = 13K
    

    It is a simple fix in hindsight but I could not see it. Thankfully I have a very smart coworker that solves my problems.

Reply
  • So a coworker much smarter than me solved the problem and it was an easy fix once he explained.

    The problem was that the size of the soft device was bigger than the GCC linker scripts state in SDK 5.1. So if you use GCC like I do, when you try to write a program with a soft device present it will try to load it at a protected address and fail. So it turns out to be a painfully simple fix to get GCC to load at the proper addresses.

    Note that this is not thoroughly tested, but it went from not loading code at all with a soft device present using GCC to successfully loading and running the Ant broadcast TX example. I am not a Nordic employee so I might be doing something wrong here. Use at your own risk but this worked for me.

    To enable the S210 soft device with GCC on the nrf51422 on SDK 5.1 with QFAAE0 silicon: Edit the file gcc_nrf51_s210_xxaa.ld under nrf51422/Source/templates/gcc. Original file lines 7 and 8:

      FLASH (rx) : ORIGIN = 0x0000A000, LENGTH = 216K
      RAM (rwx) : ORIGIN = 0x20000800, LENGTH = 14K
    

    Modified file lines 7 and 8:

      FLASH (rx) : ORIGIN = 0x0000C000, LENGTH = 208K
      RAM (rwx) : ORIGIN = 0x20000900, LENGTH = 13K
    

    It is a simple fix in hindsight but I could not see it. Thankfully I have a very smart coworker that solves my problems.

Children
No Data
Related