From: <kur...@ko...> - 2009-10-27 17:16:37
|
Brandon; In this case I would try initializing your structure within your main startup. If that works, then the compiler recognizes structures and its just an issue of writing the startup code you need to initialize your variables. (Section 3.12 Startup Code of sdccman.pdf) I'm writing for an 8051 embedded within a Cypress CY7C68013 IC. I found I needed to write my own startup function, and in it I initialize xdata variables. I didn't rewrite sections to initialize other data types such as idata, byte data, and registers. I have to remember to use global variables and initialize them in order to guarantee that they are setup properly. For instance I had a local static variable that wasn't getting initialized too. Kurt M. Sanger ----- Forwarded by Kurt M. Sanger/241870/EKC on 10/27/2009 01:09 PM ----- From: Brandon Fosdick <bf...@bf...> To: sdcc-user <sdc...@li...> Date: 10/27/2009 12:15 AM Subject: [Sdcc-user] Support for C99 designated initializers? I tried to do something like struct {int a, b;} mystruct = { .a=1, .b=1 }; and it didn't work, even though I used the --std-c99 option. Did I do something wrong or is this unsupported? The error message was: ../main.c:38: syntax error: token -> '.' ; column 33 ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ Sdcc-user mailing list Sdc...@li... https://lists.sourceforge.net/lists/listinfo/sdcc-user |
From: Maarten B. <sou...@ds...> - 2009-10-28 19:44:03
|
Kurt, If you had read 4.1.1 too, you would have realized that it was enough to declare _XPAGE as an alias for MPAGE to make xdata initialization work. And it probably saves a lot of code memory. Maarten > Brandon; > > In this case I would try initializing your structure within your main > startup. If that works, then the compiler recognizes structures and its > just an issue of writing the startup code you need to initialize your > variables. (Section 3.12 Startup Code of sdccman.pdf) I'm writing for an > 8051 embedded within a Cypress CY7C68013 IC. I found I needed to write my > own startup function, and in it I initialize xdata variables. I didn't > rewrite sections to initialize other data types such as idata, byte data, > and registers. I have to remember to use global variables and initialize > them in order to guarantee that they are setup properly. For instance I > had a local static variable that wasn't getting initialized too. > > Kurt M. Sanger > > ----- Forwarded by Kurt M. Sanger/241870/EKC on 10/27/2009 01:09 PM ----- > > From: > Brandon Fosdick <bf...@bf...> > To: > sdcc-user <sdc...@li...> > Date: > 10/27/2009 12:15 AM > Subject: > [Sdcc-user] Support for C99 designated initializers? > > > > I tried to do something like > > struct {int a, b;} mystruct = { .a=1, .b=1 }; > > and it didn't work, even though I used the --std-c99 option. Did I do > something wrong or is this unsupported? > > The error message was: > > ../main.c:38: syntax error: token -> '.' ; column 33 > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > Sdcc-user mailing list > Sdc...@li... > https://lists.sourceforge.net/lists/listinfo/sdcc-user > > |