This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Running nRF5_IoT_SDK_v0.9.x on the PCA10036 board

Hi, I have PCA10036 board v1.0.0 and I would like to run sample projects from nRF5_IoT_SDK_v0.9.x that are by default designed for PCA10040. Do I need to make any changes in these projects to be able to use them with PCA10036 board?

Parents
  • I tried flashing both the PCA10040 compiled version and the PCA10036 version to my PCA10036 of the ICMP example. Tried many variations but can't get it to go, it always crashes.

    I wonder if the ES1 had a bug preventing this from working? Can't find any information either way. But the entire IOT SDK only has PCA10040 files for all of the examples. It would be annoying if that is the case as I only purchased this devkit last week!

    I'm having trouble getting gdb running on linux to actually show symbols inline, but I can see the following. 0x1F541 is: (gdb) info symbol 0x1f541 __libc_fini_array + 1 in section .text

    1e886 would appear to be before the program rom, and should be blank in the soft device.. so thats a bit strange.

    J-Link>Regs PC = 0001E886, CycleCnt = 00000000 R0 = 00000000, R1 = 0001F541, R2 = DEADBEEF, R3 = 9693ADDA R4 = 00000000, R5 = 00000000, R6 = 00000000, R7 = 00000000 R8 = 00000000, R9 = 00000000, R10= 20000000, R11= 00000000 R12= 00000000 SP(R13)= 2000FFC0, MSP= 2000FFC0, PSP= 00000000, R14(LR) = FFFFFFF9 XPSR = 21000003: APSR = nzCvq, EPSR = 01000000, IPSR = 003 (HardFaultMemManage) CFBP = 00000000, CONTROL = 00, FAULTMASK = 00, BASEPRI = 00, PRIMASK = 00

    FPS0 = 00000000, FPS1 = 00000000, FPS2 = 00000000, FPS3 = 00000000 FPS4 = 00000000, FPS5 = 00000000, FPS6 = 00000000, FPS7 = 00000000 FPS8 = 00000000, FPS9 = 00000000, FPS10= 00000000, FPS11= 00000000 FPS12= 00000000, FPS13= 00000000, FPS14= 00000000, FPS15= 00000000 FPS16= 00000000, FPS17= 00000000, FPS18= 00000000, FPS19= 00000000 FPS20= 00000000, FPS21= 00000000, FPS22= 00000000, FPS23= 00000000 FPS24= 00000000, FPS25= 00000000, FPS26= 00000000, FPS27= 00000000 FPS28= 00000000, FPS29= 00000000, FPS30= 00000000, FPS31= 00000000 FPSCR= 00000000

  • Look at the stack pointer - the initial engineering samples of the nRF52 had a quite wonderful bug that only 1/2 the memory was where it was supposed to be. Looking at the linker files for the iOT SDK I see they're set up for the full 64K (I note they haven't been updated for the PCA10040 in the other SDKs and still only use 32Kb). So your stack is where the PCA1036 doesn't have any actual RAM

    change the linker file to put the top of RAM at 0x20008000 not 0x20010000

    You may still have other problems, don't know how many of the other bugs have workarounds in the startup assembler file, but that at least should help.

Reply
  • Look at the stack pointer - the initial engineering samples of the nRF52 had a quite wonderful bug that only 1/2 the memory was where it was supposed to be. Looking at the linker files for the iOT SDK I see they're set up for the full 64K (I note they haven't been updated for the PCA10040 in the other SDKs and still only use 32Kb). So your stack is where the PCA1036 doesn't have any actual RAM

    change the linker file to put the top of RAM at 0x20008000 not 0x20010000

    You may still have other problems, don't know how many of the other bugs have workarounds in the startup assembler file, but that at least should help.

Children
No Data
Related