Keil

您所在的位置:网站首页 keil用的是什么编译器 Keil

Keil

2023-06-01 03:57| 来源: 网络整理| 查看: 265

有时我们会遇到这样的报错:

*** ERROR L107: ADDRESS SPACE OVERFLOW

    SPACE:   DATA   

    SEGMENT: _DATA_GROUP_

    LENGTH:  002CH

Program Size: data=117.0 xdata=0 code=6242

Target not created.

Build Time Elapsed:  00:00:00

报错截图如下:

 这类报错是提醒  我们定义了过多的变量:

我们一般使用Small来存储变量,

就是说单片机优先把变量存储在内部ram里,如果内部ram不够了,

就会报错,所以我们编译的时候就要选取外部RAM了。

我们点开魔棒寻找解决方案:

 发现将memory mode改成Compact :variables inPDATA 在编译,

就不报错,通过编译了~~~

 那这个memory mode究竟是什么呢?

 Small:变量存储在内部ram里;

small模式下,再入函数的堆栈是设在idata中的  Compact:变量存储在外部ram里,使用页8位间接寻址;

compact模式下,再入函数堆栈是设在pdata中的

Large:变量存储在外部Ram里,使用16位间接寻址;

可见,compact和large必须有外部RAM支持。

使用Small的模式:

并不是说变量就不可以存储在外部,

只是你要指定存储在外部,,比如: unsigned char xdata a;                     变量a存储在外部的ram。 unsigned char a;                               变量默认存储在内部ram。使用Large的模式: unsigned char xdata a;                      变量a存储在外部的ram。 unsigned char a;                                变量默认存储在外部ram。 以上就是说这三个选项其实只是影响,

当没有特别指定变量的存储空间的时候,

默认变量存储在哪里,比如上面的变量定义unsigned char a。

 如果在变量声明时未声明变量的存储器类型,

则该变量的存储器类型,由程序的存储模式来决定:

 小模式(small model):         默认data区  紧凑模式(compact model):默认pdata区  大模式(large model):         默认xdata区

相关蓝桥杯板载资源列举:

1.IAP15f2k60S2含义: 

IAP15:单片机型号

F:单片机工作电压5.5V-4.2V

2k: 2048字节的SRAM、最大主频35MH

60: 60KB flash/ROM程序存储器

S2: 含有2个串口

KB=k

2^10Byte=1024Byte=1KB

1KB字节=1024Byte=1024*8bit

波特率bit/s

2、硬件信息:

        CPU:8位        3个16位定时器  T0(P34)、T1(P35)、T2(P30)        8通道10位ADC(3路PWM可做3路DA转换、不具备独立的DA转换)        IO口最大位数42        SP1总线:MOSI表示主机输出从机输入(SPI在温度模块,高速串行通信接口)        外部中断2的中断号8    SP1中断号9        IO口四种工作模式        7种复位方式        7种寻址方式        外部存储器16地址总线、8位数据总线        P2高8位地址、P0低8位地址和8位数据总线。

4. 存储器分类:

       data:  直接寻址的片内RAM   bdata:位寻址片内RAM   idata: 间接寻址片内RAM区

  pdata:间接访问的片外RAM的低256B   xdata:间接访问用DPTR的片外RAM,   code: 程序存储区ROM

5.RAM分类:

    易失存储器(掉电)

    RAM:随机存储器

    SRAM:   static RAM 静态存储器,(不需要刷新)

    DRAM:Dynamic RAM 动态存储器(需要刷新)

    DDRAM 双倍速率同步

    非易失存储器(掉电)

    ROM 自读存储器     PROM 擦除一次

    EPROM 擦除1000次

    EEPROM电子可擦除

    flash、norflash

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3