WHen trying to build I get in the linker a lot of error like this:
C:/Segger/mbOS/mbOS ex/Wizmi_Project_mbOS_empty/embOS/Start/BoardSupport/CMSIS/Generic/Output/Debug/Wizmi_Project_mbOS.elf uses VFP register arguments, ../../../Lib/libos_v7m_t_le_dp.a(OS_ThreadSafeInt.o) does not
As I get over answers I see it relate to the Floating point and the soft and hard configuration
-mfloat-abi=soft
-mfloat-abi=hard
which shell be same for all part of the program.
I doesn't make the makefile by myself but use the "Edit Option" in the SES.
I see this option in 2 places
At Code generator:
ARM FP ABI Type
Specifies the FP ABI type to generate code for. The options are:
- Soft generate calls to the C library to implement floating point operations.
- SoftFP generate VFP code to implement floating point operations.
- Hard generate VFP code to implement floating point operations and use VFP registers to pass floating point parameters on function calls.
- None will not specify the FP ABI or the FPU
Set it to Hard
I also have the some setting in the debug configuration.
At the C preprocessor I also have it define like this FLOAT_ABI_HARD
For some reason I can't attach the emProject So I copy it.
<!DOCTYPE CrossStudio_Project_File>
<solution Name="Wizmi_Project_mbOS" target="8" version="2">
<project Name="Wizmi_Project_mbOS">
<configuration
Name="Common"
Placement="Flash"
Target="nRF52840_xxAA"
arm_architecture="v7EM"
arm_core_type="Cortex-M4"
arm_endian="Little"
arm_fp_abi="Hard"
arm_fpu_type="FPv4-SP-D16"
arm_linker_heap_size="1024"
arm_linker_process_stack_size="0"
arm_linker_stack_size="768"
arm_simulator_memory_simulation_parameter="RX 00000000,00100000,FFFFFFFF;RWX 20000000,00040000,CDCDCDCD"
arm_target_debug_interface_type="ADIv5"
arm_target_device_name="nRF52840_xxAA"
arm_target_interface_type="SWD"
build_intermediate_directory="$(ProjectDir)/Output/$(Configuration)"
build_output_directory="$(ProjectDir)/Output/$(Configuration)"
c_additional_options="-Wall;-Wextra;-Wunused-variable;-Wuninitialized;-Wmissing-field-initializers;-Wundef;-ffunction-sections;-fdata-sections"
c_only_additional_options="-Wmissing-prototypes"
c_preprocessor_definitions="USE_RTT=1;BOARD_PCA10056;CONFIG_GPIO_AS_PINRESET;DEBUG;DEBUG_NRF;FLOAT_ABI_HARD;INITIALIZE_USER_SECTIONS;NO_VTOR_CONFIG;NRF52840_XXAA;SWI_DISABLE0"
c_user_include_directories="$(ProjectDir)/DeviceSupport;$(ProjectDir)/CoreSupport;$(ProjectDir)/../../../Inc"
debug_register_definition_file="$(ProjectDir)/Setup/nrf52840_Registers.xml"
debug_target_connection="J-Link"
debug_threads_script="Setup/embOSPluginSES.js"
gcc_entry_point="Reset_Handler"
linker_additional_options="--gc-sections"
linker_printf_fmt_level="long"
linker_printf_width_precision_supported="Yes"
linker_section_placement_file="$(ProjectDir)/Setup/flash_placement.xml"
linker_section_placement_macros="FLASH_PH_START=0x0;FLASH_PH_SIZE=0x100000;RAM_PH_START=0x20000000;RAM_PH_SIZE=0x40000;FLASH_START=0x0;FLASH_SIZE=0x100000;RAM_START=0x20000000;RAM_SIZE=0x40000"
linker_section_placements_segments="FLASH RX 0x0 0x100000;RAM RWX 0x20000000 0x40000"
project_type="Executable"
property_groups_file_path="JLink/propertyGroups_CM.xml"
target_trace_initialize_script="EnableTrace("$(TraceInterfaceType)")" />
<folder Name="Application">
<folder Name="Excluded">
<configuration Name="Common" build_exclude_from_build="Yes" />
<file file_name="Application/OS_EventObjects.c" />
<file file_name="Application/OS_ExtendedTask.c" />
<file file_name="Application/OS_ExtendTaskContext.c" />
<file file_name="Application/OS_Mailboxes.c" />
<file file_name="Application/OS_MeasureCPU_Performance.c" />
<file file_name="Application/OS_MeasureCST_HRTimer_embOSView.c" />
<file file_name="Application/OS_MeasureCST_HRTimer_Printf.c" />
<file file_name="Application/OS_MeasureCST_Scope.c" />
<file file_name="Application/OS_Mutexes.c" />
<file file_name="Application/OS_ObjectIdentifier.c" />
<file file_name="Application/OS_Queues.c" />
<file file_name="Application/OS_Semaphores.c" />
<file file_name="Application/OS_Start2Tasks.c" />
<file file_name="Application/OS_Start2Tasks.cpp" />
<file file_name="Application/OS_Start2TasksEx.c" />
<file file_name="Application/OS_Stop.c" />
<file file_name="Application/OS_SWTimer.c" />
<file file_name="Application/OS_TaskStartHook.c" />
<file file_name="Application/OS_ThreadLocalStorage.c" />
<file file_name="Application/OS_Watchdog.c" />
<file file_name="Application/OS_StartLEDBlink.c">
<configuration Name="Debug" build_exclude_from_build="Yes" />
</file>
</folder>
<file file_name="../../../../../Application_Wizmi/OS_Wizmi_main.c" />
<file file_name="../../../../../Application_Wizmi/UART.c" />
<file file_name="../../../../../Application_Wizmi/config_Wizmi/sdk_config.h" />
<file file_name="../../../../../Application_Wizmi/SPI.c" />
</folder>
<folder Name="Setup">
<file file_name="Setup/BSP.c" />
<file file_name="Setup/JLINKMEM_Process.c" />
<file file_name="Setup/OS_Error.c" />
<file file_name="Setup/RTOSInit_CMSIS.c" />
<file file_name="Setup/OS_ThreadSafe.c" />
<file file_name="Setup/thumb_crt0.s">
<configuration Name="Debug" build_exclude_from_build="Yes" />
</file>
<file file_name="Setup/HardFaultHandler.S" />
<file file_name="Setup/SEGGER_HardFaultHandler.c" />
<file file_name="Setup/SEGGER_RTT.c" />
<file file_name="Setup/SEGGER_RTT_printf.c" />
<file file_name="Setup/SEGGER_RTT_Syscalls_SES.c" />
<file file_name="Setup/SEGGER_SYSVIEW.c" />
<file file_name="Setup/SEGGER_SYSVIEW_Config_embOS.c" />
<file file_name="Setup/SEGGER_SYSVIEW_embOS.c" />
<file file_name="C:/Program Files/SEGGER/SEGGER Embedded Studio for ARM 3.40/source/thumb_crt0.s" />
</folder>
<folder Name="Lib">
<file file_name="../../../Lib/libos_v7m_t_le_dp.a">
<configuration Name="Release" build_exclude_from_build="Yes" />
</file>
<file file_name="../../../Lib/libos_v7m_t_le_r.a">
<configuration Name="Debug" build_exclude_from_build="Yes" />
</file>
</folder>
<folder Name="DeviceSupport">
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/modules/nrfx/mdk/ses_startup_nrf52840.s" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/modules/nrfx/mdk/ses_startup_nrf_common.s" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/modules/nrfx/mdk/system_nrf52840.c" />
</folder>
<folder Name="nRF_Log">
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/log/src/nrf_log_backend_rtt.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/log/src/nrf_log_backend_serial.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/log/src/nrf_log_backend_uart.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/log/src/nrf_log_default_backends.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/log/src/nrf_log_frontend.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/log/src/nrf_log_str_formatter.c" />
</folder>
<folder Name="Board Definition">
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/boards/boards.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/bsp/bsp.c">
<configuration Name="Debug" build_exclude_from_build="Yes" />
</file>
</folder>
<folder Name="nRF_Libraries">
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/button/app_button.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/util/app_error.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/util/app_error_handler_gcc.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/util/app_error_weak.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/scheduler/app_scheduler.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/timer/app_timer.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/fifo/app_fifo.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/uart/app_uart_fifo.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/util/app_util_platform.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/hardfault/nrf52/handler/hardfault_handler_gcc.c">
<configuration Name="Debug" build_exclude_from_build="Yes" />
</file>
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/hardfault/hardfault_implementation.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/util/nrf_assert.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/atomic/nrf_atomic.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/balloc/nrf_balloc.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/external/fprintf/nrf_fprintf.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/external/fprintf/nrf_fprintf_format.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/memobj/nrf_memobj.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/queue/nrf_queue.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/ringbuf/nrf_ringbuf.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/serial/nrf_serial.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/strerror/nrf_strerror.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/uart/retarget.c">
<configuration Name="Debug" build_exclude_from_build="Yes" />
</file>
</folder>
<folder Name="nRF_Drivers">
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/integration/nrfx/legacy/nrf_drv_clock.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/integration/nrfx/legacy/nrf_drv_power.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/integration/nrfx/legacy/nrf_drv_spi.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/integration/nrfx/legacy/nrf_drv_uart.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/drivers_nrf/nrf_soc_nosd/nrf_nvic.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/components/drivers_nrf/nrf_soc_nosd/nrf_soc.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/modules/nrfx/drivers/src/nrfx_clock.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/modules/nrfx/drivers/src/nrfx_gpiote.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/modules/nrfx/drivers/src/nrfx_power.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/modules/nrfx/drivers/src/nrfx_power_clock.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/modules/nrfx/drivers/src/prs/nrfx_prs.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/modules/nrfx/drivers/src/nrfx_spi.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/modules/nrfx/drivers/src/nrfx_spim.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/modules/nrfx/drivers/src/nrfx_uart.c" />
<file file_name="../../../../../nRF5_SDK_15.2.0_9412b96/modules/nrfx/drivers/src/nrfx_uarte.c" />
</folder>
<file file_name="ReadMe.txt" />
<configuration
Name="Debug"
c_user_include_directories="../../../../../nRF5_SDK_15.2.0_9412b96/components;../../../../../nRF5_SDK_15.2.0_9412b96/components/boards;../../../../../nRF5_SDK_15.2.0_9412b96/components/drivers_nrf/nrf_soc_nosd;../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/atomic;../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/balloc;../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/bsp;../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/delay;../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/experimental_section_vars;../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/hardfault;../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/hardfault/nrf52	 	;../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/scheduler;../../../../../nRF5_SDK_15.2.0_9412b96/external/segger_rtt;../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/fifo;../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/serial;../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/log;../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/log/src;../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/memobj;../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/mutex;../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/queue;../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/ringbuf;../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/strerror;../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/timer;../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/uart;../../../../../nRF5_SDK_15.2.0_9412b96/components/libraries/util;../../../../../nRF5_SDK_15.2.0_9412b96/components/toolchain/cmsis/include;../../../../../nRF5_SDK_15.2.0_9412b96/;../../../../../nRF5_SDK_15.2.0_9412b96/../../..;../../../../../nRF5_SDK_15.2.0_9412b96/external/fprintf;../../../../../nRF5_SDK_15.2.0_9412b96/integration/nrfx;../../../../../nRF5_SDK_15.2.0_9412b96/integration/nrfx/legacy;../../../../../nRF5_SDK_15.2.0_9412b96/modules/nrfx;../../../../../nRF5_SDK_15.2.0_9412b96/modules/nrfx/drivers/include;../../../../../nRF5_SDK_15.2.0_9412b96/modules/nrfx/hal;../../../../../nRF5_SDK_15.2.0_9412b96/modules/nrfx/mdk;../../../../../Application_Wizmi/config_Wizmi;../../../../../Application_Wizmi"
arm_fp_abi="Hard" />
</project>
<configuration
Name="Debug"
c_preprocessor_definitions="DEBUG=1"
gcc_debugging_level="Level 3"
gcc_optimization_level="None" />
<configuration
Name="Release"
c_preprocessor_definitions="NDEBUG"
gcc_debugging_level="Level 3"
gcc_optimization_level="Level 3" />
</solution>
Do I miss something?