最近在使用Atlys开发板,简单地过了一下板子光盘上的程序。因为例子用到了PicoBlaze,而在这之前并没有接触过PicoBlaze的东西,所以一开始有畏难情绪。后来画了十几分钟读了一下PicoBlaze的用户手册和kcpsm3的指南,发现也没有那么难;而且PicoBlaze真的是非常简单。因为例程里有的东西并没有讲到,可能会对初学者造成不顺利,所以在此把缺失的部分补上,希望对后来者有用。
首先修改program.psm文件,用记事本或者写字板都可以打开。它是一个函数模版的性质,打开基本就是一目了然:
;================================================================
; Port address definitions...
;================================================================
CONSTANT switch_in , 00 ; Switch read port
CONSTANT leds_out , 01 ; LED write port
CONSTANT uart_data_rx , 02 ; UART receive read port
CONSTANT uart_data_tx , 03 ; UART transmit write port
CONSTANT data_present , 04 ; UART stat read port, lsb
CONSTANT buffer_full , 05 ; UART stat read port, lsb
;================================================================
; Useful constant declarations...
;================================================================
CONSTANT all_clear , 00 ; define zero
CONSTANT ascii_NUL , 00 ; ascii code (null character)
这里为了实现一个最简单的功能,即把switch的状态读到PicoBlaze的一个寄存器里面,再把该寄存器的内容写到LED端口上控制LED的状态;这是一个loopback测试程序。 |