Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
ddurant
Level 1
Level 1
5 questions asked First reply posted First question asked

I use DMA to capture the data from ADC, but the data captured with DMA in release mode and debug mode are different. 

The config of DMA is as follow:

DMA_CONFIG.png

0 Likes
1 Solution
Ida_Wang
Moderator
Moderator
Moderator
100 replies posted 25 solutions authored 10 likes received

如果仅仅是release mode下出现问题的话,我可能首先考虑是不是优化引起的,这两种模式下编译器的优化级别是不一样的,您可以把release的优化级别改成和debug mode一致,看下是否还有这个问题:

1. 使用BSP Assistant确认使用的recipe-make-cat1a的版本(可能mtb_shared下会有多个版本)

Ida_Wang_0-1706758041153.png

2.  修改release mode的优化等级,在GCC_ARM.mk文件中修改下图红框中的优化等级,将“-Os”改为“-Og”

Ida_Wang_1-1706758225548.png

你可以以上方法修改release mode的优化等级,然后看下这个问题是否还存在。

View solution in original post

0 Likes
5 Replies
Ida_Wang
Moderator
Moderator
Moderator
100 replies posted 25 solutions authored 10 likes received

您好,

请问这两种mode哪一种mode下抓取的数据是对的?还是均不正确?

您使用的是哪个型号的芯片?

0 Likes

cy8c6347芯片。debug模式下抓取的是正确的,release模式下数据很混乱,一次多一次少。

0 Likes
Ida_Wang
Moderator
Moderator
Moderator
100 replies posted 25 solutions authored 10 likes received

如果仅仅是release mode下出现问题的话,我可能首先考虑是不是优化引起的,这两种模式下编译器的优化级别是不一样的,您可以把release的优化级别改成和debug mode一致,看下是否还有这个问题:

1. 使用BSP Assistant确认使用的recipe-make-cat1a的版本(可能mtb_shared下会有多个版本)

Ida_Wang_0-1706758041153.png

2.  修改release mode的优化等级,在GCC_ARM.mk文件中修改下图红框中的优化等级,将“-Os”改为“-Og”

Ida_Wang_1-1706758225548.png

你可以以上方法修改release mode的优化等级,然后看下这个问题是否还存在。

0 Likes
Vison_Zhang
Moderator
Moderator
Moderator
First comment on KBA 750 replies posted 250 sign-ins

你能说清楚你的 DMA 从ADC 结果寄存器像SRAM 传输数据, DMA 的传输触发源是什么吗? DMA 本身是不会出错的,DMA 的配置信息与  debug 还是 release 模式也没有关系,比较可能出问题的地方是 DMA 的触发源在两种编译模式下到底存在什么样的差别。

0 Likes
Ida_Wang
Moderator
Moderator
Moderator
100 replies posted 25 solutions authored 10 likes received

您好,

请问您的问题是否已经解决,如果您未再回复这个问题将被关闭。如果有新的疑问或问题,欢迎您新建问题继续讨论

Ida

0 Likes