I develop a test fixture based on nrf51 code that I use for final product.
NRF51 is just a part of a complex test fixture, then I have just "one" test fixture model.
I modifiy product code to run on a test-fixture with UART com added (to computer COM exchange), then central code of test fixture is near the central code of product. (I will have the same for peripheral on an other mode of test-fixture)
The test fixture that test DUT (in peripheral mode) is configured as central mode.
I have several different DUT in peripheral mode that have specific central device (then each DUT need a specific central to test).
In my test-fixture, I have two project to merge with different settings of RAM start and RAM length because project are not configured the same (but it is for the same "global" project that have several device).
I merge source code (with differents name of functions !) and compil one hex.
When I link project, I must set a configuration in IRAM1 memory area (keil studio options for target). I choose the biggest settings of 2 projects (I use 32k RAM chip for each one and then on test bench)
on boot, I check an I/O to select boot mode (I run functions of a project that I need). When test bench change, I reset NRF51 and boot on other functions.
But, when appli start, I have an SDH debug message (warning) that tell me that start and size are not correct for one of project, that is normal because it is not the optimal settings, but because memory is large enough, I think It would be good. But appli stop on fault.
Is there hidden limitation of memory start/size if we do not respect the start/size preconized by function CHECK_RAM_START_ADDR() ?
Regards