打印

STVD7求助

[复制链接]
3172|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dangerb_cn|  楼主 | 2007-9-5 11:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ST, tv, dc, ic, se
小弟菜鸟一个
最近开始学习使用STVD7软件
用的是汇编语言
遇到了麻烦
build 的时候老是出错


Assembling mapping.asm...
asm mapping.asm -I="C:\Program Files\STMicroelectronics\st7toolset\include" -I="C:\Program Files\STMicroelectronics\st7toolset\include"  -obj=Debug\mapping.obj -I="C:\Program Files\STMicroelectronics\st7toolset\asm\include"

STMicroelectronics assembler v4.49

      No errors on assembly of 'D:\stwork\mapping.asm'

Assembling adc.asm...
asm adc.asm -I="C:\Program Files\STMicroelectronics\st7toolset\include" -I="C:\Program Files\STMicroelectronics\st7toolset\include"  -obj=Debug\adc.obj -I="C:\Program Files\STMicroelectronics\st7toolset\asm\include"
Couldn't open table file 'C:\Program Files\STMicroelectronics\st7toolset\asm\TITLE "adc.ASM'.tab': Invalid argument

STMicroelectronics assembler v4.49

 The command: "asm adc.asm -I="C:\Program Files\STMicroelectronics\st7toolset\include" -I="C:\Program Files\STMicroelectronics\st7toolset\include"  -obj=Debug\adc.obj -I="C:\Program Files\STMicroelectronics\st7toolset\asm\include"" has failed, the returned value is: 2
exit code=2.

second.s19 - 1 error(s), 0 warning(s)

程序代码如下
TITLE "adc.ASM'
MOTOROLA
#INCLUDE "ST7FLITE02.INC"
WORDS
SEGMENG 'ROM'
.MAIN
      CALL INIT
.WAIT
      BTJF ADCCSR,#7,WAIT
            LD A,ADCDR
            LD PADR,A
            JRA WAIT
.INIT 
      LD A,#$0FF
            LD PADDR,A
            LD PAOR,A
            LD A,#$25
            LD ADCCSR,A
            RET
            SEGMENT 'VECTOR'
            DC.W 0
            DC.W 0 
            DC.W 0 
            DC.W 0 
            DC.W 0 
            DC.W 0 
            DC.W 0 
            DC.W 0 
            DC.W 0 
            DC.W 0 
            DC.W 0 
            DC.W 0 
            DC.W 0 
            DC.W 0 
            DC.W 0 
            DC.W MAIN
            END
沙发
zl_777| | 2007-9-14 17:39 | 只看该作者

少一个“st7/”

在程序开头的地方加一个“st7/”
st7/
TITLE "adc.ASM'
MOTOROLA
#INCLUDE "ST7FLITE02.INC"
WORDS
SEGMENG 'ROM'
.MAIN
      CALL INIT
.WAIT

使用特权

评论回复
板凳
qigongwei| | 2007-9-14 21:29 | 只看该作者

Reference


以前自己写的一个文档里,刚好有这么一段介绍ST7 ASM的内容,我贴上来你可以参考参考,其实更具体的内容你可以在下面的文档中找到:
6、ST7 Family Programming Manual 
http://www.st.com/stonline/products/literature/pm/4020.pdf
 
 
ST7汇编文件格式
       下列为ST7汇编文件格式参考:
st7/                                                                                             ;(1)
       TITLE "test.asm"                                                                  ;(2)
 
       MOTOROLA                                                                      ;(3)
       #INCLUDE "st72324.inc"      ; Include st72324 registers and memory mapping file.      ;(4)
#INCLUDE "userdef.inc"      ;扩展外部定义文件    
 
segment 'ram'          ;RAM Segment                                      ;(5)
#Define                                                                                 ;(6)
Data  EQU  100
;************RAM0 SEGMENT************
WORDS         ; following addresses are 16 bit length.                    ;(7)
 
       segment 'rom'          ;Program Code                                        ;(8)
;------- Main Program Sub-Routine Section ----------
.main             ;Initialization                                                              ;(9)
       RSP        ;Reset Stack Pointer
.Loop
       NOP
JP Loop
 
.Dummy_rt                                                                                      ;(10)
       IRET           
 
;---------Interrupt & Reset Vectors-------------------            
       segment 'vectit'                                                                          ;(11)
       DC.W Dummy_rt ; FFE0-FFE1h location
       DC.W Dummy_rt ; FFE2-FFE3h location
AVD:
      DC.W Dummy_rt ; FFE4-FFE5h location
SCI:
DC.W Dummy_rt ; FFE6-FFE7h location
Timer_B:       
    DC.W Dummy_rt
Timer_A: 
    DC.W Dummy_rt
SPI: 
       DC.W Dummy_rt ; FFEC-FFEDh location
       DC.W Dummy_rt ; FFEE-FFEFh location
Port_B_1:       
      DC.W PortB_INT ; FFF0-FFF1h location
Port_B_2:       
       DC.W Dummy_rt ; FFF2-FFF3h location
Port_F:    
      DC.W Dummy_rt ; FFF4-FFF5h location
Port_A:   
       DC.W Dummy_rt ; FFF6-FFF7h location
Time_RTC:
DC.W Dummy_rt ; FFF8-FFF9h location
       DC.W Dummy_rt ; FFFA-FFFBh location
TRAP_1:
      DC.W Dummy_rt ; FFFC-FFFDh location
Reset:
      DC.W main          ; FFFE-FFFFh location
              
       END                                                                                   ;(12)
 
 
说明:
st7/                                                                                                                                ;(1)
 
TITLE "test.asm"                                                                                                            ;(2)
 
       MOTOROLA                                                                                                           ;(3)
       
代码中数字的表达方式。ST7汇编编译器提供下述四种格式的支持:

进制

INTEL

MOTOLORA

TEXAS

ZILOG

二进制

1010B

%1010

?1010

%(2)1010

八进制

175O

-175

-175

%(8)175

十六进制

45H or 0FFH

$45 or $FF

>45  or >FF

%45 or %FF

       将MOTOROLA改为你习惯的格式代码即可,记得使用的16进制格式也要该过来。
 
       #INCLUDE "st72324.inc"      ; Include st72324 registers and memory mapping file.        ;(4)
伪指令(Include)
       用于包含外部定义文件。上述定义为提供给编译器的MCU特殊功能寄存器文件。可通过打开SDVP7安装路径下的“C:\Program Files\STMicroelectronics\st7toolset\include”找到(路径为默认定义路径)。
 
segment 'ram'          ;RAM Segment                                                                       ;(5)
伪指令(Segment)
       用于定义可寻址空间的一个地址范围,具有可被定义的属性。一个程序模块中最多可以定义128个段,可允许的类型有:
 

名称

类型

ROM

只读存储器,用于程序存储区

RAM0

读写存储器,用于8位地址区

RAM1

读写存储器,用于16位地址区

STACK

读写存储器,用于堆栈

IO

用于IO寄存器(地址在0页)

VECTOR

中断矢量地址区

       段允许将一段代码定义在以某一其实地址开始底空间,也允许定义一部分变量集中放置到某一个RAM范围内。
    
#Define                                                                                                                   ;(6)
Data  EQU  100
伪指令(Define/EQU)
       Define:给符号常量赋字符串值;
       EQU: 对符号常数赋值,赋值后值不可跟改;
 
WORDS         ; following addresses are 16 bit length                                                         ;(7)
       起始地址是偶数
 
       segment 'rom'          ;Program Code                                                                       ;(8)
    段定义,表明一下代码内容在下一个“segment”之前均位于“ROM”区
 
.main             ;Initialization                                                                                              ;(9)
       标号,ST汇编编译器最大支持标号字符数为26。
 
.Dummy_rt                                                                                                              ;(10)
       异常中断函数入口。这里出于对系统的健壮性考虑,建议对于系统中并未使用的中断,都使用一个同样的异常中断函数,用于异常进入时,做中断退出。
 
       segment 'vectit'                                                                                                 ;(11)
    段定义,表明下列代码为中断向量部分内容。
 
       END                                                                                                                ;(12)
汇编结束指令,这里需要注意的是在END之后请保留几个空格和一个回车符,否则编译会出错。
 
 
 
 

使用特权

评论回复
地板
qigongwei| | 2007-9-14 21:32 | 只看该作者

word里面复制的在预览里还是好好的

怎么帖子发出去再看,格式就乱了

使用特权

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

本版积分规则

6

主题

25

帖子

1

粉丝