0

我设法为 STM32F051 (@ stmf0discovory) 获得了一个带有 libopencm3 的工作闪烁模板。然后我想为我的 Maple Mini(STM32F103 = cortex-m3)获得一个工作,所以我复制了第一个并将 cpu 标志从 cortex-m0-plus 更改为 cortex-m3,将库从 opencm3_stm32f0 更改为 opencm3_stm32f1 等等上...

但是你可以猜到它没有编译。从编译日志来看,编译器似乎没有调用链接器,这就是为什么它没有找到gpio_mode_setup函数和GPIO_MODE_OUTPUT. 以下是 Eclipse 控制台输出:

str32f0 - 工作:

19:07:01 **** Incremental Build of configuration Debug for project Template ****
make all 
'Building file: ../Source/main.c'
'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m0plus -mthumb -mlittle-endian -Og -fmessage-length=0 -ffunction-sections -fdata-sections -fno-common -msoft-float -pedantic -Wall -Wextra -Wmissing-declarations -Wshadow  -g3 -ggdb -DSTM32F0 -I"C:\ARM-GNU-Toolchain\libopencm3\include" -I"C:/Users/Lenny/Documents/Eclipse/stm32f0-libopencm3/Template/Include" -std=gnu11 -Wmissing-prototypes -Wstrict-prototypes -Wimplicit-function-declaration -Wredundant-decls -Wa,-adhlns="Source/main.o.lst" -v -MMD -MP -MF"Source/main.d" -MT"Source/main.o" -c -o "Source/main.o" "../Source/main.c"
Using built-in specs.
COLLECT_GCC=arm-none-eabi-gcc
Target: arm-none-eabi
Configured with: /home/build/work/GCC-4-9-build/src/gcc/configure --build=i686-linux-gnu --host=i686-w64-mingw32 --target=arm-none-eabi --prefix=/home/build/work/GCC-4-9-build/install-mingw --libexecdir=/home/build/work/GCC-4-9-build/install-mingw/lib --infodir=/home/build/work/GCC-4-9-build/install-mingw/share/doc/gcc-arm-none-eabi/info --mandir=/home/build/work/GCC-4-9-build/install-mingw/share/doc/gcc-arm-none-eabi/man --htmldir=/home/build/work/GCC-4-9-build/install-mingw/share/doc/gcc-arm-none-eabi/html --pdfdir=/home/build/work/GCC-4-9-build/install-mingw/share/doc/gcc-arm-none-eabi/pdf --enable-languages=c,c++ --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-headers=yes --with-newlib --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/home/build/work/GCC-4-9-build/install-mingw/arm-none-eabi --with-libiconv-prefix=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-gmp=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-mpfr=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-mpc=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-isl=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-cloog=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-libelf=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-pkgversion='GNU Tools for ARM Embedded Processors' --with-multilib-list=armv6-m,armv7-m,armv7e-m,cortex-m7,armv7-r
Thread model: single
gcc version 4.9.3 20150529 (release) [ARM/embedded-4_9-branch revision 224288] (GNU Tools for ARM Embedded Processors) 
COLLECT_GCC_OPTIONS='-mcpu=cortex-m0plus' '-mthumb' '-mlittle-endian' '-Og' '-fmessage-length=0' '-ffunction-sections' '-fdata-sections' '-fno-common' '-mfloat-abi=soft' '-Wpedantic' '-Wall' '-Wextra' '-Wmissing-declarations' '-Wshadow' '-g3' '-ggdb' '-D' 'STM32F0' '-I' 'C:\ARM-GNU-Toolchain\libopencm3\include' '-I' 'C:/Users/Lenny/Documents/Eclipse/stm32f0-libopencm3/Template/Include' '-std=gnu11' '-Wmissing-prototypes' '-Wstrict-prototypes' '-Wimplicit-function-declaration' '-Wredundant-decls' '-v' '-MMD' '-MP' '-MF' 'Source/main.d' '-MT' 'Source/main.o' '-c' '-o' 'Source/main.o'
 c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/arm-none-eabi/4.9.3/cc1.exe -quiet -v -I C:\ARM-GNU-Toolchain\libopencm3\include -I C:/Users/Lenny/Documents/Eclipse/stm32f0-libopencm3/Template/Include -imultilib armv6-m -iprefix c:\arm-gnu-toolchain\gcc-arm-none-eabi-4_9-2015q2-20150609-win32\bin\../lib/gcc/arm-none-eabi/4.9.3/ -isysroot c:\arm-gnu-toolchain\gcc-arm-none-eabi-4_9-2015q2-20150609-win32\bin\../arm-none-eabi -MMD Source/main.d -MF Source/main.d -MP -MT Source/main.o -dD -D__USES_INITFINI__ -D STM32F0 ../Source/main.c -quiet -dumpbase main.c -mcpu=cortex-m0plus -mthumb -mlittle-endian -mfloat-abi=soft -auxbase-strip Source/main.o -g3 -ggdb -Og -Wpedantic -Wall -Wextra -Wmissing-declarations -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wimplicit-function-declaration -Wredundant-decls -std=gnu11 -version -fmessage-length=0 -ffunction-sections -fdata-sections -fno-common -o C:\Users\Lenny\AppData\Local\Temp\ccN3qnLh.s
GNU C (GNU Tools for ARM Embedded Processors) version 4.9.3 20150529 (release) [ARM/embedded-4_9-branch revision 224288] (arm-none-eabi)
    compiled by GNU C version 4.7.4, GMP version 4.3.2, MPFR version 2.4.2, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring duplicate directory "c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/lib/gcc/../../lib/gcc/arm-none-eabi/4.9.3/include"
ignoring nonexistent directory "c:\arm-gnu-toolchain\gcc-arm-none-eabi-4_9-2015q2-20150609-win32\bin\../arm-none-eabi/home/build/work/GCC-4-9-build/install-mingw/lib/gcc/arm-none-eabi/4.9.3/../../../../include"
ignoring duplicate directory "c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/lib/gcc/../../lib/gcc/arm-none-eabi/4.9.3/include-fixed"
ignoring duplicate directory "c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/lib/gcc/../../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/include"
ignoring nonexistent directory "c:\arm-gnu-toolchain\gcc-arm-none-eabi-4_9-2015q2-20150609-win32\bin\../arm-none-eabi/usr/include"
#include "..." search starts here:
#include <...> search starts here:
 C:\ARM-GNU-Toolchain\libopencm3\include
 C:/Users/Lenny/Documents/Eclipse/stm32f0-libopencm3/Template/Include
 c:\arm-gnu-toolchain\gcc-arm-none-eabi-4_9-2015q2-20150609-win32\bin\../lib/gcc/arm-none-eabi/4.9.3/include
 c:\arm-gnu-toolchain\gcc-arm-none-eabi-4_9-2015q2-20150609-win32\bin\../lib/gcc/arm-none-eabi/4.9.3/include-fixed
 c:\arm-gnu-toolchain\gcc-arm-none-eabi-4_9-2015q2-20150609-win32\bin\../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/include
End of search list.
GNU C (GNU Tools for ARM Embedded Processors) version 4.9.3 20150529 (release) [ARM/embedded-4_9-branch revision 224288] (arm-none-eabi)
    compiled by GNU C version 4.7.4, GMP version 4.3.2, MPFR version 2.4.2, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 9d74dec9c13b63cc54577fa808c91d66
COLLECT_GCC_OPTIONS='-mcpu=cortex-m0plus' '-mthumb' '-mlittle-endian' '-Og' '-fmessage-length=0' '-ffunction-sections' '-fdata-sections' '-fno-common' '-mfloat-abi=soft' '-Wpedantic' '-Wall' '-Wextra' '-Wmissing-declarations' '-Wshadow' '-g3' '-ggdb' '-D' 'STM32F0' '-I' 'C:\ARM-GNU-Toolchain\libopencm3\include' '-I' 'C:/Users/Lenny/Documents/Eclipse/stm32f0-libopencm3/Template/Include' '-std=gnu11' '-Wmissing-prototypes' '-Wstrict-prototypes' '-Wimplicit-function-declaration' '-Wredundant-decls' '-v' '-MMD' '-MP' '-MF' 'Source/main.d' '-MT' 'Source/main.o' '-c' '-o' 'Source/main.o'
 c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/as.exe -v -I C:\ARM-GNU-Toolchain\libopencm3\include -I C:/Users/Lenny/Documents/Eclipse/stm32f0-libopencm3/Template/Include -EL -mcpu=cortex-m0plus -mfloat-abi=soft -meabi=5 -adhlns=Source/main.o.lst -o Source/main.o C:\Users\Lenny\AppData\Local\Temp\ccN3qnLh.s
GNU assembler version 2.24.0 (arm-none-eabi) using BFD version (GNU Tools for ARM Embedded Processors) 2.24.0.20150604
COMPILER_PATH=c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/arm-none-eabi/4.9.3/;c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/;c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/
LIBRARY_PATH=c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/arm-none-eabi/4.9.3/armv6-m/;c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv6-m/;c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../arm-none-eabi/lib/armv6-m/;c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/arm-none-eabi/4.9.3/;c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/;c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/;c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../arm-none-eabi/lib/
COLLECT_GCC_OPTIONS='-mcpu=cortex-m0plus' '-mthumb' '-mlittle-endian' '-Og' '-fmessage-length=0' '-ffunction-sections' '-fdata-sections' '-fno-common' '-mfloat-abi=soft' '-Wpedantic' '-Wall' '-Wextra' '-Wmissing-declarations' '-Wshadow' '-g3' '-ggdb' '-D' 'STM32F0' '-I' 'C:\ARM-GNU-Toolchain\libopencm3\include' '-I' 'C:/Users/Lenny/Documents/Eclipse/stm32f0-libopencm3/Template/Include' '-std=gnu11' '-Wmissing-prototypes' '-Wstrict-prototypes' '-Wimplicit-function-declaration' '-Wredundant-decls' '-v' '-MMD' '-MP' '-MF' 'Source/main.d' '-MT' 'Source/main.o' '-c' '-o' 'Source/main.o'
'Finished building: ../Source/main.c'
' '
'Building target: Template.elf'
'Invoking: Cross ARM C Linker'
arm-none-eabi-gcc -mcpu=cortex-m0plus -mthumb -mlittle-endian -Og -fmessage-length=0 -ffunction-sections -fdata-sections -fno-common -msoft-float -pedantic -Wall -Wextra -Wmissing-declarations -Wshadow  -g3 -ggdb -T "C:/Users/Lenny/Documents/Eclipse/stm32f0-libopencm3/Template\Misc\stm32f0-discovery.ld" -nostartfiles -Xlinker --gc-sections -L"C:\ARM-GNU-Toolchain\libopencm3\lib" -Wl,-Map,"Template.map" -Xlinker --cref --specs=nano.specs -v --static -Wl,--start-group -lc -lgcc -lnosys -Wl,--end-group -o "Template.elf"  ./Source/main.o   -lopencm3_stm32f0 -lc_nano -lnosys
Using built-in specs.
Reading specs from c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/nano.specs
rename spec link to nano_link
rename spec link_gcc_c_sequence to nano_link_gcc_c_sequence
COLLECT_GCC=arm-none-eabi-gcc
COLLECT_LTO_WRAPPER=c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/arm-none-eabi/4.9.3/lto-wrapper.exe
Target: arm-none-eabi
Configured with: /home/build/work/GCC-4-9-build/src/gcc/configure --build=i686-linux-gnu --host=i686-w64-mingw32 --target=arm-none-eabi --prefix=/home/build/work/GCC-4-9-build/install-mingw --libexecdir=/home/build/work/GCC-4-9-build/install-mingw/lib --infodir=/home/build/work/GCC-4-9-build/install-mingw/share/doc/gcc-arm-none-eabi/info --mandir=/home/build/work/GCC-4-9-build/install-mingw/share/doc/gcc-arm-none-eabi/man --htmldir=/home/build/work/GCC-4-9-build/install-mingw/share/doc/gcc-arm-none-eabi/html --pdfdir=/home/build/work/GCC-4-9-build/install-mingw/share/doc/gcc-arm-none-eabi/pdf --enable-languages=c,c++ --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-headers=yes --with-newlib --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/home/build/work/GCC-4-9-build/install-mingw/arm-none-eabi --with-libiconv-prefix=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-gmp=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-mpfr=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-mpc=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-isl=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-cloog=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-libelf=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-pkgversion='GNU Tools for ARM Embedded Processors' --with-multilib-list=armv6-m,armv7-m,armv7e-m,cortex-m7,armv7-r
Thread model: single
gcc version 4.9.3 20150529 (release) [ARM/embedded-4_9-branch revision 224288] (GNU Tools for ARM Embedded Processors) 
COMPILER_PATH=c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/arm-none-eabi/4.9.3/;c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/;c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/
LIBRARY_PATH=c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/arm-none-eabi/4.9.3/armv6-m/;c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv6-m/;c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../arm-none-eabi/lib/armv6-m/;c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/arm-none-eabi/4.9.3/;c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/;c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/;c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../arm-none-eabi/lib/
COLLECT_GCC_OPTIONS='-mcpu=cortex-m0plus' '-mthumb' '-mlittle-endian' '-Og' '-fmessage-length=0' '-ffunction-sections' '-fdata-sections' '-fno-common' '-mfloat-abi=soft' '-Wpedantic' '-Wall' '-Wextra' '-Wmissing-declarations' '-Wshadow' '-g3' '-ggdb' '-T' 'C:/Users/Lenny/Documents/Eclipse/stm32f0-libopencm3/Template\Misc\stm32f0-discovery.ld' '-nostartfiles' '-LC:\ARM-GNU-Toolchain\libopencm3\lib' '-specs=nano.specs' '-v' '-static' '-o' 'Template.elf'
 c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/arm-none-eabi/4.9.3/collect2.exe -plugin c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/arm-none-eabi/4.9.3/liblto_plugin-0.dll -plugin-opt=c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/arm-none-eabi/4.9.3/lto-wrapper.exe -plugin-opt=-fresolution=C:\Users\Lenny\AppData\Local\Temp\ccm3aIUJ.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lg_nano -plugin-opt=-pass-through=-lc_nano -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc_nano --sysroot=c:\arm-gnu-toolchain\gcc-arm-none-eabi-4_9-2015q2-20150609-win32\bin\../arm-none-eabi -EL -Bstatic -X -o Template.elf -LC:\ARM-GNU-Toolchain\libopencm3\lib -Lc:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/arm-none-eabi/4.9.3/armv6-m -Lc:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/armv6-m -Lc:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../arm-none-eabi/lib/armv6-m -Lc:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/arm-none-eabi/4.9.3 -Lc:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc -Lc:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib -Lc:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../arm-none-eabi/lib --gc-sections -Map Template.map --cref --start-group -lc_nano -lgcc -lnosys --end-group ./Source/main.o -lopencm3_stm32f0 -lc_nano -lnosys --start-group -lgcc -lg_nano -lc_nano --end-group --start-group -lgcc -lc_nano --end-group -T C:/Users/Lenny/Documents/Eclipse/stm32f0-libopencm3/Template\Misc\stm32f0-discovery.ld
'Finished building target: Template.elf'
' '
make --no-print-directory post-build
'Call post_build.py'
python C:/Users/Lenny/Documents/Eclipse/stm32f0-libopencm3/Template\Misc\post_build.py "C:/Users/Lenny/Documents/Eclipse/stm32f0-libopencm3/Template" "Debug" "Template"
arm-none-eabi-objdump -S "C:\Users\Lenny\Documents\Eclipse\stm32f0-libopencm3\Template\Debug\Template.elf" > "C:\Users\Lenny\Documents\Eclipse\stm32f0-libopencm3\Template\Debug\Template.lst"
' '
'Invoking: Cross ARM GNU Create Flash Image'
arm-none-eabi-objcopy -O ihex "Template.elf"  "Template.hex"
'Finished building: Template.hex'
' '
'Invoking: Cross ARM GNU Print Size'
arm-none-eabi-size --format=berkeley "Template.elf"
   text    data     bss     dec     hex filename
    500       0       0     500     1f4 Template.elf
'Finished building: Template.siz'
' '

19:07:04 Build Finished (took 2s.662ms)

stm32f1 - 枫木,不工作:

19:43:56 **** Incremental Build of configuration Debug for project Template ****
make all 
'Building file: ../Source/main.c'
'Invoking: Cross ARM C Compiler'
arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -mlittle-endian -mfix-cortex-m3-ldrd -Og -fmessage-length=0 -ffunction-sections -fdata-sections -msoft-float -pedantic -Wall -Wextra -Wmissing-declarations -Wshadow  -g3 -ggdb -DSTM32F1 -I"C:\ARM-GNU-Toolchain\libopencm3\include" -I"C:/Users/Lenny/Documents/Eclipse/maple-mini/Template/Include" -std=gnu11 -Wmissing-prototypes -Wstrict-prototypes -Wimplicit-function-declaration -Wredundant-decls -Wa,-adhlns="Source/main.o.lst" -v -MMD -MP -MF"Source/main.d" -MT"Source/main.o" -c -o "Source/main.o" "../Source/main.c"
Using built-in specs.
COLLECT_GCC=arm-none-eabi-gcc
Target: arm-none-eabi
Configured with: /home/build/work/GCC-4-9-build/src/gcc/configure --build=i686-linux-gnu --host=i686-w64-mingw32 --target=arm-none-eabi --prefix=/home/build/work/GCC-4-9-build/install-mingw --libexecdir=/home/build/work/GCC-4-9-build/install-mingw/lib --infodir=/home/build/work/GCC-4-9-build/install-mingw/share/doc/gcc-arm-none-eabi/info --mandir=/home/build/work/GCC-4-9-build/install-mingw/share/doc/gcc-arm-none-eabi/man --htmldir=/home/build/work/GCC-4-9-build/install-mingw/share/doc/gcc-arm-none-eabi/html --pdfdir=/home/build/work/GCC-4-9-build/install-mingw/share/doc/gcc-arm-none-eabi/pdf --enable-languages=c,c++ --disable-decimal-float --disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-headers=yes --with-newlib --with-python-dir=share/gcc-arm-none-eabi --with-sysroot=/home/build/work/GCC-4-9-build/install-mingw/arm-none-eabi --with-libiconv-prefix=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-gmp=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-mpfr=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-mpc=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-isl=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-cloog=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-libelf=/home/build/work/GCC-4-9-build/build-mingw/host-libs/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-pkgversion='GNU Tools for ARM Embedded Processors' --with-multilib-list=armv6-m,armv7-m,armv7e-m,cortex-m7,armv7-r
Thread model: single
gcc version 4.9.3 20150529 (release) [ARM/embedded-4_9-branch revision 224288] (GNU Tools for ARM Embedded Processors) 
COLLECT_GCC_OPTIONS='-mcpu=cortex-m3' '-mthumb' '-mlittle-endian' '-mfix-cortex-m3-ldrd' '-Og' '-fmessage-length=0' '-ffunction-sections' '-fdata-sections' '-mfloat-abi=soft' '-Wpedantic' '-Wall' '-Wextra' '-Wmissing-declarations' '-Wshadow' '-g3' '-ggdb' '-D' 'STM32F1' '-I' 'C:\ARM-GNU-Toolchain\libopencm3\include' '-I' 'C:/Users/Lenny/Documents/Eclipse/maple-mini/Template/Include' '-std=gnu11' '-Wmissing-prototypes' '-Wstrict-prototypes' '-Wimplicit-function-declaration' '-Wredundant-decls' '-v' '-MMD' '-MP' '-MF' 'Source/main.d' '-MT' 'Source/main.o' '-c' '-o' 'Source/main.o'
 c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/bin/../lib/gcc/arm-none-eabi/4.9.3/cc1.exe -quiet -v -I C:\ARM-GNU-Toolchain\libopencm3\include -I C:/Users/Lenny/Documents/Eclipse/maple-mini/Template/Include -imultilib armv7-m -iprefix c:\arm-gnu-toolchain\gcc-arm-none-eabi-4_9-2015q2-20150609-win32\bin\../lib/gcc/arm-none-eabi/4.9.3/ -isysroot c:\arm-gnu-toolchain\gcc-arm-none-eabi-4_9-2015q2-20150609-win32\bin\../arm-none-eabi -MMD Source/main.d -MF Source/main.d -MP -MT Source/main.o -dD -D__USES_INITFINI__ -D STM32F1 ../Source/main.c -quiet -dumpbase main.c -mcpu=cortex-m3 -mthumb -mlittle-endian -mfix-cortex-m3-ldrd -mfloat-abi=soft -auxbase-strip Source/main.o -g3 -ggdb -Og -Wpedantic -Wall -Wextra -Wmissing-declarations -Wshadow -Wmissing-prototypes -Wstrict-prototypes -Wimplicit-function-declaration -Wredundant-decls -std=gnu11 -version -fmessage-length=0 -ffunction-sections -fdata-sections -o C:\Users\Lenny\AppData\Local\Temp\ccd3YTdy.s
GNU C (GNU Tools for ARM Embedded Processors) version 4.9.3 20150529 (release) [ARM/embedded-4_9-branch revision 224288] (arm-none-eabi)
    compiled by GNU C version 4.7.4, GMP version 4.3.2, MPFR version 2.4.2, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring duplicate directory "c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/lib/gcc/../../lib/gcc/arm-none-eabi/4.9.3/include"
ignoring nonexistent directory "c:\arm-gnu-toolchain\gcc-arm-none-eabi-4_9-2015q2-20150609-win32\bin\../arm-none-eabi/home/build/work/GCC-4-9-build/install-mingw/lib/gcc/arm-none-eabi/4.9.3/../../../../include"
ignoring duplicate directory "c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/lib/gcc/../../lib/gcc/arm-none-eabi/4.9.3/include-fixed"
ignoring duplicate directory "c:/arm-gnu-toolchain/gcc-arm-none-eabi-4_9-2015q2-20150609-win32/lib/gcc/../../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/include"
ignoring nonexistent directory "c:\arm-gnu-toolchain\gcc-arm-none-eabi-4_9-2015q2-20150609-win32\bin\../arm-none-eabi/usr/include"
#include "..." search starts here:
#include <...> search starts here:
 C:\ARM-GNU-Toolchain\libopencm3\include
 C:/Users/Lenny/Documents/Eclipse/maple-mini/Template/Include
 c:\arm-gnu-toolchain\gcc-arm-none-eabi-4_9-2015q2-20150609-win32\bin\../lib/gcc/arm-none-eabi/4.9.3/include
 c:\arm-gnu-toolchain\gcc-arm-none-eabi-4_9-2015q2-20150609-win32\bin\../lib/gcc/arm-none-eabi/4.9.3/include-fixed
 c:\arm-gnu-toolchain\gcc-arm-none-eabi-4_9-2015q2-20150609-win32\bin\../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/include
End of search list.
GNU C (GNU Tools for ARM Embedded Processors) version 4.9.3 20150529 (release) [ARM/embedded-4_9-branch revision 224288] (arm-none-eabi)
    compiled by GNU C version 4.7.4, GMP version 4.3.2, MPFR version 2.4.2, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 9d74dec9c13b63cc54577fa808c91d66
../Source/main.c: In function 'gpio_setup':
../Source/main.c:38:2: warning: implicit declaration of function 'gpio_mode_setup' [-Wimplicit-function-declaration]
  gpio_mode_setup(PORT_LED, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, PIN_LED);
  ^
../Source/main.c:38:28: error: 'GPIO_MODE_OUTPUT' undeclared (first use in this function)
  gpio_mode_setup(PORT_LED, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, PIN_LED);
                            ^
../Source/main.c:38:28: note: each undeclared identifier is reported only once for each function it appears in
../Source/main.c:38:46: error: 'GPIO_PUPD_NONE' undeclared (first use in this function)
  gpio_mode_setup(PORT_LED, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, PIN_LED);
                                              ^
make: *** [Source/main.o] Fehler 1

19:43:57 Build Finished (took 567ms)

我很确定这是一个愚蠢的错误,但我自己找不到它,希望你能给我一个提示。

非常感谢。

4

1 回答 1

0

上述架构的 libopencm3 库接口是不同的。

对于 f1,函数是 gpio_set_mode 而不是 gpio_mode_setup。定义也略有不同。

于 2015-08-11T04:06:07.257 回答