[DSP] TI的DSP编译器有bug

[复制链接]
166|2
 楼主 | 2019-8-8 17:11 | 显示全部楼层 ||阅读模式
本帖最后由 snikeguo 于 2019-8-13 15:38 编辑

同样一段代码 带赋值(非0)的全局静态变量,GCC编译的是.data段,是正确的,Ti自带的编译器编译到BSS段,然后我导出符号,在代码里清BSS段的时候,直接把这段清掉了。
代码:
最后的结果就是 ,TI的编译有BUG ,基于最新的19版本的编译器。16版本的编译器也有BUG

1.定义数组并赋值(非0)

1.定义数组并赋值(非0)

ARM GCC/GCCx86下的编译好的MAP文件

ARM GCC/GCCx86下的编译好的MAP文件

TI编译器编译好的MAP文件

TI编译器编译好的MAP文件

导出BSS段

导出BSS段

清BSS段

清BSS段

使用特权

评论回复
 楼主 | 2019-8-8 17:16 | 显示全部楼层
## 编译器BUG如下:
### 1.将带赋值(非0)的全局变量编译成了BSS段,应该是DATA段
### 2.字节对齐问题
### 3.BUG引发条件:调用一个函数A,A函数在其他C文件中。如果你不include 头文件,除了编译警告外,你调用A的时候,给A传进去参数的时候,是不对的。除非你include后就对了。

使用特权

评论回复
 楼主 | 2019-8-9 15:09 | 显示全部楼层
对了,芯片是tms320f28系列。c2000单片机

使用特权

评论回复
扫描二维码,随时随地手机跟帖
*滑动验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表