Today I manged to compile the DW API, and ran a couple of simple test programs.
One uses the API to check that the DW module is awake, and is the correct version. It replied:
SEGGER J-Link GDB Server V4.98b – Terminal output channel
deca0130 <- this is good!
This example uses a dumb two-line test program using just a bit of Nordic library, and some DW library. The code size is:
arm-none-eabi-size –format=berkeley “SPI_to_DW_C_nRF51822.elf”
text data bss dec hex filename
52728 2552 768 56048 daf0 SPI_to_DW_C_nRF51822.elf
How to interpret the size data
text is the size of the code in flash.
data is the amount of initialized data. It also lives in flash.
bss is where all the variable data lives which is RAM.
So I already have used about 55K of 256K of flash and 0.75K of 16K of RAM. However the BLE softmachine is not loaded and that consumes 88K flash and 8K RAM.
So the current freeboard is:
Flash: 256-(88+55) = 113K
RAM: 16-(8+0.75) = 7.25K — fortunately there is a 32K version