OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4777|回复: 3

点亮led小灯时遇到的警告和错误

[复制链接]

3

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2022-6-6
在线时间
11 小时
发表于 2022-6-6 02:19:02 | 显示全部楼层 |阅读模式
1金钱
在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


(板子是STM32F411RET6,启动文件用的startup_stm32f411retx.s)


想请问一下各位大佬如何解决,怎样才通过编译?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

592

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1458
金钱
1458
注册时间
2019-7-28
在线时间
137 小时
发表于 2022-6-6 10:45:39 | 显示全部楼层
回复

使用道具 举报

3

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2022-6-6
在线时间
11 小时
 楼主| 发表于 2022-6-7 11:40:26 | 显示全部楼层
lpwithv 发表于 2022-6-6 10:45
换ac5版本编译器

谢谢!
换ac5版本编译器后可以正常取反了,但是添加启动文件后依然会报错,ac5下变成了0警告50个错误。怀疑是我的启动文件有问题,我的启动文件是拷贝过来的,在官网上没有找到可靠文件源。现在还是没能通过编译......
回复

使用道具 举报

3

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2022-6-6
在线时间
11 小时
 楼主| 发表于 2022-6-15 22:37:34 | 显示全部楼层
lpwithv 发表于 2022-6-6 10:45
换ac5版本编译器

试了很多启动文件添加过来都不可以,最后是无意间在Manage Run - Time Environment界面的Device下Startup那里直接勾选,项目直接生成了启动文件,然后才通过的编译(●'&#9697;'●)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-25 15:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表