原创 SH常用命令行语句用法详解

2011-2-25 13:55 9749 8 8 分类: MCU/ 嵌入式
来源:瑞萨单片机论坛

SH命令行语句用于调试时使用,后缀名为.hdc文件。HEW能自动识别.hdc文件。 

下面以一个简单的例子来说明SH命令行脚本文件的用法。 

一。打开一个记事本,里面输入build_all,然后保存为test.hdc文件。 

二。打开HEW工程,打开View -- Command Line,点击BAT图标,然后选择Browse,选择刚才的test.hdc文件。如图1所示: 

SH常用命令行语句用法详解 - 瑞沙 - 瑞萨产品世界
 

三。在Command Line工具条上,点击BAT图标右边的Run batch图标,是个小三角形图标。这时HEW就执行test.hdc脚本文件,执行里面的build_all命令行语句。之后我们可以看到HEW会编译整个工程源文件。 



以上只是命令行语句的一个简单用法。SH提供很多命令行语句,其中常用的如下: 

reset   复位CPU 
generate_make_file   为当前工程生成一个makefile文件 
register_set   设置寄存器 
cache     开或关cache 
memory_fill   设置指定的内存,用得很频繁 
breakpoint   设置断点 
sh2a_sbstk enable   开启SH2A的软件断点功能 



下面我们结合一个SH2A的工程来使用命令行语句,很有用的哦~~~! 

使用E10A工具来调试SH2A的时候,需要把程序下载到CPU外部RAM里面去仿真。下载之前当然要初始化BSC总线控制器了。比如你的RAM在CS3空间,那么就要初始化CS3总线控制器,一定要保证正确的初始化,以便CPU能正确的访问到RAM。 

一。首先保证E10A连接上电脑。 
使用memory_fill命令初始化CS3 BSC。格式如下: 
memory_fill 寄存器首地址 寄存器尾地址 设置值   字节宽度(byte,word,long) 

例如初始化SH7263的CS3总线控制器: 
memory_fill fffe38ba fffe38bb 0xffff word 
memory_fill fffe38b0 fffe38b1 0xffff word 
memory_fill fffe38b2 fffe38b3 0xffff word 
memory_fill fffe3910 fffe3911 0xffff word 
memory_fill fffe3912 fffe3913 0xffff word 
memory_fill fffe3914 fffe3915 0xffff word 
memory_fill fffe3916 fffe3917 0xffff word 

memory_fill fffc0000 fffc0003 0x00001810 long 
memory_fill fffc0010 fffc0013 0x24924400 long 
memory_fill fffc0034 fffc0037 0x00006881 long 
memory_fill fffc004c fffc004f 0x00000812 long 
memory_fill fffc0050 fffc0053 0x0000009c long 
memory_fill fffc0054 fffc0057 0x00000007 long 
memory_fill fffc0058 fffc005b 0x00000008 long 


二。初始化BSC之后,还要设置PC初始值,R15初始值。将PC值设置为复位向量的入口地址,R15值设置为RAM尾地址。如果想使用断点,还必须开启软件断点功能,最大能设置255个软件断点。 

例子如下: 
sh2a_sbstk enable 
register_set r15 0xffffff0 
register_set pc 0x0c000800 

三。OK!我们完成了设置,将以上语句保存为external_ram_cs3_init_e10a.hdc文件。 
在HEW的Debug -- debug settings -- Options里面,选择Before download of modules,点击Add. 
然后选择Browse,选中刚才的external_ram_cs3_init_e10a.hdc文件。如图2所示: 

SH常用命令行语句用法详解 - 瑞沙 - 瑞萨产品世界
 

四。最后修改程序地址,将其整个的放在RAM地址空间里。 
具体在build -- toolchain -- link/library里面,选择section,然后将D,P,C 三个section整个的搬移到CS3地址空间里。如图3: 

SH常用命令行语句用法详解 - 瑞沙 - 瑞萨产品世界
 


好了,我们现在可以编译,下载调试了。 
HEW工程会自动执行刚才设置的命令行语句,完成一些初始化命令等。

文章评论0条评论)

登录后参与讨论
我要评论
0
8
关闭 站长推荐上一条 /3 下一条