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 ...

  • The link in the original post and its DocLib replacement no longer work!

    Try this:

    https://devzone.nordicsemi.com/f/nordic-q-a/48253/request-a-link-to-the-nrf52810-proting-guide/191295#191295

    Although the OP link was broken, the navigation is still the same:

    Software Development Kit > nRF5 SDK v15.3.0 > User Guides > Developing for nRF52810

  • I am using IAR compiler with nRF5_SDK_14.0.0_3bcc1f7. I get the same error. I searched for FLOAT_ABI_HARD in all the .h and.c files, but it can't find it.

    Below is the compilation error.. Thanks..

    app_error_weak.c
    iccarm.exe C:\800_bluetooth\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\libraries\util\app_error_weak.c -D BLE_STACK_SUPPORT_REQD -D BOARD_PCA10040 -D CONFIG_GPIO_AS_PINRESET -D NRF52810_XXAA -D NRF52_PAN_74 -D NRF_DFU_SETTINGS_VERSION=1 -D NRF_SD_BLE_API_VERSION=5 -D S132 -D SOFTDEVICE_PRESENT -D SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION -D SWI_DISABLE0 -D __HEAP_SIZE=0 -o C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\_build --debug --endian=little --cpu=Cortex-M4 -e --warnings_are_errors --fpu=VFPv4_sp --dlib_config C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.3\arm\inc\c\DLib_Config_Full.h -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\ble\common\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\boards\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\device\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\drivers_nrf\clock\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\drivers_nrf\common\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\drivers_nrf\delay\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\drivers_nrf\hal\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\drivers_nrf\rng\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\libraries\atomic\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\libraries\balloc\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\libraries\bootloader\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\libraries\bootloader\ble_dfu\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\libraries\bootloader\dfu\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\libraries\crc32\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\libraries\crypto\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\libraries\crypto\backend\micro_ecc\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\libraries\crypto\backend\nrf_crypto_sw\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\libraries\experimental_log\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\libraries\experimental_log\src\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\libraries\experimental_memobj\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\libraries\experimental_section_vars\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\libraries\fstorage\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\libraries\hci\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\libraries\mem_manager\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\libraries\queue\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\libraries\scheduler\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\libraries\sha256\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\libraries\strerror\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\libraries\svc\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\libraries\timer\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\libraries\util\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\softdevice\common\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\softdevice\s132\headers\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\softdevice\s132\headers\nrf52\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\toolchain\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\toolchain\cmsis\include\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\dfu_req_handling\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\external\fprintf\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\external\segger_rtt\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\external\micro-ecc\micro-ecc\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\..\..\..\vendor\nRF5_SDK_14.0.0_3bcc1f7\external\nano-pb\ -I C:\800_bluetooth\dfu\bootloader_secure_ble\pca800BT\iar\..\config\ -Ohz

    IAR ANSI C/C++ Compiler V8.40.1.212/W32 for ARM
    Copyright 1999-2019 IAR Systems AB.
    C:\800_bluetooth\vendor\nRF5_SDK_14.0.0_3bcc1f7\components\toolchain\cmsis\include\core_cm4.h(165) : Fatal Error[Pe035]: #error directive: "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"

    Errors: 1
    Warnings: none
    Error while running C/C++ Compiler

Related