Tag Archives: linker

Picoblaze Utils 对工具链的需求

自己的Picoblaze已经在用了,并且项目已经结了。 把想法记录一下,否则过一段时间就忘了。 先说说需求的由来,本来SPI Master是用Verilog来写的,刚开始还好,到后来需要加入数据变换、饱和、读写SRAM,渐渐的用Verilog开始很麻烦了…… 因为Picoblaze的每个指令都是2个clock,于是转到Picoblaze。用汇编写了第一版的固件,比verilog方便很多,无论是改变时序,还是增加一些功能。但是汇编有个很烦的问题——条件判断和循环! 当程序变大、变复杂之后,各种跳转就会让人头晕,而且很容易一不小心跳错。也有函数忘了写return导致直接跑飞,退出中断isr忘记重新使能中断……oh,no…… 一、于是开始找编译器

Posted in Others | Tagged , , , , | 2 Comments

Finished picoblaze-utils

完成PicoBlaze的工具链,目前用python的正则表达式来做,主要是想快速构建一个工具链,以后有时间再使用llvm(c++)或cparser(python)来重写前端。 当前的c语法和汇编很接近,并且没有push和pop操作,需要自己封装成宏。需要自己分配寄存器。但是PicoBlaze本来就不是很强大,定位是可编程状态机,所以暂时够用了。 代码上传到github了,以GPLv2发布。 https://github.com/buaabyl/picoblaze_utils

Posted in Others | Tagged , , , , , , , | Comments Off on Finished picoblaze-utils