嵌入式技术论坛
直播中

万航渡路

8年用户 1286经验值
擅长:电源/新能源
私信 关注
[问答]

rtt系统堆栈大小影响了定时器PWM的输出如何解决呢

环境:
软件 RTT-nano系统
硬件 F429ZGT6

配置1 :
rtt系统堆栈配置及地址 MAP文件信息如下
1.jpg

Bsp_motorcontrol.c 模块是使用DMA 与 定时器同步 驱动步进电机加减速的驱动模块
MAP文件相关信息如下
1.jpg

这个时候步进电机加减速(定时器同步 + DMA传输加减速表) 可以正常使用

配置2 :
rtt系统堆栈配置及地址 MAP文件信息如下
1.jpg

Bsp_motorcontrol.c 模块是使用DMA 与 定时器同步 驱动步进电机加减速的驱动模块
MAP文件相关信息如下
1.jpg

这个时候步进电机加减速(定时器同步 + DMA传输加减速表) 无法正常使用,无PWM输出。

这两个钟配置的区别是:
配置1定义的系统堆栈大小是128K 在0x20000000-0x20020000 , 步进电机驱动模块的内部变量定义在0x20020000 - 0x00003840空间

配置2定义的系统堆栈大小是192K 刚好占据满 0x20000000-0x20030000 这个地址空间,而这个是时候,步进电机驱动模块性格变量被定义在 0x10000844 - 0x1000252c 的地址空间。

但是配置1可以正常调用步进电机驱动 配置2无法正常调用步进电机驱动。

MDK仿真及上机调试发现 在配置1的情况下 定时器PWM无输出 ,工作不正常。

回帖(1)

王涛

2022-8-23 14:34:10
部分 RAM DMA 无法正常使用。查查手册吧
举报

更多回帖

发帖
×
20
完善资料,
赚取积分