找回密码
 立即注册

QQ登录

只需一步,快速开始

开启左侧

N76E003内存空间不足问题请教

[复制链接]
firefly2k 发表于 2017-4-21 17:26:05 | 显示全部楼层 |阅读模式
怎么使用中内存单元只有不到130个字节?具体如下:

程序定义如下:#define        RECEIVE_BUFFER_SIZE 13
UINT8  Uart_Receive_Buffer[RECEIVE_BUFFER_SIZE];

编译OK的如下:
Program Size: data=129.0 xdata=0 code=1776
creating hex file from ".\Output\ALLL_LCD"...
".\Output\ALLL_LCD" - 0 Error(s), 0 Warning(s).



但数组仅增加一个字节就报溢出了,是什么问题?不是有256个内存单元吗?
#define        RECEIVE_BUFFER_SIZE 13
UINT8  Uart_Receive_Buffer[RECEIVE_BUFFER_SIZE];

编译错误的如下:
*** ERROR L107: ADDRESS SPACE OVERFLOW
    SPACE:   DATA   
    SEGMENT: ?DT?_TIMER3_DELAY10US?DELAY
    LENGTH:  0004H
Program Size: data=130.0 xdata=0 code=1776
Target not created

回复

使用道具 举报

harvardx 发表于 2017-4-22 17:41:24 | 显示全部楼层
在target里面 选用large模式 ,启用xdata即可
回复 支持 反对

使用道具 举报

 楼主| firefly2k 发表于 2017-4-22 19:50:38 | 显示全部楼层
harvardx 发表于 2017-4-22 17:41
在target里面 选用large模式 ,启用xdata即可

我才用了130个字节,总共256呢?还没到启用xdata的地步啊
回复 支持 反对

使用道具 举报

a_ziliu 发表于 2017-4-24 19:45:57 | 显示全部楼层
編譯器選定的編譯,出現的記憶體錯誤,請選定large即可
回复 支持 反对

使用道具 举报

匿名  发表于 2018-4-1 22:23:51
mcu的内部有256自己不假;他的内部ram,分为低128字节,和高128字节;低128的是mcu的内部寄存器使用,比如sfr等;高128对外使用;因此编译不通过;
回复 支持 反对

使用道具

harvardx 发表于 2018-4-3 22:05:36 | 显示全部楼层
把xdatea勾上看看  项目的option里面
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU