On 20 Aug 2011, at 15:46, David Welch wrote:

>> 
>> 
>> The great strength of ARM is that the peripherals, even if in different 
>> locations in different manufacturers parts, are identical in hardware terms 
>> if they are all cortex m3; that is the IP which they license from ARM.com. 
>> So maybe that is another reason for keeping the peripheral offset 
>> definitions and peripheral drivers separate and out of the compiler.
>> 
>> Geoffrey
>> 
>> 
> 
> Not sure what you are saying here, almost none of the peripherals are the 
> same from vendor to vendor.  With the cortex-m3 the systick timer and the 
> VNIC for example are from ARM, sure, but the majority of the items you are 
> going to use timers, dma, pwm, gpio, clocks and enables, etc are vendor 
> specific and vastly different from vendor to vendor. Within a vendor they are 
> very similar if not the same but from ti to st most of the items are not 
> compatible, likewise from ti to lpc/nxp or ti to atmel, etc.

You are right, of course. I have not looked at the data for other than 
Stellaris devices, I just generalised from the ARM TRM.

> 
> Normally these are libraries and not buried in the compiler proper, I agree 
> with that.  Perhaps that is what you were saying and I misunderstood.

not quite, but it is my aspiration :-)

> 
> And as with libraries you can take them or leave them, that would want to be 
> the case here (without having to dig into the compiler proper). Would need to 
> roll your own target to avoid/modify a library.  Ideally with the compiler 
> you want to specify the arm core to take advantages of instructions each 
> newer core supports.  Not use them to tie to boards or systems.
> 
> I was hoping for thumb support but I now see that the choices are limited to 
> arm and thumb+thumb2 (without any separation between thumb and thumb2).  
> Actually thumb2 wasnt working for me, I got an arm+thumb2 mix, so I will ride 
> this along for a while and see what comes up, otherwise limit my use to ARM 
> targets, or start working on a thumb backend.  Adding backends as well as arm 
> embedded are of interest to me so I may work on a little of both.
> 
> So far it seems to be very straight forward to add a platform/device to fpc 
> arm embedded, so if the stock support is too bulky or confusing individuals 
> can cherry pick items they want and make their own simpler target.

The approach used in coide is quite interesting. Have a look on coocox.org. 
They have it down to box ticking.

> 
> Actually what we definitely need here in the near term is an arm generic 
> target and a thumb2 generic target that does not have any of the vendor 
> specific items in it, perhaps not even core specific peripherals.

I agree.

> 
> I understand this is a work in progress and sorting everything out will take 
> some time.

Unfortunately the discussion is rather torn between the basic simplicity camp 
and the portmanteau camp. I rather think the latter is more suitable for a 
commercial company which can afford the maintenance, otherwise it is always 
out-of-date. Keeping up with new ARM cores is perhaps enough to do already.

Geoffrey.

> 
> David
> 
> _______________________________________________
> fpc-devel maillist  -  fpc-devel@lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-devel

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to