欢迎使用CSDN-markdown编辑器

Trace32使用之基本语句和关键字

首先介绍一下Trace32脚本概貌:

**Trace32提供了强大的脚本控制功能,可以做到所有的GUI的工作,还包括GUI无法完成的工作。
正因为其脚本提供的功能过于强大,导致很多功能在Trace32软件上你找不到,这部分得用脚本来驱动使用。更多的trace32使用请参考http://www.jtag1000.com/
Trace32使用的脚本类似于pascal语法,但又有些C语言的感觉,采用扩展名为.cmm的文件,其实就是文本文件,
也可以用记事本打开进行编辑。
好了,下面进入正题,Trace32的脚本基本语法:**

一、先来个输出Hello World!实例

1、新建一个文本文件,改扩展名为.cmm文件如:test.cmm
2、打开Trace32软件,选择第二个,Edit file,并打开test.cmm文件
3、在文件中输入print “Hello World!”,点击上面的Save保存按钮,或点击Save&Run也行,即运行了第一个Trace32程序。
4、输出的内容在左下角,可以看到Hello World!字样。

二、脚本变量申明

1、本地变量申明:
LOCAL &a &b &c//关健字为LOCAL,变量以“&”开头
ENTRY &a &b
&c=&a*&b
RETURN &c

2、全局变量申明:
GLOBAL &State &Level//关健字为GLOBAL,变量以“&”开头

三、Trace32使用的基本控制语句

1、条件控制最基本的IF-ELSE(注意Trace32关健字不区分大小写,也可以是if else)
如下:
IF “a”==”a”
(
PRINT “true”
)
ELSE IF “a”==”b”
(
PRINT “false”
)
ELSE
(
PRINT “这里不会运行(test)”
)
解释一下,Trace32里面没有then关健字,多行语句请使用括号”()”括起来。

2、循环语句while和RePeaT
&true=0!=1
&count=1
WHILE &true
(
DO mem_test
PRINT “MEMTEST ” &count
&count=&count+1
)
ENDDO


RePeaT []

[WHILE []]
or
RePeaT

3、GOTO跳转语句
GOTO endloop//关健字为GOTO,endloop为标号,如:
endloop:
print “这里为GOTO执行地”
GOTO 102.//102.为行号

四、Trace32使用的其它执行命令

1、执行其它脚本文件
DO []
比如有二个文件:
a.cmm
b.cmm
a.cmm内容为:do b
b.cmm内容为: print “a call b”

运行a.cmm文件

2、调用子函数
GOSUB subr1 0x100 10. “abc”//调用子函数,关健字GOSUB, subr1为子函数标号,后面为调用的参数0x100 10. “abc”
subr1://这里是子函数,以变量名加冒号,标号形式。
ENTRY &address &len &string
Data.Set &address++(&len-1) &string
RETURN

3、ENTER和ENTRY语句
enter &x
print “x=&x”

ENTRY &address
GOSUB func1 &address 1.
ENTRY &result
PRINT “Result=” &result
ENDDO

func1:
LOCAL &addr &size
ENTRY &addr &size
Data.Set &addr++&size 0x0
&retval=Data.Byte(&addr)
RETURN &retval

4、INKEY字符输入
INKEY
INKEY &key
IF &key==0x0d
print “正确的输入”
else
print “错误的字符”

你可能感兴趣的:(linux)