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

Newbie having trouble getting started...

Hello, I just received my BMD-200 eval board today and cannot get any of the examples working. I started out trying to get blinky to work using GCC and the make files provided. I am able to successfully build the projects. The _build directory has the .hex files. It is not clear what the next step should be here. make soft_device seems to just load the Soft Device so how does the example get loaded in this paradigm? What dictates where in memory it gets loaded in the GCC paradigm? Is this important?

After many attempts, I gave up on the above method and tried using nrfGo Studio. I loaded the 110 Soft Device (I am on the latest SDK version 8), and then loaded several peripheral examples. None of them run.

I gave up on this method and downloaded the Keil tools. I followed the instructions in the manual by first using nrfGo Studio to load the 110 Soft Device, and then moved over to the Keil tool. Made all of the configuration modifcations, downloaded custom_board.h, and the project builds successfully. It even seems to download to Flash successfully but it won't run. blinky does not blink and none of the ble peripheral examples advertise, so I know its not working.

I'm not sure what to try next. Can you please let me know what I am doing wrong based on the above. I don't care which method I use; I just need one that works.

Any help would be greatly appreciated.

Thanks.

Ernest

  • I dont know BMD-200, but all SDK8 examples use Nordic PCA10028/PCA10031 with nRF51422 chip insted of nRF51822. Check your makefiles and choose the right ld script (xxaa,xxab,xxac) based on which chip is used in BMD-200.

    Let me know.

    -c

    UPDATED : The chip onboard is nRF51822, Revision 2, QFN48, 256K Flash, 16k RAM. The compatible SDK is 6.1.1

    No SDK version 7 or 8 are allowed. Available SD are : S110 from 7.0.0 to 8.0.0

    Compatible Evaluation Kit : version 2.1.0 or 2.2.0

    So, you can compile (safely) with SDK 6 .

    Try,as suggested in previous post, to compile and run without S110 but as bare cortex M0.

    Erase the flash if a softdevice is installed.

    Use this SDK 6 ld script : gcc_nrf51_blank_xxaa.ld

    Use gcc makefile located in .../templates/gcc and gcc_startup_nrf51.s (it's in this dir).

    File system_nrf51.c is located at .../templates.

    UPDATE II :

    Use the blinky example in SDK/Board/PCA10001/example Look at makefile, use it as a guide .

    -c

  • blinky_gcc_nrf51.MakefileHi cocoa, thanks for the quick reply. Yes that was A problem but there seems to be another. I switched all references in the Makefiles from 1422 to 1822. It seems to build properly but still does not run. I have tried both nrjprog and nrfgo Studio to flash it and it still does not run. Any other ideas?

    I have attached the Makefile

    Output from the build below:

    make -f blinky_gcc_nrf51.Makefile all del _build C:\Rigado\examples\peripheral\blinky\pca10028\s110\armgcc_build*, Are you sure (Y/N)? make: [clean] Error 1 (ignored) make[1]: Entering directory C:/Rigado/examples/peripheral/blinky/pca10028/s110/armgcc' del _build/*.o Invalid switch - "*.o". make[1]: [cleanobj] Error 1 (ignored) make[1]: Leaving directoryC:/Rigado/examples/peripheral/blinky/pca10028/s110/armgcc' make[1]: Entering directory C:/Rigado/examples/peripheral/blinky/pca10028/s110/armgcc' Linking target: nrf51822_xxac.out make[2]: Entering directoryC:/Rigado/examples/peripheral/blinky/pca10028/s110/armgcc' Preparing: nrf51822_xxac.bin Preparing: nrf51822_xxac.hex "" text data bss dec hex filename 908 96 0 1004 3ec _build/nrf51822_xxac.out "" make[2]: Leaving directory C:/Rigado/examples/peripheral/blinky/pca10028/s110/armgcc' make[1]: Leaving directoryC:/Rigado/examples/peripheral/blinky/pca10028/s110/armgcc'

    10:44:22 Build Finished (took 526ms)

  • Hi, in your makefile you have this flag : CFLAGS = -DBOARD_PCA10028 This means you are compiling against a PCA10028 board. Is BMD-200 the same of PCA10028 ?

    More, what's inside blinky_gcc_nrf51.ld ?

    -c

  • As I understand it PCA10028 is the eval board interface (UART) and PCA10031 is the Dongle. This is whats in blinky_gcc_nrf51.ld"

    /* Linker script to configure memory regions. */

    SEARCH_DIR(.) GROUP(-lgcc -lc -lnosys)

    MEMORY { FLASH (rx) : ORIGIN = 0x0, LENGTH = 0x40000 RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 0x8000 }

    INCLUDE "gcc_nrf51_common.ld"

  • Ok, Is BMD-200 the exact copy of PCA10028 ? Has it the same nRF51 chip ? Your ld is for xxaa variant but your makefile seems compiling for xxac (output is nrf51822_xxac) **_xxac.ld assumes a chip with RAM with LENGTH = 0x8000 but in your ld script RAM has LENGTH = 0x40000.
    -c

Related