For PIC32, I'm just going to move all of the PIC32 h, c, and startup files out from the open source compiler, with the verbal caveat from the interview with Ian, "Its all open source".
This way, there is a clear, PIC32 library, linker files, etc. Then move to CodeSourcery compiler. I have no idea at this time why create a different compiler?
The big issue I always had starting from scratch is all the darn processor files, files with all of the registers, p32xxxx.h
Also, since there is no libraries, it is a restart of what I was doing, but with OK to use the processor header files, (FYI, still have the old license agreement)
Copyright � 2008-2009 released Microchip Technology Inc. All rights reserved.
Microchip licenses to you the right to use, modify, copy and distribute Software only when embedded on a Microchip microcontroller or digital signal controller that is integrated into your product or third party product (pursuant to the sublicense terms in the accompanying license agreement).
You should refer to the license agreement accompanying this Software for additional information regarding your rights and obligations.
The issue with adding a PicKit3 to openocd is the protocol, how it maps commands from ISCP to JTAG bus. And the command set provided via USB. There is some docs, but it would be nice to have the complete firmware source code. Then from there, it can be done. I'm using openOCD with JTAG on the PIC32, but it is different pins, would like to use the standard ISCP to JTAG. According to the documentation, no reverse engineering is allowed... Thus the issue...
Also, would be nice to have the source on the PIC32 exception handling for debugging. There is code in the bootloader to handle this.
Overall, my understanding is - The tool group is a revenue generating group, if they have open source then this may cause revenue issues. - If the code is open source, DIY will get themselves into problems and create a large number of support requests to microchip.
I'm a DIY, having a rope is the best part of using ARM parts. Using PIC32, have to weave the rope, make the chair to stand on etc, but, because the code cannot be shared. Using an ARM we have all of the source, in fact an ARM company allows their library to be used on other ARM parts. Microchip does not.
90% of the people will look at the code and not even use it...
Also it would be nice to take the PICkit3 and add it to openocd. Then you have a complete open source solution.
My goal, was to hide it was a MIPS, thus the same API code etc would run on a PIC32 or ARM. Using the same debugger API, etc. Oh well, it was a good idea.
I was working on porting the Microchip libraries over to open source GCC and wanted to get clarification on on the license, after a few tickets exchanges I could not release the code to the public. This is due to the license agreement in the PIC32 library, you are free to modify but not repost modifications.
Also, was changing the register layouts to use a #define instead of the linker options to map data. Also, new bootloader, getting rid of MicroChip ROM code, its in boot loader for debugging. So a clean boot loader and app.
I was using openocd debugging programs etc, everything was fine until that moment, so, just stopped all development on PIC32.
One issue I'm always running into is the different pin out on boards for JTAG. So, the goal I'm trying to do is some allow a programming option to setup the pins different. So, now I don't need different break out boards.
Is this feasible? Good idea? I guess how do I get started? Yes, Yes, I'm a newbie...