Wiring IDE with support for Papilo Junior
This project aims at adding support for PIC18F controller based Papilio Junior v2 board with Arduino adapter (which together form a Arduino compatible platform), to the existing standard Arduino Wiring IDE. We will also develop native core libraries for use with these boards and add a command line downloader that uses Microchip HID bootloader to enable programming the target with compiled sketch.
While the Papilio Junior v2 board can use all Papilio Wings as peripheral add-on boards, use of Arduino adapter enables it to use almost any Arduino shield available, along with the same application sketches, mostly unchanged.
Arduino IDE is hardcoded for using the GNU AVR compiler for Atmel AVR controllers, which prevents it from using any other controller family or any other development tools. We will add support for other compilers/linkers/toolchains that will allow using core libraries developed for other controllers.
We use the current Arduino IDE 0022 sources as starting point.
The general compilation process of Arduino is:
Next step is to program the .hex file into the target by a programer device or serial/USB downloader application.
The basic idea is to select the proper software tool (where a avr-gcc tool is hardcoded) at each step. Although it looks easy, we must follow the conventions laid out by Arduino team and allow all existing Arduino hardware and software to work seamlessly. It means the folder structure, file formats, file locations must be retained and improved upon wherever necessary, without affecting the working of standard Arduino IDE.