打印

PIC单片机编译后的提示的含义

[复制链接]
2841|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
544852010|  楼主 | 2012-8-20 15:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的是PIC12F509单片机,编译程序后,提示如下,对于下面的提示的含义,还不甚明了,特别是
Extra space:
    STRING               used    3Ah (    58) of     1h unit    (5800.0%)

这句,是不是预示着,我的空间不够使用??请教各位朋友了,谢谢

Clean: Deleting intermediary and output files.
Clean: Deleted file "E:\PIC_Project\DSK_20\DSK_20_508\main.obj".
Clean: Deleted file "E:\PIC_Project\DSK_20\DSK_20_508\main.cce".
Clean: Deleted file "DSK_20_508.cof".
Clean: Done.
Executing: "D:\Project_soft\Mplab\setup\PICC\bin\picc.exe" -C -E"main.cce" "main.c" -O"main.obj" -Zg9 -O -ASMLIST -Q -MPLAB -12F509
Advisory[1209]   : An old MPLAB tool suite plug-in was detected. Some options may not work correctly
Advisory[1210]   : Visit www.htsoft.com or contact support@htsoft.com for an update
Executing: "D:\Project_soft\Mplab\setup\PICC\bin\picc.exe" -E"DSK_20_508.lde" "E:\PIC_Project\DSK_20\DSK_20_508\main.obj" -M"DSK_20_508.map" -O"DSK_20_508.cof" -O"DSK_20_508.hex" -Q -MPLAB -12F509
Memory Usage Map:
Program space:
    CODE                 used   16Ah (   362) of   400h words   ( 35.4%)
    ENTRY                used    15h (    21) of   400h words   (  2.1%)
Data space:
    BANK0                used    18h (    24) of    19h bytes   ( 96.0%)
    BANK1                used     0h (     0) of    10h bytes   (  0.0%)
    COMBANK              used     0h (     0) of    10h bytes   (  0.0%)
EEPROM space:
                         None available
ID Location space:
    IDLOC                used     0h (     0) of     4h bytes   (  0.0%)
Configuration bits:
    CONFIG               used     1h (     1) of     1h word    (100.0%)
Extra space:
    STRING               used    3Ah (    58) of     1h unit    (5800.0%)

Summary:
    Program space        used   17Fh (   383) of   400h words   ( 37.4%)
    Data space           used    18h (    24) of    30h bytes   ( 50.0%)
    EEPROM space         None available
    ID Location space    used     0h (     0) of     4h bytes   (  0.0%)
    Configuration bits   used     1h (     1) of     1h word    (100.0%)
                         used    3Ah (    58) of     1h unit    (5800.0%)

Advisory[1209]   : An old MPLAB tool suite plug-in was detected. Some options may not work correctly
Advisory[1210]   : Visit www.htsoft.com or contact support@htsoft.com for an update
Loaded E:\PIC_Project\DSK_20\DSK_20_508\DSK_20_508.cof.
BUILD SUCCEEDED: Mon Aug 20 15:21:29 2012
沙发
yewuyi| | 2012-8-21 09:09 | 只看该作者
你首先要搞清楚 Configuration bits   used     1h (     1) of     1h word    (100.0%)
                         used    3Ah (    58) of     1h unit    (5800.0%)

我没有查Extra space的定义,但从MAP文件看,应该就是CONFIG空间,这个空间的数值代表了MCU的熔丝配置,一般用__config(...);来编码,你是否向这个空间填入了太多的数值并超过了config空间的大小?

使用特权

评论回复
板凳
544852010|  楼主 | 2012-8-22 13:26 | 只看该作者
2# yewuyi


回复楼上:是这样的,我程序多写几行,used    3Ah (    58) of     1h unit    (5800.0%)这个百分数就会增大,去掉几行,这个数值就会减小,整个程序中,只有这句是用来配置Config的:

__CONFIG(MCLRDIS&WDTDIS&UNPROTECT&INTRC);     //设置配置位(MCLR脚复位禁止,看门狗关,无代码保护,内部RC振荡)

事实上,我的程序没有收到这个百分数值的影响,功能依然正确,也没有跑飞的情况等出现.....因此,对这个数值表示好奇,到底标示的是含义是什么?

使用特权

评论回复
地板
yewuyi| | 2012-8-22 16:20 | 只看该作者
确实比较古怪,我也没遇到过。

使用特权

评论回复
5
544852010|  楼主 | 2012-8-23 08:59 | 只看该作者
谢谢yewuyi,我以前也没有遇到过这种现象,是最近才发现的

使用特权

评论回复
6
544852010|  楼主 | 2012-8-23 14:31 | 只看该作者
意外的发现,这种提示,居然没有了。
如下:
Clean: Deleting intermediary and output files.
Clean: Deleted file "E:\PIC_Project\DSK_20\DSK_20_508\main.obj".
Clean: Deleted file "E:\PIC_Project\DSK_20\DSK_20_508\main.cce".
Clean: Deleted file "DSK_20_508.cof".
Clean: Done.
Executing: "D:\Project_soft\Mplab\setup\PICC\bin\picc.exe" -C -E"main.cce" "main.c" -O"main.obj" -Zg9 -O -ASMLIST -Q -MPLAB -12F509
Advisory[1209]   : An old MPLAB tool suite plug-in was detected. Some options may not work correctly
Advisory[1210]   : Visit www.htsoft.com or contact support@htsoft.com for an update
Executing: "D:\Project_soft\Mplab\setup\PICC\bin\picc.exe" -E"DSK_20_508.lde" "E:\PIC_Project\DSK_20\DSK_20_508\main.obj" -M"DSK_20_508.map" -O"DSK_20_508.cof" -O"DSK_20_508.hex" -Q -MPLAB -12F509

Memory Usage Map:

Program space:
    CODE                 used   119h (   281) of   400h words   ( 27.4%)
    ENTRY                used    15h (    21) of   400h words   (  2.1%)

Data space:
    BANK0                used    13h (    19) of    19h bytes   ( 76.0%)
    BANK1                used     0h (     0) of    10h bytes   (  0.0%)
    COMBANK              used     0h (     0) of    10h bytes   (  0.0%)

EEPROM space:
                         None available

ID Location space:
    IDLOAdvisory[1209]   : An old MPLAB tool suite plug-in was detected. Some options may not work correctly
Advisory[1210]   : Visit www.htsoft.com or contact support@htsoft.com for an update
Loaded E:\PIC_Project\DSK_20\DSK_20_508\DSK_20_508.cof.
BUILD SUCCEEDED: Thu Aug 23 14:28:50 2012

使用特权

评论回复
7
yewuyi| | 2012-8-24 09:07 | 只看该作者
估计还你那个地方编辑文本时错误输入了什么东西造成的吧。

使用特权

评论回复
8
544852010|  楼主 | 2012-8-24 12:02 | 只看该作者
具体是哪方面的问题,还没有找到

使用特权

评论回复
9
544852010|  楼主 | 2012-9-6 14:05 | 只看该作者
#include<htc.h>
//#include "main.h"

__CONFIG(MCLRDIS&WDTDIS&UNPROTECT&INTRC);     //设置配置位(MCLR脚复位禁止,看门狗关,无代码保护,内部RC振荡)


void DelayUS(unsigned char delay)
{
        //while(--delay);
        NOP();NOP();NOP();NOP();NOP();
}

void main()
{
        while(1)
        {
                DelayUS(100);
        }
}

#ifndef     __MAIN_H__
#define     __MAIN_H__

#endif

很奇怪的问题,去掉延时函数,就正常了,只要有一处调用延时函数,就增加200%,10处调用延时函数,就2000%,目前还不知道怎么解决此问题。

另外,烧写进去的程序,20%的程序正常,其余均出现数据混乱程序运行时间不对,但是程序流程还是对的。

另外,同样的Mpalb和PICC编译器,打开别的工程,程序调用延时函数,一切正常,未出现这种提示。

使用特权

评论回复
10
544852010|  楼主 | 2012-9-7 08:29 | 只看该作者
已经搞定,谢谢,是PICC编译器**问题,用自带**补丁的PICC960版本编译器就搞定了,谢谢大家!

使用特权

评论回复
11
qjh7758| | 2012-9-11 16:20 | 只看该作者
恭喜,解决个问题不容易啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:LED行业应用技术支持工程师,欢迎多多交流!QQ-544852

35

主题

68

帖子

1

粉丝