Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

RE: [lpc2000] Re: Looking to buy compiler

2005-11-08 by Paul Curtis

Hi, 

> > You are very very confused...  You have absolutely no idea what
> >"__REG32
> > MR0I :1" means, do you???  It is obvious that you are 
> operating under  
> >some other understanding of just what it is that you wrote.
> > 
> > Go have someone explain it to you, it would take too long 
> to do here.
> 
> #define __REG32 unsigned long
> 
> I only declare bit field. I can use uchar, or uint, it does't 
> important for bit field declaration Any questions?

Yes, it *does* matter.  The only *correct* usage when defining a
bitfield is to use int or unsigned int -- if you use unsigned long or
unsigned char when defining a bitfield, all bets are off because ISO C
does not *define* what happens.

Some compilers *do* define what happens when you use these types but
that is an extension of the existing standard.  A useful extension to be
sure, and something that might, one day, even make it into the standard
(though I really do dobt that it will).

There is a technical report (TR) which does not hold as much weight as a
full standard that does define how to access I/O using C-language
constructs.  You're bending the language and your interpretation to fit
the hardware.

That's all I'll say.  GCC doesn't do what you want it to do, you found a
compiler that does, be happy.  :-)

--
Paul Curtis, Rowley Associates Ltd  http://www.rowley.co.uk
CrossWorks for MSP430, ARM, AVR and now MAXQ processors

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.