打印
[DSP]

TI的DSP编译器有bug

[复制链接]
735|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 snikeguo 于 2019-8-13 15:38 编辑

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

1.jpg (193.7 KB )

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

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

2.png (126.74 KB )

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

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

3.png (19.18 KB )

TI编译器编译好的MAP文件

TI编译器编译好的MAP文件

4.png (17.27 KB )

导出BSS段

导出BSS段

5.png (23.24 KB )

清BSS段

清BSS段

使用特权

评论回复

相关帖子

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

使用特权

评论回复
板凳
snikeguo|  楼主 | 2019-8-9 15:09 | 只看该作者
对了,芯片是tms320f28系列。c2000单片机

使用特权

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

本版积分规则

10

主题

44

帖子

0

粉丝