OpenEdv-开源电子网

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

外部内存SRAM的首地址问题

[复制链接]

17

主题

35

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1105
金钱
1105
注册时间
2015-10-13
在线时间
134 小时
发表于 2015-11-17 14:50:29 | 显示全部楼层 |阅读模式
5金钱
gui_memset(mem2base,0,f_exe->fsize); //清空这片内存
rval=f_read(f_exe,mem2base,f_exe->fsize,(UINT*)&br);//读出BIN的所有内容    
applenth1 = f_exe->fsize;  
......
dbuf=fsmc_sram_test_read(68000000);  
LCD_ShowxNum(50,240,dbuf,8,12,0);
/*****************************************************************************************/
//mem1内存参数设定.mem1完全处于内部SRAM里面
#define MEM1_BLOCK_SIZE 32     //内存块大小为32字节
#define MEM1_MAX_SIZE 40*1024   //最大管理内存 40K
#define MEM1_ALLOC_TABLE_SIZE MEM1_MAX_SIZE/MEM1_BLOCK_SIZE //内存表大小

//mem2内存参数设定.mem2的内存池处于外部SRAM里面,其他的处于内部SRAM里面
#define MEM2_BLOCK_SIZE 32     //内存块大小为32字节
#define MEM2_MAX_SIZE 680*1024   //最大管理内存200K
#define MEM2_ALLOC_TABLE_SIZE MEM2_MAX_SIZE/MEM2_BLOCK_SIZE //内存表大小
/*****************************************************************************************/
//内存池(4字节对齐)
__align(4) u8 mem1base[MEM1_MAX_SIZE]; //内部SRAM内存池
__align(4) u8 mem2base[MEM2_MAX_SIZE] __attribute__((at(0X68000000))); //外部SRAM内存池

//内存管理表
u16 mem1mapbase[MEM1_ALLOC_TABLE_SIZE]; //内部SRAM内存池MAP
u16 mem2mapbase[MEM2_ALLOC_TABLE_SIZE] __attribute__((at(0X68000000+MEM2_MAX_SIZE))); //外部SRAM内存池MAP
//内存管理参数   
const u32 memtblsize[2]={MEM1_ALLOC_TABLE_SIZE,MEM2_ALLOC_TABLE_SIZE}; //内存表大小
const u32 memblksize[2]={MEM1_BLOCK_SIZE,MEM2_BLOCK_SIZE}; //内存分块大小
const u32 memsize[2]={MEM1_MAX_SIZE,MEM2_MAX_SIZE}; //内存总大小

以上代码,为什么显示的数字不是打开文件的第一个数字?难道是外部SRAM的首地址不是68000000吗?求帮助~~

最佳答案

逻辑和语言都很重要~~~
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-11-17 14:50:30 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

17

主题

35

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1105
金钱
1105
注册时间
2015-10-13
在线时间
134 小时
 楼主| 发表于 2015-11-18 09:57:51 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥,那要怎么读?dbuf=fsmc_sram_test_read(0X68000000);才能读出第一个数字吗,为什么我试了不行?
逻辑和语言都很重要~~~
回复

使用道具 举报

17

主题

35

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1105
金钱
1105
注册时间
2015-10-13
在线时间
134 小时
 楼主| 发表于 2015-11-18 10:26:19 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
还有,ROM,IROM,RAM,IRAM分别代表那一部分的内存?
逻辑和语言都很重要~~~
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-11-20 22:47:04 | 显示全部楼层
回复【4楼】LyNnJeR:
---------------------------------
百度.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 17:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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