-
Notifications
You must be signed in to change notification settings - Fork 64
Open
Open
Copy link
Labels
bugSomething isn't workingSomething isn't workingquestionFurther information is requestedFurther information is requested
Description
Describe the Bug
The generated GCC linker script and the startup file are not compatible for STM32F4xx .
To Reproduce
Steps to reproduce the behavior:
- Create file intr.csolution.yml
solution:
cdefault:
compiler: GCC
packs:
- pack: ARM::CMSIS
- pack: Keil::STM32F4xx_DFP@2.17.1
target-types:
- type: Device
device: STMicroelectronics::STM32F429ZITx
build-types:
- type: Debug
optimize: debug
debug: on
- type: Release
optimize: balanced
debug: off
projects:
- project: ./intr.cproject.yml- Create file intr.cproject.yml
project:
groups:
- group: Application
files:
- file: ./src/main.c
components:
- component: CMSIS:CORE
- component: Device:Startup- Build with:
cbuild -S intr.csolution.yml -c intr.Debug+Device --update-rte --packs- The GCC linker ld will signal missing synmbols from linker script:
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: CMakeFiles/Keil_Device_Startup_2_6_3.dir/home/nizar/Work/Practice/Bare_Metal/Interrupts/RTE/Device/STM32F429ZITx/startup_stm32f429xx.S.obj: in function `LoopFillZerobss':
/home/nizar/Work/Practice/Bare Metal/Interrupts/RTE/Device/STM32F429ZITx/startup_stm32f429xx.S:61:(.text.Reset_Handler+0x38): undefined reference to `_estack'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: /home/nizar/Work/Practice/Bare Metal/Interrupts/RTE/Device/STM32F429ZITx/startup_stm32f429xx.S:64:(.text.Reset_Handler+0x3c): undefined reference to `_sdata'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: /home/nizar/Work/Practice/Bare Metal/Interrupts/RTE/Device/STM32F429ZITx/startup_stm32f429xx.S:65:(.text.Reset_Handler+0x40): undefined reference to `_edata'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: /home/nizar/Work/Practice/Bare Metal/Interrupts/RTE/Device/STM32F429ZITx/startup_stm32f429xx.S:66:(.text.Reset_Handler+0x44): undefined reference to `_sidata'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: /home/nizar/Work/Practice/Bare Metal/Interrupts/RTE/Device/STM32F429ZITx/startup_stm32f429xx.S:81:(.text.Reset_Handler+0x48): undefined reference to `_sbss'
/usr/lib/gcc/arm-none-eabi/14.2.0/../../../../arm-none-eabi/bin/ld: /home/nizar/Work/Practice/Bare Metal/Interrupts/RTE/Device/STM32F429ZITx/startup_stm32f429xx.S:82:(.text.Reset_Handler+0x4c): undefined reference to `_ebss'
Memory region Used Size Region Size %age Used
ROM0: 288 B 2 MB 0.01%
RAM0: 192 KB 192 KB 100.00%
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
Expected behavior
The build process will give no issues.
Environment (please complete the following information):
- [CMSIS_COMPILER_ROOT/gcc_linker_script.ld.src]
- Version [2.12.0]
- OS: [linux]
Additional context
When I change compiler to CLANG, The error disappears.
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingquestionFurther information is requestedFurther information is requested
Type
Projects
Status
Backlog