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

Where are makefile defines like NRF51822_QFAA_CA documented?

I don't have a QFN package, I have a WL-CSP package. Presumably, this define should be changed to NRF51822_??AA_??, but I can't find anyplace where the options are listed.

Nor can I find anywhere that discusses how getting this define wrong might impact firmware behavior.

Help?

  • Do you mean the linker values for Flash and RAM sizes?

    Please explain what other differences there are between the nRF51822 versions, which you think would require changes to the Makefile?

  • Hey Roger, I could speculate, but I don't really know. Pinmappings are different for the two parts, so maybe that has something to do with it?

    I inherited the codebase (and Makefile), and suppose that it's possible that the define isn't even a Nordic thing. However, in grepping around, I see that the make define NRF51822_QFAA shows up in several .lib files inside nrf51822sdk/Lib...and I believe those are Nordic libraries.

    I'd just like someone in the know to give me a definitive answer...even if that answer is "Calvin, you're an idiot--this isn't a Nordic thing." :p

  • Calvin

    AFIK, package should not make any difference to the operation of the code.

    Your specific hardware pin mapping is something completely different.

    Normally differences in custom boards are defined in the Board Support Package files (BSP) and there is a -DBOARD_xxx which causes the code to include the particular BSP board for your specific hardware

    If you are not using a Nordic DK board, whoever wrote the code has just made a "custom" board or perhaps made their own board header file (e.g. I have a include I made for the Waveshare BLE400 that I use for some testing)

    The differences between nRF51 versions are QFAA = 16k RAM 256k Flash QFAB = 16k RAM 128k Flash QFAC = 32k RAM 256k Flash

    These differences are set in the linker (.ld) file.

    You have not said what your issue actually is.

    Note. I think some old chip revisions don't work with V2.x SD (SDK12) (not sure why this is)

  • Nods Yeah--I thought about the possibility that it might be a board specific thing, but the define doesn't get used for any of the code I can actually grep through. Again, it only seems to be present in some .lib files.

    If it's just the differences in flash (which would make sense as a linker check), then I'm not worried. The define is a little misleading (NRF51822_128K would suggest memory limit where NRF51822_QFAA suggests package...which then implies that maybe the WL-CSP should be a different define), but that's fine.

    Per the actual issue--when I started this thread, I had a problem where the BLE appeared to be running into the weeds. Since the code works fine on a different platform (that does have a QFN package) I wondered if it could be that the define was wrong. Since posting, I discovered that the problem was a bad chip on the board.

Related