Failing to run on nRF52805

I compiled some legacy code (once written for the nRF52832), trying to adapt it for the nRF52805.

I have already done the following:

  • defining -DNRF52805_XXAA
  • defining -mfloat-abi=soft
  • defining-DFLOAT_ABI_SOFT
  • adapted the linker script to this:

  FLASH (rx) : ORIGIN = 0x1C000, LENGTH = 0x30000 - 0x1C000
  RAM (rwx) :  ORIGIN = 0x20002730, LENGTH = 0x6000 - 0x2730

My SD is configured like this:

#define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247
#define NRF_SDH_BLE_VS_UUID_COUNT 3
#define NRF_SDH_BLE_GAP_EVENT_LENGTH 320
#define NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE 1408

Now I would be thankful to have these questions answered:

  1. Why does the SD113 require so much RAM (0x2730 compared to 0x1198 as in the docs)? I am using 3 VS UUIDs, but does that really hog so much memory?
  2. Do I need to compile gcc_startup_nrf52805.S or gcc_startup_nrf52.S? Same for system_nrf52805.c? When do I use which?
  3. The code will simply not boot on my nRF52805. Is there any setting I am missing?

Thanks!

Related