打印
[STM8]

编译错误

[复制链接]
1175|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
LMQ168|  楼主 | 2013-12-13 20:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
刚接触STM8S,使用ST-LINK三合一套件,开发板为STM8S105S4-PKT,在STVD软件编程中出现如下错误,

直接用的教程程序,驱动板上的LED指示灯闪烁
stm8/

              #include "mapping.inc"

; 下面定义端口D的寄存器地址

PD_ODR   EQU    $500f                  
PD_IDR   EQU    $5010
PD_DDR   EQU    $5011
PD_CR1   EQU    $5012
PD_CR2   EQU    $5013

; 定义堆栈空间的起始位置和结束位置

stack_start.w  EQU    $stack_segment_start
stack_end.w    EQU    $stack_segment_end

; 下面开始定义一个段,该段位于ROM中

                      segment 'rom'                 

; 定义复位后的第一条指令的标号(即入口地址)

main.l                                 

; 首先要初始化堆栈指针

        LDW     X,#stack_end         
        LDW     SP,X

    LD      A,#08
        LD      PD_DDR,A              ; 将PD3设置成输出
    LD      A,#08
    LD      PD_CR1,A              ; 将PD3设置成推挽输出
    LD      A,#00
    LD      PD_CR2,A              ;

MAIN_LOOP.L
    LD      A,#08                 ;
   LD      PD_ODR,A              ; 将PD3的输出设置成1
    LD      A,#100
    CALL    DELAY_MS              ; 延时100MS

    LD      A,#00                 ;  
LD      PD_ODR,A              ; 将PD3的输出设置成1
   LD      A,#100
   CALL    DELAY_MS              ; 延时100MS

    JRA     MAIN_LOOP             ;

; 函数功能:延时
; 输入参数:寄存器A -- 要延时的毫秒数,这里假设CPU的主频为2MHZ
; 输出参数:无
; 返 回 值:无
; 备    注:无

DELAY_MS.L
    PUSH    A                     ; 将入口参数保存到堆栈中
    LD      A,#250                ; 寄存器A<-250,作为下面的循环数  

DELAY_MS_1.L
    NOP                           ; 用空操作指令进行延时4T
    NOP
    NOP
    NOP
    NOP
   DEC     A                     ; 寄存器A<-A-1,本条指令执行之间为1T
    JRNE    DELAY_MS_1            ; 若不等于0,则循环,
                                     ; 本条指令执行时间为2T(跳时)或1T(不跳时)
    POP     A                     ; 从堆栈中恢复入口参数
    DEC     A                     ; 将要延时的MS数-1  
   JRNE    DELAY_MS              ; 若不等于0,则循环
RET                           ; 函数返回  

  interrupt NonHandledInterrupt
NonHandledInterrupt.l
    iret
; 下面定义中断向量表             
     segment 'vectit'
       dc.l  {$82000000+main}                       ; reset
       dc.l {$82000000+NonHandledInterrupt}           ; trap
       dc.l {$82000000+NonHandledInterrupt}           ; irq0
       dc.l {$82000000+NonHandledInterrupt}           ; irq1
       dc.l {$82000000+NonHandledInterrupt}           ; irq2
       dc.l {$82000000+NonHandledInterrupt}           ; irq3
       dc.l {$82000000+NonHandledInterrupt}           ; irq4
       dc.l {$82000000+NonHandledInterrupt}           ; irq5
       dc.l {$82000000+NonHandledInterrupt}           ; irq6
       dc.l {$82000000+NonHandledInterrupt}           ; irq7
       dc.l {$82000000+NonHandledInterrupt}           ; irq8
       dc.l {$82000000+NonHandledInterrupt}           ; irq9
       dc.l {$82000000+NonHandledInterrupt}           ; irq10
       dc.l {$82000000+NonHandledInterrupt}           ; irq11
       dc.l {$82000000+NonHandledInterrupt}           ; irq12
       dc.l {$82000000+NonHandledInterrupt}           ; irq13
       dc.l {$82000000+NonHandledInterrupt}           ; irq14
       dc.l {$82000000+NonHandledInterrupt}           ; irq15
       dc.l {$82000000+NonHandledInterrupt}           ; irq16
      dc.l {$82000000+NonHandledInterrupt}           ; irq17
      dc.l {$82000000+NonHandledInterrupt}           ; irq18
      dc.l {$82000000+NonHandledInterrupt}           ; irq19
       dc.l {$82000000+NonHandledInterrupt}           ; irq20
      dc.l {$82000000+NonHandledInterrupt}           ; irq21
       dc.l {$82000000+NonHandledInterrupt}           ; irq22
      dc.l {$82000000+NonHandledInterrupt}           ; irq23
       dc.l {$82000000+NonHandledInterrupt}           ; irq24
       dc.l {$82000000+NonHandledInterrupt}           ; irq25
       dc.l {$82000000+NonHandledInterrupt}           ; irq26
      dc.l {$82000000+NonHandledInterrupt}           ; irq27
    dc.l {$82000000+NonHandledInterrupt}           ; irq28
       dc.l {$82000000+NonHandledInterrupt}           ; irq29

end

结果出现如下错误:The command: "asm -sym -li=Debug\main.lsr main.asm -I=D:\安装位置\STVD编程软件\asm\include  -obj=Debug\main.obj" has failed, the returned value is: 1
exit code=1.

进入不了调试状态,请高手指点
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

3

帖子

0

粉丝