Hi,
i have kind of the same error as you!
I use the Cube IDE for my project and have ceedling in a docker container running in parallel.
I tried to build up my project just as it was done in the course from
throwtheswitch.
This is the exact error code after i run
ceedling test_____________________________________________________________________________________________________________________________________________________________
Test 'test_main.c'
------------------
Compiling main.c...
In file included from Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l052xx.h:111,
from Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l0xx.h:139,
from Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_def.h:29,
from Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_rcc.h:27,
from Core/Inc/stm32l0xx_hal_conf.h:188,
from Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal.h:29,
from Core/Inc/main.h:30,
from Core/Src/main.c:20:
Drivers/CMSIS/Include/core_cm0plus.h: In function ‘__NVIC_SetVector’:
Drivers/CMSIS/Include/core_cm0plus.h:951:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
951 | uint32_t *vectors = (uint32_t *)SCB->VTOR;
| ^
Drivers/CMSIS/Include/core_cm0plus.h: In function ‘__NVIC_GetVector’:
Drivers/CMSIS/Include/core_cm0plus.h:970:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
970 | uint32_t *vectors = (uint32_t *)SCB->VTOR;
| ^
Drivers/CMSIS/Include/cmsis_gcc.h: Assembler messages:
Drivers/CMSIS/Include/cmsis_gcc.h:142: Error: no such instruction: `cpsid i'
ERROR: Shell command failed.
> Shell executed command:
'gcc -I"/var/lib/gems/2.7.0/gems/ceedling-0.31.0/vendor/unity/src" -I"/var/lib/gems/2.7.0/gems/ceedling-0.31.0/vendor/cmock/src" -I"build/test/mocks" -I"test" -I"test/support" -I"Core/Src" -I"Core/Startup" -I"Drivers/STM32L0xx_HAL_Driver/Src" -I"Core/Inc" -I"Drivers/STM32L0xx_HAL_Driver/Inc" -I"Drivers/STM32L0xx_HAL_Driver/Inc/Legacy" -I"Drivers/CMSIS/Include" -I"Drivers/CMSIS/Device/ST/STM32L0xx/Include" -DSTM32L052xx -DTEST -DGNU_COMPILER -g -c "Core/Src/main.c" -o "build/test/out/c/main.o" -MMD -MF "build/test/dependencies/main.d"'
> And exited with status: [1].
#<Thread:0x0000564cd07148f0 /var/lib/gems/2.7.0/gems/ceedling-0.31.0/lib/ceedling/par_map.rb:7 run> terminated with exception (report_on_exception is true):
Traceback (most recent call last):
11: from /var/lib/gems/2.7.0/gems/ceedling-0.31.0/lib/ceedling/par_map.rb:10:in `block (2 levels) in par_map'
10: from /var/lib/gems/2.7.0/gems/ceedling-0.31.0/lib/ceedling/task_invoker.rb:97:in `block in invoke_test_objects'
9: from /var/lib/gems/2.7.0/gems/rake-12.3.3/lib/rake/task.rb:183:in `invoke'
8: from /var/lib/gems/2.7.0/gems/rake-12.3.3/lib/rake/task.rb:194:in `invoke_with_call_chain'
7: from /var/lib/gems/2.7.0/gems/rake-12.3.3/lib/rake/task.rb:194:in `synchronize'
6: from /var/lib/gems/2.7.0/gems/rake-12.3.3/lib/rake/task.rb:214:in `block in invoke_with_call_chain'
5: from /var/lib/gems/2.7.0/gems/rake-12.3.3/lib/rake/task.rb:273:in `execute'
4: from /var/lib/gems/2.7.0/gems/rake-12.3.3/lib/rake/task.rb:273:in `each'
3: from /var/lib/gems/2.7.0/gems/rake-12.3.3/lib/rake/task.rb:273:in `block in execute'
2: from /var/lib/gems/2.7.0/gems/ceedling-0.31.0/lib/ceedling/rules_tests.rake:17:in `block in <top (required)>'
1: from /var/lib/gems/2.7.0/gems/ceedling-0.31.0/lib/ceedling/generator.rb:99:in `generate_object_file'
/var/lib/gems/2.7.0/gems/ceedling-0.31.0/lib/ceedling/tool_executor.rb:88:in `exec': ShellExecutionException (ShellExecutionException)
rake aborted!
ShellExecutionException: ShellExecutionException
/var/lib/gems/2.7.0/gems/ceedling-0.31.0/lib/ceedling/tool_executor.rb:88:in `exec'
/var/lib/gems/2.7.0/gems/ceedling-0.31.0/lib/ceedling/generator.rb:99:in `generate_object_file'
/var/lib/gems/2.7.0/gems/ceedling-0.31.0/lib/ceedling/rules_tests.rake:17:in `block in <top (required)>'
/var/lib/gems/2.7.0/gems/ceedling-0.31.0/lib/ceedling/task_invoker.rb:97:in `block in invoke_test_objects'
/var/lib/gems/2.7.0/gems/ceedling-0.31.0/lib/ceedling/par_map.rb:10:in `block (2 levels) in par_map'
Tasks: TOP => build/test/out/c/main.o
(See full trace by running task with --trace)
ERROR: Ceedling Failed
_____________________________________________________________________________________________________________________________________________________________
I just modified the paths and defines in my project.yml file like so:
:paths:
:test:
- +:test/**
- -:test/support
:source:
- Core/Src/**
- Core/Startup/**
- Drivers/STM32L0xx_HAL_Driver/Src**
:include:
- Core/Inc/**
- Drivers/STM32L0xx_HAL_Driver/Inc**
- Drivers/STM32L0xx_HAL_Driver/Inc/Legacy**
- Drivers/CMSIS/Include**
- Drivers/CMSIS/Device/ST/STM32L0xx/Include/**
:support:
- test/support
:libraries: []
:defines:
# in order to add common defines:
# 1) remove the trailing [] from the :common: section
# 2) add entries to the :common: section (e.g. :test: has TEST defined)
:common: &common_defines #[]
- STM32L052xx
:test:
- *common_defines
- TEST
:test_preprocess:
- *common_defines
- TEST
Do you already have a solution for this error?
I am really not sure how to solve this.
Thanks in advance for the help!