(劳特巴赫调试器学习笔记)四、Practice脚本.cmm文件编写
Lauterbach调试器
文章目录
- Lauterbach调试器
- 一、什么是Practice脚本文件
- 二、cmm脚本使用示例
- 总结
一、什么是Practice脚本文件
官方文档解释:
因为Practice脚本以cmm为后缀,所以大多数人叫它cmm脚本。
以tricore为例,在安装目录下,有非常多的cmm脚本例程可以使用。
F:\Trace32\demo\tricore
比如tc38x.cmm,运行它就可以选择elf进行刷写操作。
F:\Trace32\demo\tricore\flash\tc38x.cmm
一般都是在这点击运行:
二、cmm脚本使用示例
cmm脚本也可以放在trace32应用程序启动的时候运行,如下图所示:
使用(1)TRACE32 Start方式启动,为某个型号的开发板单独创建一个文件(2),然后在File中选择自己使用的cmm脚本(3),点击Start(4)即可打开TRACE32,然后运行该cmm脚本。
cmm脚本内容如下,仅供参考:
RESet
system.cpu TC387QPcore.assign 1. 2. 3. 4. system.option dualport on
system.up; Flash programming
LOCAL &elfFile &progFlash &bmhResult&elfFile = "E:\02HightecWorkspace474\FocControl_TC387\iROM\FocControl_TC387.elf"; prepare flash programming (declarations)
DO F:\Trace32\demo\tricore\flash\tc38x.cmm CPU=TC387QP PREPAREONLY; check if application is already in flash and load symbols
Data.LOAD.Elf "&elfFile" /DIFF /SingleLineAdjacentIF FOUND()
(; ==== Step 1: Program TriCore code ====DIALOG.YESNO "Program Lauterbach demo into flash memory?"ENTRY &progFlashIF (&progFlash)(; enable flash programmingFLASH.ReProgram ALL; load demo applicationData.LOAD.Elf "&elfFile"FLASH.ReProgram OFF)
)symbol.list.sourcetree
var.watch
var.addwatch Core0_100usTaskCnt
var.addwatch Core0_mainCnt
list /core 0
runtime
mode.hll
解释一下该cmm文件大概功能:
- 打开Trace32后,烧写下面这个目录下的elf文件(需要替换成自己想烧写的elf文件)。
E:\02HightecWorkspace474\FocControl_TC387\iROM\FocControl_TC387.elf - 烧写完成后,打开sourcetree文件树、var.watch添加两个cnt、打开core0的list
- 打开runtime界面记录运行时间,修改代码显示方式为HLL模式(隐藏汇编语句)
目前还存在一点问题:
- 点击Start后,窗口叠放,没有布置位置
- 希望能实现检测elf更新的功能,实现编译器编译新版程序后,自动刷写进单片机(像ude一样)。
总结
可以看到,cmm其实就是劳特巴赫正常调试程序的操作方法,几乎所有的指令全都可以用cmm脚本实现。
后面学到了新tips,还会修改本文。