Hi!
I have an application that was originally developed for the QFAA using the S310 softdevice (v1.0). During subsequent development, we ran out of RAM memory, so we got a few QFACs.
According to the compatibility matrix, version 6.1.0 of the SDK should support IC revision 3. I tried using the same code, and modifying the linker to access the extra 16KB of RAM.
SEARCH_DIR(.)
GROUP(-lgcc -lc -lnosys)
MEMORY
{
FLASH (rx) : ORIGIN = 0x00020000, LENGTH = 0x20000
RAM (rwx) : ORIGIN = 0x20002400, LENGTH = 0x5C00
NRF_UICR_GIT_VERSION (rwx) : ORIGIN = 0x10001080, LENGTH = 0x10
NRF_UICR_APPLICATION_SETTINGS (rwx) : ORIGIN = 0x10001090, LENGTH = 0x70
}
SECTIONS
{
.NRF_UICR_GIT_VERSION_BLOCK 0x10001080 :
{
KEEP(*(.uicrGitVersion))
} > NRF_UICR_GIT_VERSION
.NRF_UICR_APPLICATION_SETTINGS_BLOCK 0x10001090 :
{
KEEP(*(.uicrApplicationSettings))
} > NRF_UICR_APPLICATION_SETTINGS
}
INCLUDE "gcc_nrf51_common.ld"
Here I changed the length of the RAM from 0x1C00 to 0x5C00. This compiled fine, but when I flashed it onto the board, none of the functionality worked.
Can anyone help me figure out how to access the extra memory, or confirm that this won't work with the version of the SDK I am using.
On a separate note, would moving to softdevice S110 (since I only use the bluetooth capabilities) mitigate the memory problems?
Thank you.