[PIC®/AVR®/dsPIC®产品] PIC18F67J60中定义一个变量数组4096字节,怎么解决

[复制链接]
2148|10
 楼主| wds王王 发表于 2016-12-24 20:24 | 显示全部楼层 |阅读模式
本帖最后由 wds王王 于 2016-12-24 21:57 编辑

操作外部FLASH 芯片时,会去读一个Sector的数据4KByte,所以要定义一个4096大小的缓存;但发现在LKR只到0XFFF,程序上定义如下:
#pragma udata bigdata
  u8    MX6445_BUFFER[4096];//缓存   4Kbytes为一个Sector
#pragma udata
LKR文件定义如下:
DATABANK   NAME=sfr14      START=0xE80             END=0xEFF          PROTECTED
DATABANK   NAME=gpr15      START=0xF00             END=0xF5F
ACCESSBANK NAME=accesssfr  START=0xF60             END=0xFFF          PROTECTED
//自己定义一个大数组
DATABANK   NAME=big        START=0x1000            END=0x2FFF   PROTECTED
SECTION    NAME=bigdata    RAM=big

程序编译能通过,但运行不正常;与定义这个数组有关,不知如何修改,help!!
xyz549040622 发表于 2016-12-25 21:21 | 显示全部楼层
PIC没搞过,可以试着指定下这个缓存的地址。但具体用什么语句,就不知道了。
一事无成就是我 发表于 2016-12-26 17:34 | 显示全部楼层
分到两个页,用程序判断是否需要转页(变量计数要好处理一些)
littleming1028 发表于 2016-12-29 18:43 | 显示全部楼层
PIC18F67J60的内存好像达不到4096字节吧.....
 楼主| wds王王 发表于 2016-12-29 20:02 | 显示全部楼层
littleming1028 发表于 2016-12-29 18:43
PIC18F67J60的内存好像达不到4096字节吧.....

那如何处理呀?
littleming1028 发表于 2016-12-30 14:23 | 显示全部楼层
要不换型号,要不外置内存,纯属个人意见
 楼主| wds王王 发表于 2016-12-30 20:45 | 显示全部楼层
littleming1028 发表于 2016-12-30 14:23
要不换型号,要不外置内存,纯属个人意见

换型号不现实呀,就读写一个FLash芯片,没有必要换更高的吧,
有谁有做过,支一招吧.
jinzhan0132 发表于 2017-1-3 16:45 | 显示全部楼层
做一个FIFO?
 楼主| wds王王 发表于 2017-1-4 23:27 | 显示全部楼层

没明白怎么去做?能说清楚一点吗?或给个DEMO
mmcu 发表于 2017-1-5 11:22 | 显示全部楼层
这个型号ram只有3,808,肯定不行,你可以设定一个1K的数组,要读4次,读到一组1K数据,先处理掉,再读下一组。
jinzhan0132 发表于 2017-1-5 13:39 | 显示全部楼层
wds王王 发表于 2017-1-4 23:27
没明白怎么去做?能说清楚一点吗?或给个DEMO

楼上这样的做法也行,差不多一个意思,关于FIFO,百度比我知道的更详细。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

25

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部