OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2635|回复: 4

在SDRAM中长时间存储数据时,数据混乱

[复制链接]

3

主题

7

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2019-6-10
在线时间
8 小时
发表于 2019-6-10 10:33:21 | 显示全部楼层 |阅读模式
1金钱
CPU:STM32F439
系统:uCOS
应用描述:
1.本工程目前存在以下几个任务:
A任务:AD采样任务,每20ms采样一次(AD有12个通道,都采集完成),累积并平均1s(即50次)的数据,然后发送到B任务。
B任务:从A任务接收数据,根据数据缓冲数组的长度buf_size(该值可设置,1k或者其他)进行缓冲数据,并进行数据转换字符操作,本任务中有2个缓冲buf,buf1和buf2(定义在sdram中),长度相同,在实时操作中切换使用,例如:buf1用于实时接收A任务数据,buf2用于在积攒满buf_size之后向C任务发送数据首地址。当buf1积攒满之后,将buf1地址发送给C任务,启用buf2进行接收数据,循环往复切换。
C任务:当B任务积攒满buf_size个数据之后,接收数据首地址,向SD卡中写入该组数据。

2.问题描述:
问题1:当其他任务设置不变,若B任务中的buf_size设置为较小的值,例如1k,写入SD卡中的数据正确。若将B任务中buf_size设置为10k或者更大的值之后,写入SD卡的数据错误,通过IAR观察buf(即SDRAM中的数据)发现其数据确实错了。
问题2:当其他任务设置不变,将A任务中的累积平均时间改小例如5次,即100ms平均并发送一次,B任务中的buf_size可设置为20k甚至更大均可以正常工作,即C任务中写入SD卡的数据不存在混乱现象。

3.问题总结:
以上两个问题现象总结感觉像是在SDRAM中存放的数据时间过长时数据即发生了变化。但是SDRAM已经经过读写测试不存在问题。

最佳答案

查看完整内容[请看2#楼]

谢谢回复。 问题已经解决,在SDRAM初始化时候调用的设置刷新率的hal库函数错了,修改后正常工作。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

7

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2019-6-10
在线时间
8 小时
 楼主| 发表于 2019-6-10 10:33:22 | 显示全部楼层
正点原子 发表于 2019-6-11 02:00
不应该是SDRAM自己发生错误,考虑是任务写数据,或者中断写数据进去的时候,出问题,越界或者溢出了。

谢谢回复。
问题已经解决,在SDRAM初始化时候调用的设置刷新率的hal库函数错了,修改后正常工作。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-6-11 02:00:39 | 显示全部楼层
不应该是SDRAM自己发生错误,考虑是任务写数据,或者中断写数据进去的时候,出问题,越界或者溢出了。
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2019-7-29
在线时间
6 小时
发表于 2019-8-27 16:44:23 | 显示全部楼层
不知道怎么把数据存到外部ram里,求程序
回复

使用道具 举报

3

主题

7

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2019-6-10
在线时间
8 小时
 楼主| 发表于 2019-12-4 11:14:11 | 显示全部楼层
侯林明 发表于 2019-8-27 16:44
不知道怎么把数据存到外部ram里,求程序

注:在IAR变成下如下操纵

1.在ICF文件中确定SDRAM的地址:
define symbol __region_SDRAM_RAM_start__      = 0xC0000000;
define symbol __region_SDRAM_RAM_end__        = 0xCFFFFFFF;

2.在你想要放入SDRAM的数组之前加入 “   #pragma location="SDRAM"   ”
例如我想要将ltdc_lcd_framebuf[1024][768]这个数组放入到SDRAM中,则如下操作:

#pragma location="SDRAM"
__no_init uint16_t ltdc_lcd_framebuf[1024][768];
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-22 10:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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