I started with the peripherals/spi example, and am now trying to update to the recommended nfrx drivers. I can get the spi working fine, but I can not get the linking to work properly without doing really strange thingssdk_config.h. I have attached my sdk_config.h file.
1) I have all the enables set n sdk_config.h:
#define NRFX_SPIM_ENABLED 1
#define NRFX_SPIM3_ENABLED 1
#define NRFX_SPIM_EXTENDED_ENABLED 1
#define NRFX_SPIM_MISO_PULL_CFG 1
2) In main.c I have:
#include "nrfx_spim.h"
3) In nRF_Drivers, I have
nrfx_spim.c
When I build, the linking fails:
undefined reference to `nrfx_spim_xfer'
undefined reference to `nrfx_spim_init'
In main.c, when I context click on 'nrfx_spim_xfer' and choose go to definition, the file nrfx_spim.h is opened at the wrong location (the struct definition for nrfx_spim_xfer_desc_t). I can see nrfx_spim_xfer() and nrfx_spim_init() in the file and they are not greyed out. I can also context switch to the declarations from main.c and I am taken to the correct locations in nrfx_spim.h.
4) Under Project>Common>Code>Preprocessor>User_include_Directories and double clicking (yech! is this ever convoluted), I can see:
../../../../../../external/fprintf
../../../../../../external/segger_rtt
../../../../../../integration/nrfx
../../../../../../integration/nrfx/legacy
../../../../../../modules/nrfx
../../../../../../modules/nrfx/drivers/include
../../../../../../modules/nrfx/hal
../../../../../../modules/nrfx/mdk
../config
as required, yet when I try to compile I get the link errors. I also tried replacing my sdk_config.h with the sdk_config.h from nrfx_spim and the compile still failed (opening nrfx_spim and compiling does not fail, but it uses cdx with no info on how to modify it to get rid of cdx). Also, it's not a matter of just getting my project to link, it's a matter of how to use libraries and linking in SES as I have to make many additional changes in the future.
I'm assuming there is something I've missed, but I've searched all the posts in devzone that are related, and I can't find out what needs to be done and/or how to understand what is necessary in the setup.
Is it recommended to get not use SES and set up a gnu flow with Makefiles?