查看: 5347|回复: 8

[MQX] 如何用MQX存储读取外扩RAM的数据?

[复制链接]

该用户从未签到

30

主题

63

帖子

0

新手上路

Rank: 1

积分
178
最后登录
1970-1-1
发表于 2011-3-16 17:50:37 | 显示全部楼层 |阅读模式
mcf52259 外扩了一片静态RAM。跑mqx
请问:用在mqx下如何存储和读取ram的数据,调用哪些函数?
 
谢谢!
我知道答案 目前已有7人回答
回复

使用道具 举报

该用户从未签到

2

主题

224

帖子

0

版主

Rank: 7Rank: 7Rank: 7

积分
322
最后登录
1970-1-1
发表于 2011-3-17 09:01:08 | 显示全部楼层

RE:如何用MQX存储读取外扩RAM的数据?

外扩SRAM:
1. 初始化,需要在bsp_init.c中添加mini-flexbus的初始化程序,具体可参考m52259_evb的bsp中对MRAM的初始化。(注意MRAM掉电可保存数据,因此demo中是用于存放code,跟你外扩的SRAM不同)
2. MQX中的使用:调用memory pool的初始化函数,向MQX内核注册外扩SRAM内存空间,_lwmem_create_pool()或者_mem_create_pool(),以后分配内存的时候就可以指定memory pool id。(具体函数请自行查一下api手册,或者看一下相关代码)
3. 要是想直接用作kernel memory,可直接修改MQX_init_struct中的初始化值。(由于mqx是将此部分kernel memory用作堆栈,这么做会降低执行效率,所以不推荐)

该用户从未签到

30

主题

63

帖子

0

新手上路

Rank: 1

积分
178
最后登录
1970-1-1
 楼主| 发表于 2011-3-17 11:26:00 | 显示全部楼层

回复:如何用MQX存储读取外扩RAM的数据?

谢谢 居版主的指点。
您说的第一步我已经做了,但之后如何存数 如何读取就一无所知了。
我先按您的方法试一下,如遇到新的问题望请继续给以支持。
 
谢谢!

该用户从未签到

30

主题

63

帖子

0

新手上路

Rank: 1

积分
178
最后登录
1970-1-1
 楼主| 发表于 2011-3-17 11:43:10 | 显示全部楼层

回复:如何用MQX存储读取外扩RAM的数据?

初始化函数 我应该调用下面哪一个为好?
_mem_create_pool();
_mem_extend_pool();
手册中提到default memory pool,这个
 default memory pool指的是那一块默认的内存区域?
 
请居工帮助!
谢谢!

该用户从未签到

30

主题

63

帖子

0

新手上路

Rank: 1

积分
178
最后登录
1970-1-1
 楼主| 发表于 2011-3-17 22:36:42 | 显示全部楼层

回复:如何用MQX存储读取外扩RAM的数据?

创建了memory pool 以后,用什么办法来往里写数据和读出数据呢?
请版主指教。
谢谢!

该用户从未签到

2

主题

224

帖子

0

版主

Rank: 7Rank: 7Rank: 7

积分
322
最后登录
1970-1-1
发表于 2011-3-18 17:01:35 | 显示全部楼层

RE:如何用MQX存储读取外扩RAM的数据?

首先,先弄清楚你自己到底想把这块外部SRAM用作什么?
1. 全局变量?
2. 由MQX管理的堆?也就是Memory Pool?
如果是1,则需在项目的.lcf文件中添加相应的section,并且在定义变量的时候需要用#pragma定义到该段中,注意在SRAM初始化之前你的程序不可以用到这些变量;
如果是2,先检查一下“MQX_USE_LWMEM”这个宏的值,MCF52259的psp项目中默认使能。在调用_lwmem_create_pool()之后得到memory pool id,需要在这个memory空间申请内存块时可调用_lwmem_alloc_from(),释放用_lwmem_free()。
用过malloc()/free()吧?这里的使用方法一样。
如果是1+2,则上述内容都需要。
其他api,请仔细看用户手册和代码吧。

该用户从未签到

30

主题

63

帖子

0

新手上路

Rank: 1

积分
178
最后登录
1970-1-1
 楼主| 发表于 2011-3-21 16:02:29 | 显示全部楼层

回复:如何用MQX存储读取外扩RAM的数据?

#pragma 在哪里用?是在*.lcf 中吗?

该用户从未签到

2

主题

224

帖子

0

版主

Rank: 7Rank: 7Rank: 7

积分
322
最后登录
1970-1-1
发表于 2011-3-21 21:19:05 | 显示全部楼层

RE:如何用MQX存储读取外扩RAM的数据?

在Codewarrior下按F1,自己看看手册吧。

该用户从未签到

30

主题

63

帖子

0

新手上路

Rank: 1

积分
178
最后登录
1970-1-1
 楼主| 发表于 2011-3-22 10:17:23 | 显示全部楼层

回复:如何用MQX存储读取外扩RAM的数据?

谢谢 帮助                                                                
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-21 06:33 , Processed in 0.102916 second(s), 29 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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