The Swordfish Compiler.
As usual this article is not intended for you, it is merely a reminder for me. It is pointless considering the value of anything unless one makes a comparison with a similar product. In this case I have compared SF with Proton+.
PIC devices supported by the full version of SF at 21st January 2011.
PIC devices supported by the full version of Proton at 21st January 2011.
14 bit core devices.
16 bit core devices.
18 bit core devices.
SF device files are badly out of date and do not include current devices that I am interested in, ie, the 18F25K22 PIC. SF also only works with 18 bit core devices. With Proton, the PIC I want to use is there on the list and the bootloader works !.
Devices supported by Amicus (the free version of Proton) at 21st January 2011.
Devices supported by the current 'Special Edition' of SF at 21st January 2011.
The PIC that the Amicus compiler uses, the 18F25K20, is one of the latest PIC's and a powerful device. On the negative side it is a 3.3 volt device and not without many interfacing problems.
SF special edition, on the the other hand supports many more PIC types but they are all relatively old ones. SF claim that the only limitation of the special edition version has concerns RAM ("The compiler is only constrained in terms of the amount of RAM available during compilation), but obviously for that to be true this edition needs to have all of the support files added. As it is, .... neither the full version or the free special edition version supports the 18F25K20 or 18F25K22 PIC, which makes it useless for my application.
Both SF and Proton use the Mechanique Microcode bootloader. In the case of Proton this is up to date and works with all PIC devices shown above.
The SF version of the Mechanique Microcode loader is again badly out of date, so even if you can generate the BAS and INC files for new devices, you cannot use the built in Microcode bootloader !. Your only practical recourse is to program the PIC with a programmer, or jury rig an external bootloader such as the DS30. Both compilers cost about the same and even if the support files were made available, you still get more bang for your buck with Proton.
It may be argued that the "Swordfish Include generator" software can produce the missing BAS and INC files, but as one expert said "Take a look at the files generated. Remember, they may need tweaking - refer to the datasheet. Also note that Microchip, on occasions, have the wrong information supplied in their own files!". Now it has become normal for the customer to have to test products, but also asking you to do the development as well, is really taking things too far !.
The device files for the SF compiler are so far out of date that I was surprised that they were still selling it. On the positive side it may be possible to fix the bootloader problem, as there are some possibilities. With time, more device files will probably become available, but I did think it would pay the developer, to start with the latest devices and work backward. Although the 18F25K22 has only been in quantity production for a month it is already, becoming a classic. Let's face it, if the special edition worked as was claimed, I would have been able to use it with the 18F25K22 and never have noticed any other short comings. I am not alone in this thinking as Picaxe have already dropped the the past versions of the 28X2 Picaxe chip and also have adopted the 18F25K22 ... which makes a lot of sense.
The 18F25K22 also, to my thinking, makes the 18F25K20 redundant. The 18F25K20 is rated only for voltages in the 1.8 - 3.3 volt range. The 18F25K22 covers the complete range of 1.8 - 5.5 volts. This does suggest that the PIC selected for the Amicus compiler is now obsolete and I can only hope that Crownhill will move to the 18F25K22 PIC ... and make a lot of people happy !.
Note. I only started looking at the SF yesterday, so I would be grateful if anyone can point out any errors. Thank you.