在B站看正点原子的《新手入门 stm32从0到1 从浅至深知识讲解》1.1节,参照示例程序,出现了以下问题:
1:在进行取反操作的时候,抛出了警告,需要unsigned强制类型转换才能消除警告。
*** Using Compiler 'V6.16', folder: 'C:\Keil_v5\ARM\ARMCLANG\Bin'
main.c(10): warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
GPIOC_MODER &= ~(3<<(2*9)); //reset clear
~~ ^~~~~~~~~~~
main.c(13): warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
GPIOC_ODR &= ~(1<<9);
~~ ^~~~~~~
2 warnings generated.
compiling main.c...
"main.c" - 0 Error(s), 2 Warning(s).
2:在未添加启动文件build时,抛出一个错误和一个警告,但和视频中的还有些不一样。
Build started: Project: LED0_bright
*** Using Compiler 'V6.16', folder: 'C:\Keil_v5\ARM\ARMCLANG\Bin'
Build target 'Target 1'
linking...
.\Objects\LED0_bright.axf: Error: L6320W: Ignoring --entry command. Cannot find argument 'Reset_Handler'.
.\Objects\LED0_bright.axf: Warning: L6320W: Ignoring --first command. Cannot find argument '__Vectors'.
Not enough information to list image symbols.
Not enough information to list load addresses in the image map.
Finished: 2 information, 1 warning and 1 error messages.
".\Objects\LED0_bright.axf" - 1 Error(s), 1 Warning(s).
Target not created.
Build Time Elapsed: 00:00:00
3:在添加启动文件之后,依旧未能通过编译,反而变成了8个错误。
Build started: Project: LED0_bright
*** Using Compiler 'V6.16', folder: 'C:\Keil_v5\ARM\ARMCLANG\Bin'
Build target 'Target 1'
linking...
.\Objects\LED0_bright.axf: Warning: L6320W: Ignoring --first command. Cannot find argument '__Vectors'.
.\Objects\LED0_bright.axf: Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f411retx.o).
.\Objects\LED0_bright.axf: Error: L6218E: Undefined symbol __libc_init_array (referred from startup_stm32f411retx.o).
.\Objects\LED0_bright.axf: Error: L6218E: Undefined symbol _ebss (referred from startup_stm32f411retx.o).
.\Objects\LED0_bright.axf: Error: L6218E: Undefined symbol _edata (referred from startup_stm32f411retx.o).
.\Objects\LED0_bright.axf: Error: L6218E: Undefined symbol _estack (referred from startup_stm32f411retx.o).
.\Objects\LED0_bright.axf: Error: L6218E: Undefined symbol _sbss (referred from startup_stm32f411retx.o).
.\Objects\LED0_bright.axf: Error: L6218E: Undefined symbol _sdata (referred from startup_stm32f411retx.o).
.\Objects\LED0_bright.axf: Error: L6218E: Undefined symbol _sidata (referred from startup_stm32f411retx.o).
Not enough information to list image symbols.
Not enough information to list load addresses in the image map.
Finished: 2 information, 1 warning and 8 error messages.
".\Objects\LED0_bright.axf" - 8 Error(s), 1 Warning(s).
Target not created.
Build Time Elapsed: 00:00:00