Ooooops ... David was quicker than me to answer
Hi,
I agree with rmteo. he is right in when he says:
1- SF is the BEST compiler ever developed for PIC
2- A version for PIC24 or PIC32 will be great.
In fact the modularity and structured way SF is done, makes it a very very adapted and good candidate for these chips.
However, I agree also with TIM when he says that it's a difficult task to port it.
In fact PIC24 architecture has nothing to do with PIC18 one. Idem for PIC32.
David choosed PIC18 architecture because it was a cleaner one than the ugly PIC12/16 (12 and 14 bits) architecture. see
http://www.sfcompiler.co.uk/wiki/pmwiki ... evelopment
As for the PIC24, the architecture is by far better than PIC18 one. maybe some of the most important aspects of this architecture are:
- 16 bit architecture (data bus)
- Interrupts vectorisation
- True software stack management
- Software remapping of hardware peripherals
...
these are the most notable differences ... (from compiler writer point of view).
This imply a lot of work from compiler writer side:
- First, data are not necessarily packed in the same manner in memory
- Some bit packing strategies (and passing as param) do not apply the same with larger data bus
- PIC24 introduce the VIEW WINDOW strategy (instead of banking and shared area introduced by PIC18)
- Stack management (and thus procedure activation record or frame stacks) has to be reviewed
- Interrupts handling (and thus EVENTS and INTERRUPT CONTEXT saving strategies) have to be reworked
- all internal code for calculations since there are a lot more registers available (instead of the single Working reg in PIC18) ... and there are dedicated operations like multiplication of big numbers ...
- Some instructions (and regs) specially dedicated for loops ... that can be (or MUST be) used to accelerate loops or indirect addr for arrays ...
....
you can see that this are the apparent and easily spoted out problems that can be encountred when porting a compiler from PIC18 to PIC24. Other more technical problems can arise ....
Idem for PIC32. The architecture is based on a fully different core, a MIPS core. Dont even try to compare ... everything is different ... nothing is like PIC18 series !!!! more regs, regs sizes, ... stack management, ... interrupts handling ....
Porting SF to other architectures is by far a very nice thing, but do not expect it to be done in few months or so. it's not a matter to change only the code generator.
and to finish this post, if it was for me, if I want to see something happen, is to have SF ported to ARM cores instead
Regards
octal