[学习笔记]

MDK GCC工程遇到的问题

[复制链接]
561|5
手机看帖
扫描二维码
随时随地手机跟帖
pq113_6|  楼主 | 2019-10-15 08:23 | 显示全部楼层 |阅读模式
GCC, MDK, CAN, ic, AN
本帖最后由 pq113_6 于 2019-10-18 13:02 编辑

1.      编译出现大量警告warning: ‘xxxx’ defined but not use [-Wunused-variable]
原因是库文件中有很多变量定义了但是没有被使用
解决方案:
在CC子项中Misc Controls添加
-Wall -Wno-unused
2.      警告warning: missing braces around initializer
原因是库文件中有很多初始化结构或者数组只是一个简单的{0},导致警告。
解决方案:
将初始化部分进行修改,比如
static CAN_Device s_canDevice[CAN_NUM] =
{
           0
};  
改为
static CAN_Device s_canDevice[CAN_NUM] =
{
           {0}
};  

1.      ld文件配置问题
_estack错误,只定义到了8KB,应该对准RAM的结尾。
_estack = 0x20008000;    /* end of 32K RAM */
FLASHRAM的大小要改成对应板子上的:
FLASH (rx)      : ORIGIN = 0x08000000, LENGTH = 128K
RAM (xrw)       : ORIGIN = 0x20000000, LENGTH = 32K

使用特权

评论回复

相关帖子

TechHolder| | 2019-10-15 08:41 | 显示全部楼层
关于第2条的原因能解释一下吗?请教一下。

使用特权

评论回复
pq113_6|  楼主 | 2019-10-15 08:54 | 显示全部楼层
TechHolder 发表于 2019-10-15 08:41
关于第2条的原因能解释一下吗?请教一下。

因为用的是结构,需要用{0}来初始化结构,反正这样写就没有编译警告了,目前这2个项目改了后就没有编译警告,官方例程应该也有这堆警告,个人不喜欢程序有任何警告。

使用特权

评论回复
TechHolder| | 2019-10-15 09:30 | 显示全部楼层
pq113_6 发表于 2019-10-15 08:54
因为用的是结构,需要用{0}来初始化结构,反正这样写就没有编译警告了,目前这2个项目改了后就没有编译警 ...

主要是因为这里是数组,有多路CAN。

使用特权

评论回复
pq113_6|  楼主 | 2019-10-16 11:08 | 显示全部楼层
TechHolder 发表于 2019-10-15 09:30
主要是因为这里是数组,有多路CAN。

是的,结构数组才有这样报警告,如果是简单的数据数组就不会警告,应该是gcc检查的比较严,不介意警告的可以不用理

使用特权

评论回复
TechHolder| | 2019-10-16 16:41 | 显示全部楼层
pq113_6 发表于 2019-10-16 11:08
是的,结构数组才有这样报警告,如果是简单的数据数组就不会警告,应该是gcc检查的比较严,不介意警告的 ...

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

284

帖子

2

粉丝