对于函数的自变量、局部变量和全局变量声明如果没有指定内存类型,则内存模式将成为内定的内存类型。如果
指定了内存类型的变量,则不理会内存模式,完全有所指定的内存类型为主。
    
SMALL模式:小模式
    所有的变量,局部变量或全局变量都指定存在内部RAM的 0—0x7F 的地址范围,此模式如同将所有的
变量都定义成 data 类型的内存。
    
COMPACT模式:压缩模式
    所有的变量将被指定到其地址范围为 0—0xFF 的外部数据存储器,此模式如同将所有的变量都定义
成 pdata 类型的内存。
    
LARGE模式:大模式
    所有的变量将被指定到其地址范围为 0—0xFFFF 的外部数据存储器,此模式如同将所有的变量都定义
成 xdata 类型的内存。

Re: Bank Switch無法編譯後的訊息

[QUOTE]原發表者是 Vic 

1.*** WARNING L15: MULTIPLE CALL TO SEGMENT 
SEGMENT: ?PR?SD_INITIALIZE?DRVSD 
CALLER1: ?C_C51STARTUP 
CALLER2: ?PR?TIMER0_ISR?INTERRUPT


這表示SD_INITIALIZE這個函式被C_C51STARTUP和中斷服務函式 
TIMER0_ISR呼叫到。 
這樣會有什麼問題? 
若是SD_INITIALIZE被呼叫時,TIMER0_ISR中斷發生而再呼叫 
SD_INITIALIZE就會有reentrant(重入)的問題。 
Keil C51 一般的函式的區域變數是放在同一個地方的,所以不能被 
重入。如果程式保證這樣的情況不會發生(例如呼叫之前先disable 
interrupt)可以不理會這個警告。 

2.*** ERROR L107: ADDRESS SPACE OVERFLOW 
SPACE: XDATA 
SEGMENT: ?XD?DRVMS 
LENGTH: 0515H 

XDATA 使用過量囉!減減肥吧! 

3.*** WARNING L17: INTERRUPT FUNCTION IN BANKS NOT ALLOWED 
SYMBOL: INT0_ISR 
SPACE: BANK0 

不可以把中斷函式放在 bank area 

4.*** WARNING L4: DATA SPACE MEMORY OVERLAP 
FROM: 003FH 
TO: 0050H 

某些data區被兩個器共用 

5.*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT 
SYMBOL: MEM_POOL 
SEGMENT: ?XD?MTM808 
6.*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL 
SYMBOL: SYSTEM_MODE 
MODULE: .\debug\mtm808.obj (MTM808) 
ADDRESS: 3A7CH 
7.*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL 
SYMBOL: ADPCM_STATE 
MODULE: .\debug\SystemManager.obj (SYSTEMMANAGER) 
ADDRESS: 358FH 

參照到一個無法使用的記憶段(可為前面之over fllow錯誤引起) 

13.*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL 
SYMBOL: DATEI 
MODULE: .\mtm809.LIB (CMDIF) 

找不到external symbol的實體,所以無法連結

KEIL C编译器常见警告与错误信息的解决办法的更多相关文章

  1. 用异提交时,后台通过校验规则文件,校验不通过时,跳转到INPUT视图时,前台显示错误信息的解决办法

    1.第一种: 最近项目使用了struts2的校验(其实我觉得后台校验,特别是struts的校验,完全可以放在其他地方处理,比如交给js或者业务逻辑),而且系统刚好还使用了extjs,此时问题出现了:假 ...

  2. PS Studio调用.exe输出错误信息的解决办法

    在一个button_click下调用了如下外部可执行文件: $button1_Click = { #TODO: Place custom script here .\PsExec.exe \\192. ...

  3. Apache 启动失败没有错误信息的解决办法

    在cmd命令行 进入到apache安装bin目录 执行以下 httpd.exe -w -n "apache2.2" -k start 注意apache2.2是你安装的apache服 ...

  4. Xcode常见警告和错误

    Xcode 升级后,常常遇到的遇到的警告.错误,解决方法 从sdk3.2.5升级到sdk 7.1中间废弃了很多的方法,还有一些逻辑关系更加严谨了.1,警告:“xoxoxoxo”  is depreca ...

  5. Sqlserver2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法

    Sqlserver2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法 最近几天从网上找了几个asp.net的登录案例想要研究研究代码,结果在用 Sql Server2005附 ...

  6. SQLServer2005+附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法

    SQLServer2005+ 附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法 我们在用Sql SQLServer2005+附加数据库文件时弹出错误信息如下图的处理办法: 方案一: ...

  7. [经使用有效]Sqlserver2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法

    sqlserver2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法 最近几天从网上找了几个asp.net的登录案例想要研究研究代码,结果在用 Sql Server2005附 ...

  8. sublime text3安装后html:5+Tab不能快速生成html头部信息的解决办法

    sublime text3安装后html:5+Tab不能快速生成html头部信息的解决办法: 需要下载Emmet插件,按网上写的步骤按ctrl+shift+P打开命令面板,输入install,鼠标点击 ...

  9. android studio 错误汇总以及解决办法

    android studio 错误汇总以及解决办法  参考 https://www.jianshu.com/p/7c7de6562231 问题1. Error:Execution failed for ...

随机推荐

  1. 需要知道的开源的框架-IOS

    1:SDWebImage,UIImageView+WebCache加载一张图片. 2:UIViewExt用于定位坐标很有用,可以直接拿到bottom,top,left,right. 转:http:// ...

  2. [AWS S3] Hosting a Static Website on Amazon S3

    In this lesson, you will learn how to host a static website on Amazon S3. I will show you how to cre ...

  3. [Ruby] LEVEL 2 Methods and Classes

    Optional Arguments Set default arguments, when we don't need to call it, we can simply skip it. def ...

  4. 多线程下的performSelector和NSThread的使用

    多线程下的performSelector和NSThread的使用 NSThread的多线程使用: 我们可以使用这两种方法来使用线程中的问题 - (id)initWithTarget:(id)targe ...

  5. java多态 -- 猫狗案列

    我们用猫狗案例来表明在java中使用多态的好处: class Animal{ public Animal(){} public void eat(){ System.out.println(" ...

  6. openstack初探

    一 .openstack三大核心功能: 计算--Nova.存储--Cinder.网络--Neutron. Nova:提供了计算资源的管理,可以管理跨服务网络的VM实例.还提供对多种Hypervisor ...

  7. ACCSESS数据库导入到SQL SEVERES2005

    首先打开Access数据库然后选择一张表,右击选择要导入数据库的类型(此处已sql2005为例) 然后选择新建 点击下一步 选择导入数据库类型(sql) 输入一个名称,在前面能用到(此处建的是250) ...

  8. jquery属性选择器之 attr

    在温习jquery手册的时候,注意到这个,坐下记录. attr(name|properties|key,value|fn) 获取匹配的元素集合中的第一个元素的属性的值 或 设置每一个匹配的元素的一个或 ...

  9. jquery获取元素到页面顶部距离

    jquery获取元素到页面顶部距离的语句为: $(selector).offset().top

  10. 生成PDF并下载。

    例子是生成一个pdf格式的证书: //创建Document Document document = null; //为该Document创建一个Writer实例 PdfWriter writer = ...