Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

warning: cannot find entry symbol Reset_Handler

Tags:

c

linker

The complete summary of the error is as follows:

Info: Internal Builder is used for build
arm-atollic-eabi-gcc -o test.elf main.o stm32f4xx_it.o system_stm32f4xx.o -T../Debug_STM32F401VC_FLASH.ld -specs=nosys.specs -static -Wl,-cref,-u,Reset_Handler -Wl,-Map=test.map -Wl,--defsym=malloc_getpagesize_P=0x80 -Wl,--start-group -lc -lm -Wl,--end-group -specs=nano.specs 
c:/program files (x86)/atollic/truestudio for stm32 9.0.1/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/bin/ld.exe: warning: cannot find entry symbol Reset_Handler; defaulting to 08000000
main.o: In function `main':
C:\Users\Deepayan\Atollic\TrueSTUDIO\STM32_workspace_9.0\test\Debug/..\main.c:26: undefined reference to `TM_USART_Init'
C:\Users\Deepayan\Atollic\TrueSTUDIO\STM32_workspace_9.0\test\Debug/..\main.c:29: undefined reference to `TM_USART_Puts'
C:\Users\Deepayan\Atollic\TrueSTUDIO\STM32_workspace_9.0\test\Debug/..\main.c:33: undefined reference to `TM_USART_Getc'

Where should we specify the Reset Handler? Thanks.

like image 984
srkdb Avatar asked Oct 15 '25 14:10

srkdb


1 Answers

Handlers are defined in an assembler startup file, which is generated automatically by STM32CubeIDE or STM32CubeMX. The file is located in a folder called "Startup" at the root of your project. It is named after your MCU, for example startup_stm32f303xe.s, startup_stm32l476rgtx, etc.

The warning "cannot find entry symbol Reset_Handler" means the startup file is either 1. corrupted, 2. missing, or 3. not included in your build. To fix cases 1 and 2, simply re-generate the code from STM32CubeIDE or STM32CubeMX.

Case 3 is more interesting. Upon code generation, STM32CubeIDE and STM32CubeMX sometimes mark the "Startup" folder as "Exclude from build". To make things worse, the folder doesn't have the "excluded" icon, so there's no obvious way to notice it. So you need to right-click the "Startup" folder, go to "C/C++ Build" and uncheck the "Exclude resource from build" checkbox. This issue seems to arise randomly, often with projects copied from other projects.

like image 140
steph643 Avatar answered Oct 18 '25 06:10

steph643



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!