Loading...
 

Zephyr project on STM32

   Zephyr Workbench, a VSCode extension to manage Zephyr on STM32.
It enables users to easily create, develop, and debug Zephyr applications.
Main features:
  • Install host dependencies.
  • Import toolchain and SDK.
  • Create, configure, build and manage apps.
  • Debug STM32.
You can directly download it from the VSCode marketplace
For more details, visit the Zephyr Workbench

System Workbench for STM32


You are viewing a reply to sprintf / _sbrk make error  

sprintf / _sbrk make error

Hi Tarek,
The semihosting was working in my application while the syscall.c file is exclude from build and in using the linker miscellaneous flags :
-specs=nosys.specs -specs=nano.specs -specs=rdimon.specs -lc -lrdimon
I tried the solution you proposed but it generates link errors.
Here are my steps :
- I removed the linker miscellaneous flags;
- I restore the syscall.c file (it was excluded from build);
Clean + Build but I get the following link errors :

../src/syscalls.c:63:27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'asm'
register char * stack_ptr asm("sp");
 
../src/syscalls.c: In function '_sbrk':
../src/syscalls.c:116:18: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'asm'
  extern char end asm("end");
 
../src/syscalls.c:116:18: warning: implicit declaration of function 'asm' [-Wimplicit-function-declaration]
../src/syscalls.c:121:15: error: 'end' undeclared (first use in this function)
   heap_end = &end;
 
../src/syscalls.c:121:15: note: each undeclared identifier is reported only once for each function it appears in
../src/syscalls.c:124:24: error: 'stack_ptr' undeclared (first use in this function)
  if (heap_end + incr > stack_ptr)
 
make: *** [src/syscalls.o] Error 1


After several trials, I noticed that these errors were linked to the C99 standard.
All errors vanished when C Dialect option is empty unfortunately, the semihosting is not functional :
nothing is displayed in OpenOCD tab.

What is missing?
Thank you for helping