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

Developing for nRF52810 - the full story?

nRF5 SDK > nRF5 SDK v15.0.0 > User Guides > Developing for nRF52810 gives a list of things to do to adapt an nRF52832 project to an nRF52810 target.

But, looking at the SDK v15.0.0 PCA10040 (nRF52832) and PCA10040e (nRF52810) blinky example, there are a few extra  changes which are not mentioned; viz,

  • Change FLOAT_ABI_HARD to FLOAT_ABI_SOFT
  • Change __HEAP_SIZE=8192  to 2048
  • Change __STACK_SIZE=8192 to 2048

Are these essential, or just optional?

Are there any others?

EDIT

Please see updates below if the link doesn't work ...

Parents
  • Hi Andrew,

     

    You are correct. the user guide does lacks the information about using softfp. I'll report this internally.

    The things you list are essential to change in your project in order to make the firmware run.

    The HEAP and STACK size shall be set by-default by your startup file (if using GCC atleast):

        .section .stack
    #if defined(__STARTUP_CONFIG)
        .align __STARTUP_CONFIG_STACK_ALIGNEMENT
        .equ    Stack_Size, __STARTUP_CONFIG_STACK_SIZE
    #elif defined(__STACK_SIZE)
        .align 3
        .equ    Stack_Size, __STACK_SIZE
    #else
        .align 3
        .equ    Stack_Size, 2048
    #endif
        .globl __StackTop
        .globl __StackLimit
    __StackLimit:
        .space Stack_Size
        .size __StackLimit, . - __StackLimit
    __StackTop:
        .size __StackTop, . - __StackTop
    
        .section .heap
        .align 3
    #if defined(__STARTUP_CONFIG)
        .equ Heap_Size, __STARTUP_CONFIG_HEAP_SIZE
    #elif defined(__HEAP_SIZE)
        .equ Heap_Size, __HEAP_SIZE
    #else

     

     

    Best regards,

    Håkon

Reply
  • Hi Andrew,

     

    You are correct. the user guide does lacks the information about using softfp. I'll report this internally.

    The things you list are essential to change in your project in order to make the firmware run.

    The HEAP and STACK size shall be set by-default by your startup file (if using GCC atleast):

        .section .stack
    #if defined(__STARTUP_CONFIG)
        .align __STARTUP_CONFIG_STACK_ALIGNEMENT
        .equ    Stack_Size, __STARTUP_CONFIG_STACK_SIZE
    #elif defined(__STACK_SIZE)
        .align 3
        .equ    Stack_Size, __STACK_SIZE
    #else
        .align 3
        .equ    Stack_Size, 2048
    #endif
        .globl __StackTop
        .globl __StackLimit
    __StackLimit:
        .space Stack_Size
        .size __StackLimit, . - __StackLimit
    __StackTop:
        .size __StackTop, . - __StackTop
    
        .section .heap
        .align 3
    #if defined(__STARTUP_CONFIG)
        .equ Heap_Size, __STARTUP_CONFIG_HEAP_SIZE
    #elif defined(__HEAP_SIZE)
        .equ Heap_Size, __HEAP_SIZE
    #else

     

     

    Best regards,

    Håkon

Children
Related