PicoBlaze 学习笔记6:利用pBlazIDE对PicoBlaze汇编(psm)进行仿真<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
我觉得PicoBlaze的开发还很原始,一个DOS的编译工具(KCPSM3),一个还要转换格式的仿真工具(pBlazIDE),而且没有官方的C编译器。一切的一切,仿佛回到了80年代,在DOS下开发51单片机的时代,虽然我也不知道当年开发单片机的艰辛,不过从PicoBlaze也体验了一把。
PicoBlaze的非官方仿真工具pBlazIDE下载网址:(V3.6)
http://www.mediatronix.com/tools/pBlazIDE36.zip
http://www.mediatronix.com 这个也是它的官网。
pBlazIDE的语法和PicoBlaze的汇编语法是有区别的,所以在用pBlazIDE仿真PicoBlaze之前要进行转换。
简单的设定和导入PSM文件
1)要使用语法高亮,首先要在Settings -> Options -> Format 标签下,选择default
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
2)首先要在settings -> picoblaze 3选择pico的版本为3
3)接着用File -> Import导入符合KCPSM语法规范的源代码
4) 点击上部中间工具条的 Format 按钮,将代码变得美观点
把上次的LED.psm汇编程序,导入pBlazIDE
点击Simulate——Simulate,提示出错。原来
LOAD s0,01 在pBlazIDE变成了LOAD s01 (添加英文逗号)
LOAD s0,00 在pBlazIDE变成了LOAD s0,0
再次点解Simulate——Simulate,能运行,但运行到LED_port提示出错(?IO not mapped)
把 “LED_port EQU $80”修改成”LED_port DSOUT $80”
好了,这样就可以仿真I/O了。
点(Step One)但不运行,可以看到I/O仿真窗口的LED0亮了
下面就LED.psm程序,pBlazIDE语法和KCPSM3语法的对比。
pBlazIDE语法 | KCPSM3语法 |
delay_1us_constant EQU 11 LED_port DSOUT $80
LED: LOAD s0, 1 OUT s0, LED_port CALL wait_1s LOAD s0, 0 OUT s0, LED_port CALL wait_1s JUMP LED | CONSTANT delay_1us_constant, 0B CONSTANT LED_port, 80
LED:LOAD s0,01 OUTPUT s0,LED_port CALL wait_1s LOAD s0,00 OUTPUT s0,LED_port CALL wait_1s JUMP LED |
两种语法要转换的不同点:
1) KCPSM3汇编代码中,直接操作数是以16进制表示的,在pblazeIDE中是转化为10进制的,如要把KCPSM3汇编中的<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />0F转化成15(pblazeIDE)。
2) 从KCPSM3语法到pblazeIDE的转换,要把在原先程序中的output替换为out,在KCPSM的汇编语法中,输出可以用直接操作数写端口,也就是说
output s0,0
是合法的,在pblazeIDE中,我们要通过DSOUT定义端口才可以进行输出。
3)关于IO的仿真:
三种IO:纯输出DSOUT,纯输入DSIN,输入输出DSIO。
输入输出面板的值多能改变。
从KCPSM3语法到pblazeIDE的转换,把相应的IO接口改成DSIN,DSOUT
4) 分布式的RAM仿真
Ram、ROM面板的值为16byte,分布式的RAM仿真;分别用DSRAM和DSROM来独立的表示。
参考资料:
1) picoblaze的调试工具pBlazIDE的使用注意点 -- 1oh1oh1oh's Blog
http://blog.ednchina.com/1oh1oh1oh/129298/message.aspx
2) picoblaze(3): 一个简单的例子+如何仿真 - savor's Blog
http://kalman.is-programmer.com/posts/6223.html
3) picoblaze(4): 利用pblazeIDE进行pico开发 - savor's Blog
文章评论(0条评论)
登录后参与讨论