完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,
我正在 STM32F7 上开发一个 touchGFX 应用程序,帧缓冲区存储在外部 QSPI 闪存上。 当应用程序运行时,我需要将数据写入此外部存储器,但为了允许闪存写入,我必须退出内存映射模式。在此配置下,GUI 任务无法访问帧缓冲区,因此我试图阻止其执行。我是这样实现的: 1- 系统启动:在内存映射模式下配置的 QSPI 闪存(GUI 任务工作正常) 2- 禁用 LCD 和 DMA 中断并退出内存映射模式 3-写闪存 4- 进入内存映射模式并启用 LCD 和 DMA 中断 由于数据是从 modbus 通信接收的,我在每次接收消息时重复步骤 2-4,直到我将所有数据写入外部闪存。此解决方案有时有效,但其他 GUI 任务似乎崩溃并且屏幕不再刷新。 我的问题是:阻止 GUI 任务(或帧缓冲区访问)的正确方法是什么,以便在我完成外部闪存写入后它可以继续其正常功能? |
|
相关推荐
1个回答
|
|
我认为在禁用 DMA/LCD 中断之前暂停任务并在启用中断之后恢复任务会起作用,尽管之前没有这样做过。
它只是您外部闪光灯中的资产,还是您的 LCD 外围设备的实际帧缓冲区也在外部闪光灯上?您的帧缓冲区多久写入一次?您是否担心闪存上的写入周期过多? |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2632 浏览 1 评论
3208 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1783 浏览 1 评论
3607 浏览 6 评论
5987 浏览 21 评论
939浏览 4评论
1315浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
582浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1302浏览 3评论
1357浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 07:26 , Processed in 1.115845 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号