From: Michael H. <kor...@ya...> - 2013-08-29 19:19:53
|
Please excuse my newbie questions. I am working on a project that will use an 89C55WD which is an Atmel 8051 variant. I need more than the 128/256 bytes of RAM. I have seen that 8051 supports up to 64K or external RAM. These two articles describe adding 64K of RAM. http://www.8052.com/tutmemor.php http://www.mikroe.com/chapters/view/65/#ch2.4 Is support built into SDCC for using the external 64K of RAM? Are there any flags or switches that I need to use to use external RAM instead of built in 128/256 RAM bytes? Thanks, Mike |
From: Dave M. <mc...@ne...> - 2013-08-29 20:20:17
|
On 08/29/2013 03:19 PM, Michael Hawkins wrote: > Please excuse my newbie questions. We've all gotta start somewhere. > I am working on a project that will use an 89C55WD which is an Atmel > 8051 variant. > > I need more than the 128/256 bytes of RAM. I have seen that 8051 > supports up to 64K or external RAM. Yes it does. > These two articles describe adding 64K of RAM. > > http://www.8052.com/tutmemor.php > http://www.mikroe.com/chapters/view/65/#ch2.4 > > Is support built into SDCC for using the external 64K of RAM? Are there > any flags or switches that I need to use to use external RAM instead of > built in 128/256 RAM bytes? How the external RAM is implemented in hardware is not visible from firmware. Just add it as you normally would, and tell SDCC to put stuff there, and you're good to go. You can also use mcs51 implementations that have on-chip memory in that address space, transparently. I've done bunches of work with the Philips (erm, NXP) P89C66x chips, for example, which have "external" RAM implemented in that fashion. -Dave -- Dave McGuire, AK4HZ New Kensington, PA |
From: Maarten B. <sou...@ds...> - 2013-08-30 08:57:24
|
Hello Michael, SDCC will not magically start using the external memory when it runs out of internal. You have to place your variables there using the __xdata keyword. Or if you're lazy you can use the large memory model which places everything in external ram. Also have a look at --xram-loc and --xram-size to tell sdcc how much memory you have and where it is located. If the hardware is not yet set in stone I suggest to also look at other microcontrollers which have "external ram" internally. This frees up many IO pins. Welcome to the 8051 Maarten > On 08/29/2013 03:19 PM, Michael Hawkins wrote: > > Please excuse my newbie questions. > > We've all gotta start somewhere. > > > I am working on a project that will use an 89C55WD which is an Atmel > > 8051 variant. > > > > I need more than the 128/256 bytes of RAM. I have seen that 8051 > > supports up to 64K or external RAM. > > Yes it does. > > > These two articles describe adding 64K of RAM. > > > > http://www.8052.com/tutmemor.php > > http://www.mikroe.com/chapters/view/65/#ch2.4 > > > > Is support built into SDCC for using the external 64K of RAM? Are there > > any flags or switches that I need to use to use external RAM instead of > > built in 128/256 RAM bytes? > > How the external RAM is implemented in hardware is not visible from > firmware. Just add it as you normally would, and tell SDCC to put stuff > there, and you're good to go. > > You can also use mcs51 implementations that have on-chip memory in > that address space, transparently. I've done bunches of work with the > Philips (erm, NXP) P89C66x chips, for example, which have "external" RAM > implemented in that fashion. > > -Dave > > -- > Dave McGuire, AK4HZ > New Kensington, PA > > ------------------------------------------------------------------------------ > Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more! > Discover the easy way to master current and previous Microsoft technologies > and advance your career. Get an incredible 1,500+ hours of step-by-step > tutorial videos with LearnDevNow. Subscribe today and save! > http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk > _______________________________________________ > Sdcc-user mailing list > Sdc...@li... > https://lists.sourceforge.net/lists/listinfo/sdcc-user |