开发ad7606的例程遇到了问题,希望得到大家的指点 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11433|回复: 13
打印 上一主题 下一主题

开发ad7606的例程遇到了问题,希望得到大家的指点

[复制链接]

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
楼主
发表于 2015-5-27 13:31:43 | 显示全部楼层
是UPP的管脚和LCD的管脚复用配置有冲突,把upp的XDATA管脚配置去掉就好了
回复 支持 1 反对 0

使用道具 举报

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
沙发
发表于 2015-5-27 16:18:51 | 显示全部楼层
float类型的数据占用4个字节的存储空间,upp接收的数据会在内存中连续放置。例如你定义的是float类型的数组,upp会往这个数组的起始地址连续存放数据,也就是说按16bit的数据来看的话,是两个16bit的数据存储到了一个float数据的空间里了。
回复 支持 反对

使用道具 举报

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
板凳
发表于 2015-5-28 21:37:47 | 显示全部楼层
如果是在sysbios下使用upp的话是需要维护缓存一致性的,sysbios默认是使能缓存的,在upp接收数据后,需要对接收的buffer失效其缓存,才能保证得到的是最新的数据

点评

#include 以数组upp_buffer_a1[]为例,失效其缓存调用下面函数 Cache_inv(upp_buffer_a1, sizeof(upp_buffer_a1), Cache_Type_ALLD, TRUE);  详情 回复 发表于 2015-5-29 23:16
回复 支持 反对

使用道具 举报

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
地板
发表于 2015-5-29 23:16:35 | 显示全部楼层
Lewis 发表于 2015-5-28 21:37- s; |2 ?2 C6 q; W2 Q6 E  a
如果是在sysbios下使用upp的话是需要维护缓存一致性的,sysbios默认是使能缓存的,在upp接收数据后,需要对 ...

6 q" a* J" p5 W7 W8 d! M#include <ti/sysbios/family/c64p/Cache.h>' Z- k8 \: f+ \% p+ ~- n3 n/ h

  A2 v/ }9 u; E9 q: W  a, H6 M& N$ F以数组upp_buffer_a1[]为例,失效其缓存调用下面函数
7 C- V6 E) p' `3 M1 S$ s" hCache_inv(upp_buffer_a1, sizeof(upp_buffer_a1), Cache_Type_ALLD, TRUE);
回复 支持 反对

使用道具 举报

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
5#
发表于 2015-6-7 20:01:47 | 显示全部楼层
叶子wy 发表于 2015-6-3 08:40
2 X5 ]3 o0 Y6 U那我应该在程序什么地方调用Cache_inv(upp_buffer_a1, sizeof(upp_buffer_a1), Cache_Type_ALLD, TRUE); ...

8 z: o* a9 d) f$ u( n' e6 }upp开始接收或者完成数据接收后调用都可以,主要是upp数据是通过DMA直接搬到DDR内存里,而如果缓存里存有之前这个buffer的数据时,会导致数据不一致,所以要失效一下这个buffer的缓存
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-6-2 12:24 , Processed in 0.044232 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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