硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1154|回复: 7
收起左侧

[MDK] AC6编译器bug

[复制链接]

2

主题

33

回帖

39

积分

新手上路

积分
39
发表于 2022-11-4 15:09:36 | 显示全部楼层 |阅读模式
背景:在使用ADC规则组采样的时候,由于多个规则组是共用一个采样数值寄存器,所以需要使用DMA来处理,每次规则组采完一个数据DMA就将其搬运到数组当中。
在使用AC6_V6.14版本编译器时,会造成顺序错乱,这个错乱的顺序不是随机的,是每次都是固定的往后移了一位,最后一位变到第一位了,这个bug排查了非常久,AC6的各个优化等级都试过了问题依旧,代码逻辑没有任何问题,最后无意中切换回AC5编译器没有任何问题,本人不太懂汇编也没从这方面去排查编译后的区别

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106934
QQ
发表于 2022-11-4 15:24:40 | 显示全部楼层
ADC的DMA多通道模式? 按说没问题的,我们在用。

已经排除了有些结构体成员没有初始化,是随机值的问题吧
回复

使用道具 举报

2

主题

33

回帖

39

积分

新手上路

积分
39
 楼主| 发表于 2022-11-4 17:21:09 | 显示全部楼层
eric2013 发表于 2022-11-4 15:24
ADC的DMA多通道模式? 按说没问题的,我们在用。

已经排除了有些结构体成员没有初始化,是随机值的问题 ...

排除了,采出来的数据是没有问题的,就是顺序乱了一个位置
回复

使用道具 举报

2

主题

33

回帖

39

积分

新手上路

积分
39
 楼主| 发表于 2022-11-4 17:21:44 | 显示全部楼层
eric2013 发表于 2022-11-4 15:24
ADC的DMA多通道模式? 按说没问题的,我们在用。

已经排除了有些结构体成员没有初始化,是随机值的问题 ...

不是ST的芯片,国内的
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106934
QQ
发表于 2022-11-5 10:03:45 | 显示全部楼层
木偶 发表于 2022-11-4 17:21
不是ST的芯片,国内的

有没有可能是他们提供的库函数有问题,也就是说他们的库函数不能使用AC6编译。
回复

使用道具 举报

210

主题

1044

回帖

1684

积分

至尊会员

More we do, more we can do.

积分
1684
发表于 2022-11-5 15:27:35 | 显示全部楼层
听你描述是编译有关,但也得分析代码,不能就说是编译器。
回复

使用道具 举报

76

主题

685

回帖

913

积分

金牌会员

积分
913
发表于 2022-11-5 17:47:56 | 显示全部楼层
使用PC-Lint分析一下代码,多半是代码不规范。编译器不要轻易怀疑。
回复

使用道具 举报

1

主题

66

回帖

69

积分

初级会员

积分
69
发表于 2022-11-7 12:28:59 | 显示全部楼层
AC6编译器有BUG的开始是不相信的,编译器BUG我们这初级程序员估计遇不到
直到我用AC6遇到各种问题,比如,同一个工程啥也没改,偶尔编译出错死活不行,有时候编译又没问题
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-10 17:00 , Processed in 0.317410 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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