[fpc-devel] Circular references and forward declarations
Marco van de Voort
marcov at stack.nl
Wed Jan 6 14:50:39 CET 2010
In our previous episode, Wimpie Nortje said:
> Marco van de Voort wrote:
> > Yes, but from what I remember it was canceled because the amount of
> > periphery on the chip is poor. I also looked at ARM, but while there is more
> > choice there, it is fragmented over multiple vendors, with multiple
> > toolchains (if a free one exists at all)
> What was canceled? The AVR devices is certainly not and neither are the
> GCC toolchains (one for 8b and one for 32b).
Our investigation into AVR.
> > PIC32 is only interesting because it is slightly faster and has more mem.
> > But that would be more a future proofing thing, since we don't really lack
> > it atm.
> I don't want to start a AVR/PIC fight because it always ends up in a
> religous war and this is the wrong list anyway. However, some of my
> reasons for moving from PIC to AVR are:
I've found that most of those sentiments are based on old arguments that
don't go nowadays. Such discussions could be kept on track ( and
interesting) if you simply name numbers.
> - AVR is faster,
microchip 16-bit maxes at 40 or 50MIPS. Our is 40MIPS.
32-bit goes higher, 80MIPS or so.
We keep "speed" mostly in reserve for unexpected problems we have to
improvise on . Most of the normal functionality ( a shift register, encoder
based) is done by hardware on the chip with no blocking or polling own code,
leaving the CPU power (and a lot of normal goodies like pins with special
purposes and timers) free for improvising in case of trouble.
> - has usually more memory, which programs faster
Only if you need it. I typically use 1 - 1.5 kb of the PIC that has 8kb (and
there are 16kb editions). PIC32 parts go up to 128kb (ram) iirc.
All 16-bit and 32-bit mem is dual ported for DMA purposes.
> - has higher code density,
No idea. Don't care. The flash of the standard part is 128kb, and I use
typically 7k, and haven't been above 11k. We have more flash because the
motorcontrol parts are more expensive, and the more expensive parts have
more flash. (typical region Eur5/chip)
> - has cheaper tools (programmers etc)
Microchip programmers start from Eur 20. (note that this particular bit has
changed significantly in the last 2 years)
> - has free toolchains for all devices
Afaik all 16-bit devices are supported by the free toolchains, but have
> The down side is that Microchip has never to my knowledge obsoleted a
> device, whereas Atmel quite often do obsolete parts which then requires
> recompiling the program for the replacement part.
Another important reason was the existance of high pin count (100,144)
devices, since we have a lot of binary I/O.
More information about the fpc-devel