用的stm32f40x的BSP,没修改,编译newlib的时候报错:
newlib\libc.c: In function 'libc_system_init':
newlib\libc.c:18:2: warning: implicit declaration of function 'rt_console_init' [-Wimplicit-function-declaration]
newlib\libc.c:21:2: warning: implicit declaration of function 'open' [-Wimplicit-function-declaration]
newlib\libc.c:10:6: warning: variable 'fd' set but not used [-Wunused-but-set-variable]
math.c
newlib\math.c: In function 'ln':
newlib\math.c:240:1: warning: control reaches end of non-void function [-Wreturn-type]
syscalls.c
newlib\syscalls.c: In function '_close_r':
newlib\syscalls.c:11:2: warning: implicit declaration of function 'close' [-Wimplicit-function-declaration]
newlib\syscalls.c: In function '_lseek_r':
newlib\syscalls.c:83:2: warning: implicit declaration of function 'lseek' [-Wimplicit-function-declaration]
newlib\syscalls.c: In function '_mkdir_r':
newlib\syscalls.c:92:2: warning: implicit declaration of function 'mkdir' [-Wimplicit-function-declaration]
newlib\syscalls.c: In function '_open_r':
newlib\syscalls.c:101:2: warning: implicit declaration of function 'open' [-Wimplicit-function-declaration]
newlib\syscalls.c: In function '_read_r':
newlib\syscalls.c:110:2: warning: implicit declaration of function 'read' [-Wimplicit-function-declaration]
newlib\syscalls.c: In function '_rename_r':
newlib\syscalls.c:119:2: warning: implicit declaration of function 'rename' [-Wimplicit-function-declaration]
newlib\syscalls.c: In function '_stat_r':
newlib\syscalls.c:135:2: warning: implicit declaration of function 'stat' [-Wimplicit-function-declaration]
newlib\syscalls.c: In function '_unlink_r':
newlib\syscalls.c:152:2: warning: implicit declaration of function 'unlink' [-Wimplicit-function-declaration]
newlib\syscalls.c: In function '_write_r':
newlib\syscalls.c:169:2: warning: implicit declaration of function 'write' [-Wimplicit-function-declaration]
编译Finsh的时候有个warning:
Finsh\src\shell.c:279:4: warning: implicit declaration of function 'memcpy' [-Wimplicit-function-declaration]
我的编译参数上有什么问题吗?
如果不添加newlib部分,直接编译全部都可以过,但最后link的时候报错:
Debug\shell.o: In function `finsh_system_init':
C:\Users\Administrator\Desktop\STM32F4_RTT/Finsh\src/shell.c:484: undefined reference to `__fsymtab_start'
C:\Users\Administrator\Desktop\STM32F4_RTT/Finsh\src/shell.c:484: undefined reference to `__fsymtab_start'
C:\Users\Administrator\Desktop\STM32F4_RTT/Finsh\src/shell.c:484: undefined reference to `__fsymtab_end'
C:\Users\Administrator\Desktop\STM32F4_RTT/Finsh\src/shell.c:484: undefined reference to `__fsymtab_end'
C:\Users\Administrator\Desktop\STM32F4_RTT/Finsh\src/shell.c:485: undefined reference to `__vsymtab_start'
C:\Users\Administrator\Desktop\STM32F4_RTT/Finsh\src/shell.c:485: undefined reference to `__vsymtab_start'
C:\Users\Administrator\Desktop\STM32F4_RTT/Finsh\src/shell.c:485: undefined reference to `__vsymtab_end'
C:\Users\Administrator\Desktop\STM32F4_RTT/Finsh\src/shell.c:485: undefined reference to `__vsymtab_end'
Debug\startup.o: In function `rtthread_startup':
C:\Users\Administrator\Desktop\STM32F4_RTT/User\src/startup.c:88: undefined reference to `__bss_end'
C:\Users\Administrator\Desktop\STM32F4_RTT/User\src/startup.c:88: undefined reference to `__bss_end'
用的是ST官方库里带的linker文件,问题是出在这个文件上吗?
另外提个建议,GCC部分能不能用稍微通行点的IDE,eclipse+gnu arm plugin不是很好嘛,也不用写makefile啊。