牛卧堂MCU技术交流

标题: N76E003内存空间不足问题请教 [打印本页]

作者: firefly2k    时间: 2017-4-21 17:26
标题: N76E003内存空间不足问题请教
怎么使用中内存单元只有不到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
在target里面 选用large模式 ,启用xdata即可
作者: firefly2k    时间: 2017-4-22 19:50
harvardx 发表于 2017-4-22 17:41
在target里面 选用large模式 ,启用xdata即可

我才用了130个字节,总共256呢?还没到启用xdata的地步啊
作者: a_ziliu    时间: 2017-4-24 19:45
編譯器選定的編譯,出現的記憶體錯誤,請選定large即可
作者: 匿名    时间: 2018-4-1 22:23
mcu的内部有256自己不假;他的内部ram,分为低128字节,和高128字节;低128的是mcu的内部寄存器使用,比如sfr等;高128对外使用;因此编译不通过;
作者: harvardx    时间: 2018-4-3 22:05
把xdatea勾上看看  项目的option里面




欢迎光临 牛卧堂MCU技术交流 (http://nuvoton-mcu.com/) Powered by Discuz! X3.2