From: Peter O. <Pet...@bt...> - 2005-08-01 19:06:52
|
I have a structure ... union PACKET { unsigned char raw[18]; struct { unsigned Len:4; unsigned Dst:4; unsigned Pro:4; unsigned Src:4; unsigned char bytes[16]; }; }; This code works..... union PACKET p1; p1.Len = 1; p1.Dst = 2; p1.Pro = 3; p1.Src = 4; and the first two byte are set to 0x12 0x34 But this code does not work..... union PACKET *p2; p2 = &p1; p2->Len = 5; p2->Dst = 6; p2->Pro = 7; p2->Src = 8; and the first two bytes are set to 0x06 0x08 Looking at the .asm file, it seems the compiler is ignoring the bit field definitions when using pointers. Is this a bug or an unimplemented feature ? Peter. |
From: Peter O. <po...@al...> - 2005-08-02 15:11:49
|
On Mon, 2005-08-01 at 20:06 +0100, Peter Onion wrote: > I have a structure ... I've submitted a bug report on this, Peter |
From: Richard E. <ed...@id...> - 2005-08-02 16:00:50
|
Can anybody recommend a PC-compatible compiler that understands the syntax and function of the SDCC? I thought I'd seen some comment on this on the SDCC site, but haven't lately been able to find it. thanks, Richard Erlacher ----- Original Message ----- From: "Peter Onion" <po...@al...> To: <sdc...@li...> Sent: Tuesday, August 02, 2005 9:11 AM Subject: Re: [Sdcc-user] PIC16: pointers to bitfields in structures > On Mon, 2005-08-01 at 20:06 +0100, Peter Onion wrote: >> I have a structure ... > > I've submitted a bug report on this, > > Peter > > > > > ------------------------------------------------------- > SF.Net email is sponsored by: Discover Easy Linux Migration Strategies > from IBM. Find simple to follow Roadmaps, straightforward articles, > informative Webcasts and more! Get everything you need to get up to > speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > _______________________________________________ > Sdcc-user mailing list > Sdc...@li... > https://lists.sourceforge.net/lists/listinfo/sdcc-user |
From: Frieder F. <fri...@we...> - 2005-08-02 16:46:55
|
Richard Erlacher wrote: > Can anybody recommend a PC-compatible compiler that understands the > syntax and function of the SDCC? I thought I'd seen some comment on > this on the SDCC site, but haven't lately been able to find it. Hi, you could "#include <lint.h>" on top of your files. This basically removes/translates SDCC specific keywords and should ANSIfy your source enough to run gcc or another compiler over it. This might require conversion of your include files to the more ANSI compliant style which for example 8052.h uses. Note, gcc will still stumble over code which contains the __asm; __endasm; keyword pair. RFC: maybe SDCC should also allow inline assembly like __asm(NOP); ? Greetings, Frieder |
From: Richard E. <ed...@id...> - 2005-08-02 17:14:14
|
Thanks. Frieder, for the guidance. I'm making very small stepwise motions in the direction of getting SDCC to where I can actually use it. I'm in a lot worse fix than you may realize, however, in that I've yet to figure out how to get SDCC to run on a Windows box. That seems to be the only available non-LINUX environment for it. Sadly, I'm not comfortable enough with LINUX to want to venture into that environment. I've been unable to find out enough about SDCC or GCC or CYGWIN because the associated websites are too full of non-information, e.g. glitz, glamour, links and advertising, but nothing that explains precisely how and in what precise environment (directory config, etc.) these tools have to run. Can you refer me to a site that actually explains this? I'm not unwilling to dedicate an entire computer to a development tool, but (a) I don't want to have to learn LINUX, and (b) I don't want to have to interpret someone else's code. I believe I need basic information, simply because, though I've been aware of SDCC, GCC, and CYGWIN for several years, I've been unable to find out (1) what, EXACTLY, they are, and aren't, (2) what, EXACTLY they do and what role they have in the larger scheme of things, and (3) how, EXACTLY, they have to be installed/configured/provisioned. Can you recommend a source of this information? thanks, Richard Erlacher ----- Original Message ----- From: "Frieder Ferlemann" <fri...@we...> To: <sdc...@li...> Sent: Tuesday, August 02, 2005 10:46 AM Subject: Re: [Sdcc-user] code portability > Richard Erlacher wrote: >> Can anybody recommend a PC-compatible compiler that understands the >> syntax and function of the SDCC? I thought I'd seen some comment on this >> on the SDCC site, but haven't lately been able to find it. > > Hi, > > you could "#include <lint.h>" on top of your files. > This basically removes/translates SDCC specific keywords and > should ANSIfy your source enough to run gcc or another compiler > over it. > > This might require conversion of your include files to the more > ANSI compliant style which for example 8052.h uses. > > Note, gcc will still stumble over code which contains the __asm; __endasm; > keyword pair. > > RFC: maybe SDCC should also allow inline assembly like __asm(NOP); ? > > Greetings, > Frieder > > > ------------------------------------------------------- > SF.Net email is sponsored by: Discover Easy Linux Migration Strategies > from IBM. Find simple to follow Roadmaps, straightforward articles, > informative Webcasts and more! Get everything you need to get up to > speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > _______________________________________________ > Sdcc-user mailing list > Sdc...@li... > https://lists.sourceforge.net/lists/listinfo/sdcc-user |
From: <Ant...@se...> - 2005-08-02 17:36:13
|
> I've been unable to find out enough about SDCC or GCC or CYGWIN because But you don't need cygwin or Linux. Download a build of SDCC for windows, install it and it runs. I also have Mingw GCC which also works like any other Windows ANSI C compiler, - no need for cygwin. I also downloaded GNU Make and a bunch of other tools like SED and AWK as pre-built binaries for PC. Building target code to run on a PC instead is usually a matter of dealing with the differences with macros, or even a different include file. You probably want to replace int with short. Check out the default "signedness" for chars. You may need to omit "const". Usually I have more problems going the other way, getting code that works on a PC to work on an embedded target, especially a 24-bit DSP. I've used Borland C for DOS (running under windows) but you should choose the best debugger first then choose the compiler. Ant ------------------------------------------------------------ This email and any attached files contains company confidential information which may be legally privileged. It is intended only for the person(s) or entity to which it is addressed and solely for the purposes set forth therein. If you are not the intended recipient or have received this email in error please notify the sender by return, delete it from your system and destroy any local copies. It is strictly forbidden to use the information in this email including any attachment or part thereof including copying, disclosing, distributing, amending or using for any other purpose. In addition the sender excludes all liabilities (whether tortious or common law) for damage or breach arising or related to this email including but not limited to viruses and libel. |
From: Richard E. <ed...@id...> - 2005-08-02 19:34:19
|
see below, plz. regards, Richard Erlacher ----- Original Message ----- From: <Ant...@se...> To: <sdc...@li...> Sent: Tuesday, August 02, 2005 11:35 AM Subject: Re: [Sdcc-user] code portability > >> I've been unable to find out enough about SDCC or GCC or CYGWIN because > > But you don't need cygwin or Linux. Download a build of > SDCC for windows, install it and it runs. > Now there's a point I've never before encountered! > > I also have Mingw GCC which also works like any > other Windows ANSI C compiler, - no need for cygwin. > > I also downloaded GNU Make and a bunch of other tools like > SED and AWK as pre-built binaries for PC. > Do these also operate happily without CYGWIN? > > Building target code to run on a PC instead is usually > a matter of dealing with the differences with macros, > or even a different include file. > You probably want to replace int with short. Yes, that's likely. > Check out the default "signedness" for chars. > You may need to omit "const". > > Usually I have more problems going the other way, getting > code that works on a PC to work on an embedded target, > especially a 24-bit DSP. > I suppose that's true ... Is it NEC, OKI or TI? > > I've used Borland C for DOS (running under windows) but > you should choose the best debugger first then choose the > compiler. > That's probably useful advice. > <snip> |
From: <Ant...@se...> - 2005-08-04 12:50:55
|
> > I also downloaded GNU Make and a bunch of other tools like > > SED and AWK as pre-built binaries for PC. > > Do these also operate happily without CYGWIN? They do if you get them from http://unxutils.sourceforge.net/ You have to be a little careful when to use backslash paths in make. It may be happy with either slash but when they get passed to an external program it may not be so friendly. Ant ------------------------------------------------------------ This email and any attached files contains company confidential information which may be legally privileged. It is intended only for the person(s) or entity to which it is addressed and solely for the purposes set forth therein. If you are not the intended recipient or have received this email in error please notify the sender by return, delete it from your system and destroy any local copies. It is strictly forbidden to use the information in this email including any attachment or part thereof including copying, disclosing, distributing, amending or using for any other purpose. In addition the sender excludes all liabilities (whether tortious or common law) for damage or breach arising or related to this email including but not limited to viruses and libel. |
From: Richard E. <ed...@id...> - 2005-08-08 14:49:20
|
Ant, I'm curious about the statement,"Windows 9x/NT/2000/XP users are recommended to use Cygwin," from the SourceForge website. Is that just an anachronism? regards, Richard Erlacher ----- Original Message ----- From: <Ant...@se...> To: <sdc...@li...> Sent: Tuesday, August 02, 2005 11:35 AM Subject: Re: [Sdcc-user] code portability > >> I've been unable to find out enough about SDCC or GCC or CYGWIN because > > But you don't need cygwin or Linux. Download a build of > SDCC for windows, install it and it runs. > > > I also have Mingw GCC which also works like any > other Windows ANSI C compiler, - no need for cygwin. > > I also downloaded GNU Make and a bunch of other tools like > SED and AWK as pre-built binaries for PC. > > > Building target code to run on a PC instead is usually > a matter of dealing with the differences with macros, > or even a different include file. > You probably want to replace int with short. > Check out the default "signedness" for chars. > You may need to omit "const". > > Usually I have more problems going the other way, getting > code that works on a PC to work on an embedded target, > especially a 24-bit DSP. > > I've used Borland C for DOS (running under windows) but > you should choose the best debugger first then choose the > compiler. > > Ant > > ------------------------------------------------------------ > This email and any attached files contains company confidential > information > which may be legally privileged. It is intended only for the person(s) or > entity to which it is addressed and solely for the purposes set forth > therein. If you are not the intended recipient or have received this > email > in error please notify the sender by return, delete it from your system > and > destroy any local copies. It is strictly forbidden to use the information > in this email including any attachment or part thereof including copying, > disclosing, distributing, amending or using for any other purpose. > > In addition the sender excludes all liabilities (whether tortious or > common > law) for damage or breach arising or related to this email including but > not limited to viruses and libel. > > > > ------------------------------------------------------- > SF.Net email is sponsored by: Discover Easy Linux Migration Strategies > from IBM. Find simple to follow Roadmaps, straightforward articles, > informative Webcasts and more! Get everything you need to get up to > speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > _______________________________________________ > Sdcc-user mailing list > Sdc...@li... > https://lists.sourceforge.net/lists/listinfo/sdcc-user |
From: Martyn W. <we...@co...> - 2005-08-10 01:20:34
|
=2D----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 =2D ------ Original message ------ On Monday 08 Aug 2005 15:49, Richard Erlacher wrote: > I'm curious about the statement,"Windows 9x/NT/2000/XP users are > recommended to use Cygwin," from the SourceForge website. =A0Is that just= an > anachronism? "Windows 9x/NT/2000/XP users are recommended to use Cygwin=20 (http://sources.redhat.com/cygwin/) or may try the unsupported Borland C=20 compiler or Microsoft Visual C++ build scripts." Because the build scripts for windows are unsupported. Martyn =2D --=20 Martyn Welch (we...@co...) PGP Key : http://ubicomp.lancs.ac.uk/~martyn/pgpkey/ =2D----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQFC+GB8QPzYXciChNcRAl1SAJ9HQ3fJ8MBVE6Ewuztd1bC3K5OBiACgnDD2 hdANxX8AUB5jKlP5u59rdAM=3D =3DpH3a =2D----END PGP SIGNATURE----- |
From: Peter <pl...@ac...> - 2005-08-02 18:58:38
|
On Tue, 2 Aug 2005, Frieder Ferlemann wrote: > RFC: maybe SDCC should also allow inline assembly like __asm(NOP); ? You can #define sections to be compiler dependent. E.g. #ifdef SDCC __asm; nop __endasm; #endif #ifdef GCC __asm(nop); #endif Peter |
From: Raphael N. <RN...@we...> - 2005-08-02 17:19:13
Attachments:
smime.p7s
|
Hi Peter, [code sample on bitfield access] > Looking at the .asm file, it seems the compiler is ignoring the bit > field definitions when using pointers. Is this a bug or an > unimplemented feature ? This is a (just now fixed) bug, thanks! Regards, Raphael Neider |
From: Peter O. <Pet...@bt...> - 2005-08-02 17:41:18
|
On Tue, 2005-08-02 at 19:06 +0200, Raphael Neider wrote: > Hi Peter, > This is a (just now fixed) bug, thanks! > Thanks Raphael. How often does the public CVS get updated ? Peter |
From: Erik P. <epe...@iv...> - 2005-08-02 19:00:51
|
On Tue, 2 Aug 2005, Peter Onion wrote: > On Tue, 2005-08-02 at 19:06 +0200, Raphael Neider wrote: > > Hi Peter, > > > This is a (just now fixed) bug, thanks! > > > > Thanks Raphael. > > How often does the public CVS get updated ? I haven't checked this recently, but the public CVS is supposed to lag behind the developer CVS by no more than 5 hours. Erik |
From: Peter O. <Pet...@bt...> - 2005-08-02 22:45:42
|
On Tue, 2005-08-02 at 19:06 +0200, Raphael Neider wrote: > Hi Peter, > > [code sample on bitfield access] > > > Looking at the .asm file, it seems the compiler is ignoring the bit > > field definitions when using pointers. Is this a bug or an > > unimplemented feature ? > > This is a (just now fixed) bug, thanks! Raphael, I hope you don't mind, but I've opened up the bug report again because there are some odd side effects of the fix. The following warnings are generated by assigning to bitfields via pointers, but the code seems to work OK. helloled.c:300: warning 179: possible code generation error at gen.c line 11558, please report problem and send source code at SDCC-USER list on SF.Net |