Friday, December 3, 2010

Papilio One

Things are coming out smooth :) After some bug-fixing on software side, and some new improvements, ZPUino runs on Papilio One FPGA (S3E-250), and is able to program sketches and even program itself. And programming is quite faster than "traditional" JTAG-based programmer (think 300+ seconds versus 20 seconds to program FPGA bitstream). The Arduino "ASCII" example runs perfectly now. I'll try to get all other examples working soon. Serial buffer was increased to 2Kb, and programming now uses 1Mbps instead of 115200. Some new routines were added to bootloader to allow fast programming of SST flash devices.

Another feature is soft reset using the serial line. So you can reset ZPUino even when it is in a very bad state, just by sending a "serial break", of a special serial code using 300 baud rate. Very useful for programming (no need to hand-reset), and when you use some serial terminal (just send a break and it will happily reset).

Álvaro

Friday, November 12, 2010

Some updates, new boards

Some updates were pushed, most regarding the new Papilio One Board I received today (Jack: thanks again for the prototypes).

Simulator should also work now perfectly, I found some issues with endianness which are already fixed.

The Arduino IDE is also now able to program the simulator directly from IDE. It's very nice.

I'll focus on new boards from Gadget Factory, the Papilio One and the Papilio Uno :) Pretty confusing, but one is a standalone board and other is meant to be used as an Arduino Shield.

So far ZPUino uses 60% of low-end Papilio boards - this does not mean that it can only grow 40% more, means that after 100% we might need to slow down speed to use otherwise unused resources (ask me for clarification if you never heard of related logic packing).

Álvaro

Sunday, October 24, 2010

Social Networks Update

You can now find ZPUino in Twitter and Facebook.

Enjoy the news updates! :)

Also a new web page is on the forge, I hope to upload it soon.

Álvaro

Saturday, October 23, 2010

UI for ZPUino

Just forked Arduino UI and added specifics for ZPUino. Should work to some extent (some changes still required due to PPS).

You can get it here: http://github.com/alvieboy/ZPUino

Álvaro

Tuesday, October 19, 2010

PPS implemented

PPS is now implemented and tested. I uploaded to main git repository.

It can be disabled if one wishes, because it uses more LUTs than CPU core. Bootloader is now tuned to S3E eval board, new boards should arrive soon.

GPIO width was increased to maximum of 128 GPIO pins. Unused pins will be removed during synthesis.

Also I changed bootloader from C code to C++ code. This allows for template-based inlined functions for pinMode and digitalWrite, as well as other goodies that C++ can bring.

Álvaro

Saturday, October 16, 2010

New features, GUI first version

A new "interesting" feature is now under development, which is PPS - Peripheral Pin Select. This feature (although a LUT eater) allows you to redirect any peripheral pin (such as UART tx/rx, SPI) to any GPIO you might wish - and you can do it in run-time. Some microchip PIC include this feature, and for boards who do not actually include external devices it's always nice to be able to plug them in any connector board might provide, and redirect things like UART and SPI there.

Changes to Arduino IDE also went well - after modifying compiler rules to use standard makefiles you can actually use that same IDE to develop and even upload your "sketch" to ZPUino. Unfortunately Arduino developers do not see this "Makefile-based" build as a good thing, let's hope they do reconsider their position - everyone wins if they do.

Álvaro

Monday, October 4, 2010

Bootloader up and running.

Looks like bootloader and programmer work OK. Still a few things to do, like retry transmission, better detection of ZPUino on startup, and implement drivers for flash other than M25P16.

But generic flash programming seems to work very well. In future, if FPGA is also using SPI for program storage we can program both (FPGA and ZPUino) from a single application (will be slower, because I'm limiting programming to 115200 baud).

Jack decided to offer me a prototype of the upcoming Papilio Overshield (It's a Spartan3E with SPI flash and voltage level converters (5v) that looks like another arduino shield). Looks very promising.

Álvaro