Saturday, February 10, 2018

Bootloader and board upgrades

I did modifications to the both versions of the Il Pinguino Rosso boards and to the serial bootloader. Now there is a single unified design - the bootloader no longer address different hardware configurations of the various variants of the board. Bootloader had a bug that prevented correct functionality - now is fixed.

The Bootloader

- is a modified copy of the AN1310 Microchip high speed serial bootloader (although, mine is set to the 19200bps);
- it can be compiled entirely and exclusively with gputils open-source assembler;
- is delivered as PikLab (the link is for the Fedora and OpenSUSE linux distros) project under linux, but console utilities that allow a standalone compilation (as long as you have the gputils and pk2cmd installed and functional) are also provided;
- the board enters bootloader mode when the user button on the board is pressed at the power or reset time. If not, the application is started immediately! I would say that this is the desired behavior in the industrial environment :);
- the application is located in flash memory starting with the $300 address and the vector interrupts at $308 and $318 - the bootloader occupies the first 768 bytes of the flash memory.


The "Breadboardable" Board

- is based on the Microchip's PIC18F46K22 microcontroller (exclusively, but you can use the schematic as a reference design for your own micro) because it offers separate I2C and SPI peripherals;
- the boot button puts the RA4 pin at GND when pressed;
- the cathode of the boot  mode indicator LED is grounded (the anode is connected to the RC2 pin) via an 470R resistor;
- the one variant of the board offers a standard Arduino PRO serial connector and the other design has a PIC16F1454 micro included that connects the board at an USB port (virtual serial port);
- all the examples provided in the repository are Eclipse projects that are compiled with the SDCC open-source compiler.

Go to the repository - all you need is included there!

No comments:

Post a Comment