找回密码
 立即注册
查看: 158|回复: 12

tft使用xdata申请了array[49960]的大小的数组 数据显示不正确

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2025-04-18 11:34:15

4

主题

5

回帖

83

积分

注册会员

积分
83
发表于 2025-4-12 09:27:55 | 显示全部楼层 |阅读模式

0240c4c97db58564a254fdf7b67ffb6a.jpg

使用xdata声明了[40960]大小的数据 就显示不正确,如果将数组换到code区不使用dma的情况下数据正常,使用dma就乱码。upload 附件:lcm_dam (3).zip

回复

使用道具 举报 送花

3

主题

1160

回帖

1031

积分

等待验证会员

积分
1031
发表于 2025-4-12 09:28:00 | 显示全部楼层
针对您提到的TFT显示数据不正确的问题,结合您提供的信息,以下是一些可能的原因及解决方案:

1. XData区与DMA的兼容性问题
问题分析:您提到使用xdata声明数组时,数据显示不正确,而将数组换到code区后数据正常。这表明问题可能与xdata区的访问方式或DMA传输过程中的数据完整性有关。
解决方案:
检查DMA配置:确保DMA的源地址、目标地址、传输长度等参数配置正确。特别是源地址应指向xdata区的正确位置。
数据对齐:某些DMA控制器对数据对齐有严格要求。确保xdata区的数组地址和长度符合DMA的要求。
DMA传输模式:检查DMA的传输模式(如单次传输、循环传输等)是否适合您的应用场景。

2. XData区的访问速度
问题分析:xdata区的访问速度通常比code区慢,如果DMA传输速率过高,可能导致数据读取不及时,从而显示不正确。
解决方案:
降低DMA速率:尝试降低DMA的传输速率,确保xdata区的数据能够及时被读取。
优化内存访问:如果可能,优化xdata区的访问方式,例如使用缓存或预取技术。

3. 数据缓冲区溢出或覆盖
问题分析:DMA传输过程中,如果数据缓冲区被意外覆盖或溢出,可能导致数据显示不正确。
解决方案:
检查缓冲区大小:确保xdata区的数组大小足够容纳DMA传输的数据。
同步机制:在DMA传输完成后,确保数据被正确读取和处理,避免数据被覆盖。

4. 硬件或驱动问题
问题分析:硬件故障或驱动程序的bug也可能导致数据显示不正确。
解决方案:
更新驱动程序:确保使用的驱动程序是最新版本,修复已知的bug。
硬件检查:检查TFT显示屏和连接线路,确保硬件工作正常。

5. 调试与验证
问题分析:通过调试工具可以更直观地发现问题所在。
解决方案:
使用调试工具:通过调试工具(如逻辑分析仪、示波器等)监控DMA传输过程,检查数据传输的完整性和正确性。
逐步验证:将问题分解为多个小步骤,逐步验证每个步骤的正确性,缩小问题范围。

6. 代码优化
问题分析:代码中的某些优化可能导致数据读取或传输出现问题。
解决方案:
代码审查:仔细审查代码,特别是与xdata区和DMA相关的部分,确保没有逻辑错误。
简化代码:尝试简化代码,去除不必要的优化,逐步排查问题。

7. 附件分析
问题分析:您提供的附件lcmdam (3).zip可能包含更多细节信息。
解决方案:
详细分析附件:通过分析附件中的代码和配置文件,进一步定位问题。

综上所述,建议您从DMA配置、xdata区访问速度、数据缓冲区、硬件驱动、调试工具和代码优化等多个方面进行排查和验证,逐步定位并解决问题。如果问题依然存在,建议提供更多详细信息或代码片段,以便进一步分析。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

717

主题

1万

回帖

1万

积分

管理员

积分
15617
发表于 2025-4-12 10:15:56 | 显示全部楼层
xdata, 具体哪个芯片,多大的容量 ?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2025-4-12 11:11:53 | 显示全部楼层
标题49960与正文40960不一致
按40960计算,是40K
最大容量的AI8051U是34K内存
是不是无外挂SRAM芯片
xdata超出范围了
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2025-04-18 11:34:15

4

主题

5

回帖

83

积分

注册会员

积分
83
发表于 2025-4-15 10:34:37 | 显示全部楼层
我改成小图标以后,传输完成会多几个像素点是乍回事啊

lcm_dam (3).zip

556.11 KB, 下载次数: 2

点评

看下是不是内存对齐问题 https://www.stcaimcu.com/forum.php?mod=viewthread&tid=16306  详情 回复 发表于 2025-4-15 10:38
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:162
  • 最近打卡:2025-05-01 06:56:44
已绑定手机

56

主题

1319

回帖

2940

积分

荣誉版主

无情的代码机器

积分
2940
发表于 2025-4-15 10:38:00 | 显示全部楼层
会飞*** 发表于 2025-4-15 10:34
我改成小图标以后,传输完成会多几个像素点是乍回事啊

看下是不是内存对齐问题
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=16306
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2025-04-18 11:34:15

4

主题

5

回帖

83

积分

注册会员

积分
83
发表于 2025-4-15 10:44:55 | 显示全部楼层
Debu*** 发表于 2025-4-12 11:11
标题49960与正文40960不一致
按40960计算,是40K
最大容量的AI8051U是34K内存

确实是超了,换小图标就能显示120*120  
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2025-04-18 11:34:15

4

主题

5

回帖

83

积分

注册会员

积分
83
发表于 2025-4-15 13:09:35 | 显示全部楼层
erci*** 发表于 2025-4-15 10:38
看下是不是内存对齐问题
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=16306

没有用,还是会有数据覆盖
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2025-04-18 11:34:15

4

主题

5

回帖

83

积分

注册会员

积分
83
发表于 2025-4-15 13:15:48 | 显示全部楼层
开始的数据应该是16个 蓝色的像素点的,后来就变成了其他数据,结尾的数据是黄的16像素没有问题
截图202504151314191895.jpg

lcm_dam .zip

563.46 KB, 下载次数: 2

点评

看着像发的数据超过了一屏数据量,黄色的覆盖到起始位置去了。发一半试试  详情 回复 发表于 2025-4-15 13:42
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:162
  • 最近打卡:2025-05-01 06:56:44
已绑定手机

56

主题

1319

回帖

2940

积分

荣誉版主

无情的代码机器

积分
2940
发表于 2025-4-15 13:42:22 来自手机 | 显示全部楼层
会飞的鱼苗 发表于 2025-4-15 13:15
开始的数据应该是16个 蓝色的像素点的,后来就变成了其他数据,结尾的数据是黄的16像素没有问题 ...

看着像发的数据超过了一屏数据量,黄色的覆盖到起始位置去了。发一半试试
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 08:53 , Processed in 0.181438 second(s), 119 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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