今天编译程序发现一个奇怪的问题,怎么使用中内存单元只有不到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 |