这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » ICCAVR ICCAVR编译代码,给出如下的错误提示,请各位高手帮助看看?

共2条 1/1 1 跳转至

ICCAVR ICCAVR编译代码,给出如下的错误提示,请各位高手帮助看看?

院士
2006-09-17 18:14:16     打赏
ICCAVR ICCAVR编译代码,给出如下的错误提示,请各位高手帮助看看?



关键词: ICCAVR     编译     代码     给出     如下     错误     提示         

院士
2006-12-22 22:43:00     打赏
2楼
问 错误提示内容为:
!W C:/ICC/include/io8515.h(3): D:\1project\1335SED\1335sed_2.c(1): #warning directive: "This header file may not be current. Please use io8515v.h instead"
C:\ICC\BIN\imakew -f 1335sed_1.mak
    iccAVR -o 1335sed_1 -LC:\ICC\lib\ -g -Wl-W -bfunc_lit:0.0x2000 -dram_end:0x25f -bdata:0x60.0x25f -dhwstk_size:16 -beeprom:1.512 -fihx_coff -S0 @1335sed_1.lk  
!E 1335sed_2.o(120): Code address 0 already contains a value
!E 1335sed_2.o(120): Code address 0x1 already contains a value
C:\ICC\BIN\IMAKEW.EXE: Error code 1
Done: there are error(s). Exit code: 1

该错误提示指出了什么样的错误,一般如何改正啊,谢谢。
1: 那你还说编译通过了? 2: 这样改一下#include "io8515.h" => #include "io8515v.h" 3: 谢谢dadodo,改过了但还是不行啊。晓奇大哥的程序是可以通过编译的。
我是把他的代码给修改了一下,修改后,就不行了。 4: 代码内容如下:此程序代码为使用8515初始花液晶模块sed1335的。
如将各数组的定义中的const去掉,程序可以通过编译。
但是初始化还是不成功啊。请各位也帮忙看看。
#include "io8515v.h"
#include <stdlib.h>
#include <macros.h>

#define    Uchar unsigned char
#define Uint unsigned int

#define BasePart1    0x00
#define BasePart2    0x40
#define BasePart3    0x80
#define BasePart4    0x00
// #define wait asm("nop\n nop)
//#pragma data:code
const Uchar  null[1]={0x00};
const Uchar  ParaSysTable8[8]= {0x30,0x87,0x07,0x27,0x42,0xf0,0x28,0x00 };
const Uchar  ParaScrTableA[10]={0x00,BasePart1,0xF0,0x00,BasePart2,0xF0,0x00,BasePart3,0x00,BasePart4};
const Uchar  scrform_ini[2]={0x07,0x00};
const Uchar  hdot_scr_ini[1]={0x00};
const Uchar  ovlay_ini[1]={0x04};
const Uchar  disp_on_ini[1]={0x54};
const Uchar  cur_set_ini1[2]={0x00,0x00};
//#pragma data:data

#define SystemSet    0x40
#define Scroll        0x44    
#define DispOn        0x59
#define    DispOff        0x58
#define    Ovlay        0x5b
#define HdotScr        0x5a
#define    CsrForm        0x5d
#define CgramAdr    0x5c
#define CsrDirR        0x4c
#define CsrDirL        0x4d
#define CsrDirU        0x4e
#define CsrDirD        0x4f
#define    CsrW        0x46
#define    CsrR        0x47
#define    mWrite        0x42
#define    mRead        0x43
#define Busy        0x40    
    
    
void LcmInition( void );
//void Delay( Uint );
void LcmClear( void );
void SelfInit( void );
void WaitForBusy( void );


void sed1335_write(unsigned char commandcode,const unsigned char *parameter,int n)
{
int i=0;
PORTC |=0x02; //a0=1;
PORTC &=0xf7; //write=0;
WaitForBusy();
PORTA=commandcode;
PORTC |=0x04; //read=1;
//delay
PORTC &=0xfb; //read=0;

for(i=0;i<n;i++)
    {
        PORTC &=0xfd; //a0=0;
        PORTC &=0xf7; //write=0;
        WaitForBusy();
        PORTA=*(parameter+i);
        PORTC |=0x04; //read=1;
        PORTC &=0xfb; //read=0;

    }
}

void main( void ) {
        // Uchar i;
        SelfInit();                
        //delaytimer(500);            
        LcmInition();            
        LcmClear();                
    }    
void SelfInit( void ) {


    PORTC    = 0xff;
    DDRC    = 0xff;
    DDRA       = 0xFF;
    PORTA    = 0xFF;    
                
    //MCUCR |=BIT(SRE)|BIT(SRW);    
    //TCCR0  = 0b00000011;        
    //TCNT0  = 0;                    
    //tc0_ov_enable();            
    //SREG  |= 0x80;                

}   

void LcmInition( void ) {

    Uchar i;
    sed1335_write(SystemSet,ParaSysTable8,8);
    sed1335_write(Scroll,ParaScrTableA,10);
    sed1335_write(CsrForm,scrform_ini,2);
    sed1335_write(HdotScr,hdot_scr_ini,1);
    sed1335_write(Ovlay,ovlay_ini,1);
    sed1335_write(DispOn,disp_on_ini,1);
    
    }
    
void LcmClear( void ) {

Uint i1=32768;

sed1335_write(CsrDirR,null,1);
sed1335_write(CsrW,cur_set_ini1,2);
PORTC |=0x02; //a0=1;
PORTC &=0xf7; //write=0;
PORTA =mWrite;
PORTC |=0x04; //read=1;
//delay
PORTC &=0xfb; //read=0;
while(i1--)    {
     PORTC &=0xfd; //a0=0;
     PORTC &=0xf7; //write=0;
     PORTA =0x00;
     PORTC |=0x04; //read=1;
     //delay
     PORTC &=0xfb; //read=0;
                    
    }
}    

void WaitForBusy( void ) {
    while ( PINA & Busy );
}
5: to 真水无香 ,你这个程序我用ICCAVR编译通过,没错啊。 6: 这样修改只是解决你上面的编译错误程序自身的问题还得你自己查 7: 谢谢lm7556和dadodo,不过to:dadodo
这个小弟是知道的,小弟只是想解决编译错误。

to:lm7556
好像是我在option中的目标单片机没有选择的原因吧。我后来选了8515就好了。
不过奇怪的是。编译成功过一次,再把option中的目标单片机改回为custom,再编译,也能通过编译了。

再次谢谢两位的帮助。


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]