你不人为加,编译器是缺省加的,STARTUP.A51在C51?.LIB库中,我见过LZ在工程中加入C51S.LIB,其实是多余的。关键是加还是不加STARTUP.A51:
建立一个新项目时,系统都提问你加不加入STARTUP.A51。
如果不加,系统默认C51S.LIB等库,其内的STARTUP是默认设置在80H-也就是128字节的。像8031之类。
如果你用的是8032/89C52之类,(现在的片子都是至少256字节IDATA了吧。)那就应该(也许不是必须)加入STARTUP.A51 以修改IDATALEN长度为100H。
但是如果你在DEVICE项选择的片子正确:例如89C52,是不是应该系统自动就设置了RAM=100H ?(系统设计原则:对用户的系统设置要求或知识要求应该降到最少。)要检验一下很简单:
1、在程序编译连接后的仿真代码下看一看STARTUP.51(当然是系统默认的)程序初始化RAM区为全“0”时是多少字节。
2、BL51链接标签下有指示TO **x(256RAM)什么的。
|