??? 03/03/09 14:53 Read: times |
#163023 - I didn't say that! Responding to: ???'s previous message |
I said:
Any 'C' compiler that claims to support the 8051 architecture but doesn't provide an easy, direct way to access all of the 8051's memory areas really isn't worthy of the name - and should be ditched! If a compiler that claims to support the 8051 architecture doesn't give you 'C' language acces to the 8051's memory spaces - ie, XDATA, CODE, DATA, IDATA, SFR - then it's pretty worthless for 8051 development. I didn't say that it had to provide access to all features - and I didn't mean to! The beauty of the 8051 architecture is that this is pretty much the only language extension that is required - because everything is effectively memory-mapped, once you have that, you do inherently have access to all the MCU's features. (I'm including SFR space as a "memory space" here). Richard Erlacher said:
That's because the authors seldom know, particularly in advance of their development, what the MCU's features are. They don't need to - since the instruction set and memory spaces remain the same. Many of them have on-chip XRAM, but it's enabled/disabled in different ways. But it's just a matter of appropriately accessing the appropriate SFRs - so, again, once you have that support, there's nothing else required of the compiler And, without that support, the compiler is, indeed, useless. How many of them support the use of both data pointers on MCU's that have them? Again, it's mostly just a matter of manipulating an SFR - so no problem provided that's there. How many support the MAC in the some of the SiLabs parts? Isn't that just a matter of more SFRs? How many support the use (read/write) of internal FLASH? Some of them do; in others, it's just one of those things not suited to HLL perhaps 'C' will allow you to do it, too, but, after all, it's going to take 10x as much effort, and will be 10x as large, and 10x as slow That's not necessarily true in general, and is complete nonsense in the specific case at hand here; ie, accessind XDATA from 'C'. Accessing XDATA in Keil 'C' is a lot less effort for the programmer, and no more effort or code size for the processor. |