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

用cy8c6347芯片,利用中断进行脉冲数的计算,但是在release和debug模式下发射的脉冲数却不同。

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

您好,看您在community上发了几个相关的问题,应该是在切换到release mode后一些功能异常了,请您尝试以下步骤查看:

1. 尝试修改release mode的优化等级,看是否相关问题还会出现

https://community.infineon.com/t5/PSoC-6/The-data-captured-with-DMA-in-release-mode-and-debug-mode-a...

2. 查看您的代码中一些依赖硬件寄存器的值前面是否加volatile, 如果没有,那么可能需要添加volatile。否则优化开启时,这些地方可能会被优化,导致错误行为

3. 请确保所有变量已被正确初始化。在debug模式下,编译器可能会自动初始化一些变量,但在release模式下,可能这个步骤会被省略

4. 如果以上均不会解决问题,可以尝试适当调大堆栈的大小,关于如何调整堆栈大小,请查看以下链接

https://community.infineon.com/t5/PSoC-6/CY8C6247BZID44%E5%A6%82%E4%BD%95%E6%9F%A5%E7%9C%8B%E7%BC%96...

 

View solution in original post

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

您好,看您在community上发了几个相关的问题,应该是在切换到release mode后一些功能异常了,请您尝试以下步骤查看:

1. 尝试修改release mode的优化等级,看是否相关问题还会出现

https://community.infineon.com/t5/PSoC-6/The-data-captured-with-DMA-in-release-mode-and-debug-mode-a...

2. 查看您的代码中一些依赖硬件寄存器的值前面是否加volatile, 如果没有,那么可能需要添加volatile。否则优化开启时,这些地方可能会被优化,导致错误行为

3. 请确保所有变量已被正确初始化。在debug模式下,编译器可能会自动初始化一些变量,但在release模式下,可能这个步骤会被省略

4. 如果以上均不会解决问题,可以尝试适当调大堆栈的大小,关于如何调整堆栈大小,请查看以下链接

https://community.infineon.com/t5/PSoC-6/CY8C6247BZID44%E5%A6%82%E4%BD%95%E6%9F%A5%E7%9C%8B%E7%BC%96...

 

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

建议你把你的问题描述的清楚些,比如别人看的你的描述可以清楚的知道你的代码操作如何,中断如何产生,中断和脉冲数量之间逻辑关系是什么等等。

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

您好,

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

Ida

0 Likes