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

Which SDK11 gcc examples work with nRF51822?

I think similar issues have been posted before and not resolved

If I flash the hex precompiled hex files for virtually any project by using the pca10028 S130 version it works fine

e.g. examples\ble_peripheral\ble_app_hrs\hex\ble_app_hrs_s130_pca10028.hex

But if I try to compile using gcc 4.9.3 the resultant binary doesn't work.

(I have the S130 SDK11 installed), I just flash the code into 0x1b000

The only example that does compile and run is

examples\ble_peripheral\ble_app_beacon\pca20006\s130\armgcc

i.e This targets the pca20006 board.

The pca20006 is a nRF51822 where as the pca10028 is a nRF51422 - so I don't know if that's the problem.

I'm now downloading keil to see if this is a gcc issue (I'm using gcc 4.9.3 as recommended here devzone.nordicsemi.com/.../ )

But the gcc toolchain must be working as the beacon for pca20006 will compile, upload and run without any problems

Parents
  • I have now managed to get some examples to work on my nRF51822QFAAH0 device

    The HRS example works but the proximity will not compile as it takes more RAM than is available.

    Using the PCA10028 board as the base..

    I changed the linker file as suggested to ..

    MEMORY
    {
      FLASH (rx) : ORIGIN = 0x1b000, LENGTH = 0x25000
      RAM (rwx) :  ORIGIN = 0x20002080, LENGTH = 0x1f80
    }
    

    (I reduced the LENGTH value by 0x4000 hex)

    I am not sure why this solution didn't originally seem to work. But I retested with a clean copy of SDK11 and it is now OK

    Note. Examples that take more than 1f80 of RAM will simply not compile (link), which is understandable.

Reply
  • I have now managed to get some examples to work on my nRF51822QFAAH0 device

    The HRS example works but the proximity will not compile as it takes more RAM than is available.

    Using the PCA10028 board as the base..

    I changed the linker file as suggested to ..

    MEMORY
    {
      FLASH (rx) : ORIGIN = 0x1b000, LENGTH = 0x25000
      RAM (rwx) :  ORIGIN = 0x20002080, LENGTH = 0x1f80
    }
    

    (I reduced the LENGTH value by 0x4000 hex)

    I am not sure why this solution didn't originally seem to work. But I retested with a clean copy of SDK11 and it is now OK

    Note. Examples that take more than 1f80 of RAM will simply not compile (link), which is understandable.

Children
No Data
Related