Search in Pinguino World !!

Tuesday, August 18, 2009

Bootloader version 2

Alpha version of bootloader version 2 is available !!
This booloader is compatible with our 18F4550 design but can be used with the old 18F2550 pinguino design.
It doesn't need a run button. Run is automatic after 5 seconds.

All functionalities are currently under testing.
Download alpha version.

09/05/2009: Alpha version is out of date.
see this post.


walter said...

Test it.

funlw65 said...

Hi Jean-Pierre,

I can't use a pin for bootloader LED indicator. I spent all the pins and I still need one more :) .

If you want, please make a version without the need of that LED.

Thank you,

P.S. I'm working at improving my prototype: I have to choose between a couple of variants.

Ulises said...

Great job

Siddhy said...


Pinguino is supposed to be open software. Are the sources available ?

Thank you.

funlw65 said...

As I understand, Pinguino is developed on top of Vasco USB application framework (which is open source).
Using a modified version of Vasco bootloader and a python editor/parser to translate the Arduino language.

Vasco site here.

Pinguino project is open source but bootloader is still closed.

For a fast Arduino translation, we need to have a C/C++ compiler as a target. Unfortunately, we have only SDCC as free tool and is only C language. So, all functions, members of a CLASS, are translated on simple C functions.

Another problem is that Vasco project wasn't updated to a new version of SDCC - is still using the 2006 version.

Maybe this dependency of Vasco project is not a good thing... On a new project starting from the most recent SDCC version, a standard USB library must be created. An Microchip USB bootloader and user application starting from 2048 byte (no more pointers to a main user function from bootloader)... Just thoughts...

Jean-Pierre MANDON said...

Hi everybody,

Of course Pinguino is open software. It is based on SDCC and GPUTILS. The IDE was written with python and all the source is in the package.
Bootloader is based on Vasco project from Pierre Gaufillet. Pierre has done a great job and i just used his bootloader with little modifications. I can send the modified source, it's not a problem.

Vasi, you are right. I used the last stable version of VASCO bootloader wich is based on SDCC 2.6.0. So Pinguino is based on 2.6.0 for compatibility.
Pierre is working on a new version of VASCO based on SDCC 2.9.0 but his work is still in progress. I try to help him when possible but it seems that it is not yet finished.
Pinguino will be ported to 2.9.0 when VASCO will be ready. It's important to not that Vasco is better than Microchip USB bootloader because USB stack is shared beetween application and bootloader. it was a fantastic idea initiated by Pierre Gaufillet.
Hope the new version of Vasco will be soon available.

funlw65 said...

Thanks for the info.
What kind of USB "protocol" is used? HID or CDC? How much flash space is left for application? And for RAM?

Jean-Pierre MANDON said...

USB protocol is bulk, it is faster than HID or CDC. HID should be reserved for peripherals like mouse or keyboard. CDC is a serial emulation and is used when software is designed for serial devices.
Bulk is faster because it can use all the bandwith and it is easy to program. Some examples were shown with processing ( java ) and i developped a python terminal for USB. I am working too on LUA because i use it on embedded linux devices ( FONERA ) and i compiled libusblua for Atheros, so pinguino can be used on a Fonera 2.0 as an input output card with LUA and Openwrt.
I will take some time to package USBterm correctly and make it available for everybody.
For available flash space with VASCO, it's the same than microchip bootloader, application code is loaded at 2000H. For RAM space i must check source to answer.

Ulises said...

I have just finished my pinguino card with a 18f4550, but it has hot worked.

I already downloaded the bootloader, and it seems to have been written properly.

When i plug it into the pinguino and next to the mac, the power led shows a ok state. I open pinguino and compile the "firstest test program of input output folder".

First problem: When i make click on upload to pinguino, it doesent shows any message that shows the upload progress level.

Second problem: When i try to use the program (with the pinchguino conected to the mac) the power led beggins to blink, and after this it turns off. I tough that it was a electric problem, but i realice that my board has a Force run option (PIN6 ) and it stills turn on.

Tird problem. The program isn't running,

Than you

Ulises said...

On last post i wanted to say: I have just finished my pinguino card with a 18f4550, but it has not worked yet.