S1C33 —EPSON 32位单片机WORK BENCH33集成开发环境

分享到:
点击量: 215381

  前面已经介绍了EPSON的CPU和C33STAR硬件开发平台,以及丰富的软件支持,这一讲介绍基于S1C33集成开发环境Work Bench33。Work Bench33提供给用户一个从编辑器、编译器到调试器的强大集成开发环境。它的主要功能有:
● WB33适用所有E0C33系列,所有操作完全一样。
● 直接由图形化界面创建工程文件(.MAK),参数文件,简单明了。只要一个按钮完成编译连接,只要一个按钮进入调试环境。
● 几乎所有的操作都可以用鼠标完成,标准设置都可以在选项框中选择。
● 可以设定编辑器选项,充分利用编辑器功能。
● 支持命令行操作。

  使用Work Bench33的开发过程十分明了:创建工程——编辑加入源程序文件——编译连接生成目标文件——配置参数文件——目标板运行调试。可以看到和PC软件开发的集成环境非常类似,**不同的是“配置参数文件“,这是因为嵌入式系统的系统资源千差万别而PC配置较为标准。下面介绍开发的全过程。

创建一个mak文件(工程文件)
WB33可以使用户一步一步将源程序编译成中间文件,*终生成目标代码,同时也提供了make功能来批处理执行这些步骤。包括:
● 在文件夹列表框中选择你的工作目录;
● 创建工程文件;
● 添加源程序到工程文件。

定位程序的运行空间(连接文件.cm)
我们下一步要做的就是定位程序运行的空间。在上一步创建Mak文件时同时创建了一个.cm文件,程序的定位信息就在这个文件中设置。这当然和你的硬件资源相关。
打开连接文件(.cm)
Cm文件中的几个关键字
下面简单介绍几个关键字,没有列出的部分基本不用修改。
1) ;注释语句
2) -code 0x0c00000    -code 后面的十六进制的数是程序代码段的编译地址。
3) -data 0x0c01000  -data后面的十六进制的数是程序数据段的地址,数据段主要存储赋有初值的全局变量。如果没有设定data段,data段将紧跟code段后面。
4) -bss 指定程序全局变量段的起始地址。如果没有指定bss段,所有程序中的全局变量将被定位在MCU的内部8k空间中。
5) -l    指定程序中用到库的路径,**路径和相对路径都可以。例如:-l E: empgiflibgif 或 -l ..libgif
6) 在;Object file start下面是需要连接的目标文件。可以添加额外需要连接的目标文件,例如:
;Object files start
vector.o
boot.o
Drv_LCD.o
main.o
e: empabc.o
;Object files end
7) 在 ;Library files后面加入自己的库,但必须在第5)步指定这个库的路径,例如添加一个gif库:
;Library files
gif.lib;----------------------------添加的库
用户库应该放在系统库前。

注意
1. 需要指出的是程序启动地址一定要是中断向量表的开始地址。
如果程序中包含中断向量表,那么中断向量表一定要定位在TTBR寄存器中设定的那个地址(0x48134)。例如,启动地址是0x800000,把包含中断向量表的目标文件vector.o(假设是vector.o)定位在0x800000,在.cm文件中添加-code 0x800000 {vector.o}。
一般在创建工程文件时,把中断向量表**个加入工程文件,这样中断向量表就会编译在-code段指定的*开始位置。调试程序时设定启动地址为code段开始地址。
编译链接程序
编译链接生成目标文件.o和EPSON-S1C33可执行文件格式.srf。
和大多数编译器一样,如果程序编制有误,或链接不正确,编译器将会给出编译错误和警告信息。连接警告并不影响.o和.srf文件的生成。编译和连接完全正确时output window 输出0 error(s), 0 warning(s), 0 compiler message(s)如图1。

创建参数文件

  编译连接完成后,如果想调试程序就必须创建参数文件。调试工具db33虽然支持所有S1C33系列MCU,但每一款MCU的内部存储器(Memory)配置都不同,每个开发人员设计的片外存储器配置也不同,参数文件就是用来告诉调试工具这些配置信息。
创建一个参数文件
1) 单击[Par gen]按钮。
[Parameter file generator]窗体出现,然后配置存储器。[chip name]文本框用来输入MCU的型号,如209。产生的参数文件名称为:chipname +“-”+this file version+“.par”,显示在[Create Par file]按钮上面。见图2。
然后填写Star addr,并选择存储器类型。
2) 单击[Create Par file]按钮,一个参数文件就创建好了。关闭[Parameter file generator]窗口。

调试

  连结好目标板以后,选中刚才创建的参数文件,点击[DB33]进入调试环境。可以用来加载srf格式的目标代码或者是Motorola S3格式的ROM数据,并且调试用户编写的程序。它的功能有:
● 同时在多个窗口参看各种数据。
● 支持鼠标选取工具条或菜单来执行经常使用的命令。
● 除了支持ICE33, ICD33或Monitor调试程序外,也支持软件仿真调试。
● 支持C或汇编级别的调试。
● 支持2种C或汇编级别的单步运行。
● 支持硬件软件断点,同时支持数据访问条件断点。
● 同时提供:实时显示寄存器标志和存储器内容;执行时间统计功能;跟踪功能;命令文件自动执行;仿真I/O功能。
调试环境
  在File菜单中选择Load File……,加载编译连接生成的可执行文件.srf。现在就可以调试程序了。

连接目标板方法
这里仅仅介绍ICD模式连接方法(如图3),其他方法请参照相应手册。