Forums

IAR and memory banking for 128K flash and 8051

Started by Amir February 13, 2008
In message 
<216ab711-98d8-4a29-ae47-6265f1ef162d@e25g2000prg.googlegroups.com>, 
Amir <amiri.amir@gmail.com> writes
>On Feb 14, 5:41&#2013266080;am, GMM50 <gfm5...@gmail.com> wrote: >> On Feb 13, 5:06 pm, Amir <amiri.a...@gmail.com> wrote: >> >> > Hi all, >> >> > I am trying to use code banking for 8051 microcontroller using IAR... >> > Reading the IAR and XLINK documents didnt help...I appreciate some >> > info from any one with some hand on experience.. >> >> > Regards, >> > Amir >> >> IAR has(had) a banked switched memory model in the 1980's 1990's >> vintage C compilers. &#2013266080;I made a lot of money fitting large programs >> into small address spaces. &#2013266080;The compiler option I am familiar with was >> a -m (or perhaps -m0). >> >> The CPU's memory space needed one bank to alway be in place and not >> switchable and then another bank to be switchable. >> >> The compiler/linker sorted out all the bank switching parameters. &#2013266080;If >> a call was made from a routine in one bank to a routine in another >> bank, the new bank number and routine address was passed to a bank >> switching routine in the common bank. &#2013266080;All returns from routines also >> were done through this bank switching routine. >> >> The hardware needed a register to store the bank number and that >> register fed the memory decode logic in my designs. >> >> Hope this helps >> George > >Thank you for the useful information George. I appreciate it..I use a >SOC (cc2430 ), and according to cc2430 datasheet, the banking has to >be done in 4 banks as opposed to 2. I did setup the parameters as >described by IAR compiler documents, but when I program the flash, the >system doesnt seem to find the start up code, thus nothing happens.
What sort of banking set up do you have? Is there a common bank or four banks each with a common in it? Is there a link to your cc2430 device (manufacturer and part number) -- \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ \/\/\/\/\ Chris Hills Staffs England /\/\/\/\/ /\/\/ chris@phaedsys.org www.phaedsys.org \/\/\ \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
On Feb 15, 11:29=A0am, Chris H <ch...@phaedsys.org> wrote:
> In message > <216ab711-98d8-4a29-ae47-6265f1ef1...@e25g2000prg.googlegroups.com>, > Amir <amiri.a...@gmail.com> writes > > > > > > >On Feb 14, 5:41=A0am, GMM50 <gfm5...@gmail.com> wrote: > >> On Feb 13, 5:06 pm, Amir <amiri.a...@gmail.com> wrote: > > >> > Hi all, > > >> > I am trying to use code banking for 8051 microcontroller using IAR...=
> >> > Reading the IAR and XLINK documents didnt help...I appreciate some > >> > info from any one with some hand on experience.. > > >> > Regards, > >> > Amir > > >> IAR has(had) a banked switched memory model in the 1980's 1990's > >> vintage C compilers. =A0I made a lot of money fitting large programs > >> into small address spaces. =A0The compiler option I am familiar with wa=
s
> >> a -m (or perhaps -m0). > > >> The CPU's memory space needed one bank to alway be in place and not > >> switchable and then another bank to be switchable. > > >> The compiler/linker sorted out all the bank switching parameters. =A0If=
> >> a call was made from a routine in one bank to a routine in another > >> bank, the new bank number and routine address was passed to a bank > >> switching routine in the common bank. =A0All returns from routines also=
> >> were done through this bank switching routine. > > >> The hardware needed a register to store the bank number and that > >> register fed the memory decode logic in my designs. > > >> Hope this helps > >> George > > >Thank you for the useful information George. I appreciate it..I use a > >SOC (cc2430 ), and according to cc2430 datasheet, the banking has to > >be done in 4 banks as opposed to 2. I did setup the parameters as > >described by IAR compiler documents, but when I program the flash, the > >system doesnt seem to find the start up code, thus nothing happens. > > What sort of banking set up do you have? =A0Is there a common bank or four=
> banks each with a common in it? > > Is there a link to your cc2430 device (manufacturer and part number) > > -- > \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ > \/\/\/\/\ Chris Hills =A0Staffs =A0England =A0 =A0 /\/\/\/\/ > /\/\/ ch...@phaedsys.org =A0 =A0 =A0www.phaedsys.org\/\/\ > \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/- Hide quoted text - > > - Show quoted text -
4 banks of 32K. One common (the lowest 32K of the 128K flash). Here is the link: http://focus.ti.com/docs/prod/folders/print/cc2430.html
In message 
<830563e9-2663-49e8-8a6a-4985b485b410@u10g2000prn.googlegroups.com>, 
Amir <amiri.amir@gmail.com> writes
>On Feb 15, 11:29&#2013266080;am, Chris H <ch...@phaedsys.org> wrote: >> In message >> <216ab711-98d8-4a29-ae47-6265f1ef1...@e25g2000prg.googlegroups.com>, >> Amir <amiri.a...@gmail.com> writes >> >> >> >> >> >> >On Feb 14, 5:41&#2013266080;am, GMM50 <gfm5...@gmail.com> wrote: >> >> On Feb 13, 5:06 pm, Amir <amiri.a...@gmail.com> wrote: >> >> >> > Hi all, >> >> >> > I am trying to use code banking for 8051 microcontroller using IAR... >> >> > Reading the IAR and XLINK documents didnt help...I appreciate some >> >> > info from any one with some hand on experience.. >> >> >> > Regards, >> >> > Amir >> >> >> IAR has(had) a banked switched memory model in the 1980's 1990's >> >> vintage C compilers. &#2013266080;I made a lot of money fitting large programs >> >> into small address spaces. &#2013266080;The compiler option I am familiar with was >> >> a -m (or perhaps -m0). >> >> >> The CPU's memory space needed one bank to alway be in place and not >> >> switchable and then another bank to be switchable. >> >> >> The compiler/linker sorted out all the bank switching parameters. &#2013266080;If >> >> a call was made from a routine in one bank to a routine in another >> >> bank, the new bank number and routine address was passed to a bank >> >> switching routine in the common bank. &#2013266080;All returns from routines also >> >> were done through this bank switching routine. >> >> >> The hardware needed a register to store the bank number and that >> >> register fed the memory decode logic in my designs. >> >> >> Hope this helps >> >> George >> >> >Thank you for the useful information George. I appreciate it..I use a >> >SOC (cc2430 ), and according to cc2430 datasheet, the banking has to >> >be done in 4 banks as opposed to 2. I did setup the parameters as >> >described by IAR compiler documents, but when I program the flash, the >> >system doesnt seem to find the start up code, thus nothing happens. >> >> What sort of banking set up do you have? &#2013266080;Is there a common bank or four >> banks each with a common in it? >> >> Is there a link to your cc2430 device (manufacturer and part number) >> - Show quoted text - > >4 banks of 32K. One common (the lowest 32K of the 128K flash). Here is >the link: http://focus.ti.com/docs/prod/folders/print/cc2430.html
You have a common and THREE banks. -- \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ \/\/\/\/\ Chris Hills Staffs England /\/\/\/\/ /\/\/ chris@phaedsys.org www.phaedsys.org \/\/\ \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
On Feb 15, 1:42=A0pm, Chris H <ch...@phaedsys.org> wrote:
> In message > <830563e9-2663-49e8-8a6a-4985b485b...@u10g2000prn.googlegroups.com>, > Amir <amiri.a...@gmail.com> writes > > > > > > >On Feb 15, 11:29=A0am, Chris H <ch...@phaedsys.org> wrote: > >> In message > >> <216ab711-98d8-4a29-ae47-6265f1ef1...@e25g2000prg.googlegroups.com>, > >> Amir <amiri.a...@gmail.com> writes > > >> >On Feb 14, 5:41=A0am, GMM50 <gfm5...@gmail.com> wrote: > >> >> On Feb 13, 5:06 pm, Amir <amiri.a...@gmail.com> wrote: > > >> >> > Hi all, > > >> >> > I am trying to use code banking for 8051 microcontroller using IAR=
...
> >> >> > Reading the IAR and XLINK documents didnt help...I appreciate some=
> >> >> > info from any one with some hand on experience.. > > >> >> > Regards, > >> >> > Amir > > >> >> IAR has(had) a banked switched memory model in the 1980's 1990's > >> >> vintage C compilers. =A0I made a lot of money fitting large programs=
> >> >> into small address spaces. =A0The compiler option I am familiar with=
was
> >> >> a -m (or perhaps -m0). > > >> >> The CPU's memory space needed one bank to alway be in place and not > >> >> switchable and then another bank to be switchable. > > >> >> The compiler/linker sorted out all the bank switching parameters. =
=A0If
> >> >> a call was made from a routine in one bank to a routine in another > >> >> bank, the new bank number and routine address was passed to a bank > >> >> switching routine in the common bank. =A0All returns from routines a=
lso
> >> >> were done through this bank switching routine. > > >> >> The hardware needed a register to store the bank number and that > >> >> register fed the memory decode logic in my designs. > > >> >> Hope this helps > >> >> George > > >> >Thank you for the useful information George. I appreciate it..I use a > >> >SOC (cc2430 ), and according to cc2430 datasheet, the banking has to > >> >be done in 4 banks as opposed to 2. I did setup the parameters as > >> >described by IAR compiler documents, but when I program the flash, the=
> >> >system doesnt seem to find the start up code, thus nothing happens. > > >> What sort of banking set up do you have? =A0Is there a common bank or f=
our
> >> banks each with a common in it? > > >> Is there a link to your cc2430 device (manufacturer and part number) > >> - Show quoted text - > > >4 banks of 32K. One common (the lowest 32K of the 128K flash). Here is > >the link:http://focus.ti.com/docs/prod/folders/print/cc2430.html > > You have a common and THREE banks. > > -- > \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ > \/\/\/\/\ Chris Hills =A0Staffs =A0England =A0 =A0 /\/\/\/\/ > /\/\/ ch...@phaedsys.org =A0 =A0 =A0www.phaedsys.org\/\/\ > \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/- Hide quoted text - > > - Show quoted text -
Yes.
Amir wrote:
> Chris H <ch...@phaedsys.org> wrote: >
... snip. This had nothing to do with your answer ...
>> >> What sort of banking set up do you have? Is there a common bank or four >> banks each with a common in it? >> >> Is there a link to your cc2430 device (manufacturer and part number) > >
____________ this is a snippable sig. _____________
> > -- > > \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ > > \/\/\/\/\ Chris Hills Staffs England /\/\/\/\/ > > /\/\/ ch...@phaedsys.org www.phaedsys.org\/\/\ > > \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/- Hide quoted text - > > > > - Show quoted text -
__________ to the end of the message, which is here _________
> > 4 banks of 32K. One common (the lowest 32K of the 128K flash). Here is > the link: http://focus.ti.com/docs/prod/folders/print/cc2430.html
Please be sure to snip quoted material that does not bear on your answer. There are some indications above. This is standard Usenet procedure. -- [mail]: Chuck F (cbfalconer at maineline dot net) [page]: <http://cbfalconer.home.att.net> Try the download section. -- Posted via a free Usenet account from http://www.teranews.com
Chris H wrote:
> In message <47b4edb8$1@clear.net.nz>, Jim Granville >> >> >> The 128K in this thread is at the top-end of the 80C51 range, > > > I thought NXP had some 256K devices and, Dallas/Maxim, NXP and Analouge > had parts that will address out to a couple of MB? > > Though I have never seen the point of adding so much memory to a 51
You are correct - there is the Maxim 390 Core that will address 24 bits, and the Philips MX core that will address 23 bits(IIRC), but I was meaning to refer to the Single Chip uC versions. There, 128K is reasonably common, but above that, single chip offering thin out.
> >> Companies like Winbond, Megawin, Myson, Micronas, Coreriver, STC, >> Syncmos, ABOV, (etc) are expanding their offerings. > > > However I thought they were mainly in the specialist market?
That was true 18 months ago, but now they are after the 'merchant' & Low Pin Count markets as well. I've updated our overview http://www.designtools.co.nz/overview.htm Items of interest there are turbo cores, and peripherals from : ** Micronas easyLIN HVC 22xyA, HVC 24xyA : 12V Powered, 12V IO, ADC, ** Myson CS8960 = 24SSOP, 12 bit ADC, ** STC STC12Cxx : 2051 pinout, to 12KF, ADC, fast Core ** Winbond W79E8xx 20/24 pin ADC, LPC models; W79E2xx PWM/ADC/QEI OCD ** Megawin MPC82Exx 20/28/44/48 pins, ADC,PWM ** Coreriver Wide LPC range, newest ones have CalOsc and Wide Vcc. There are bound to be others I've missed in the far-east as well. All that shows a lot of R&D effort. -jg
Amir wrote:
> On Feb 15, 1:54 am, David Brown <da...@westcontrol.removethisbit.com> > wrote: >> Amir wrote: >>> On Feb 13, 5:50 pm, larwe <zwsdot...@gmail.com> wrote: >>>> On Feb 13, 7:27 pm, "Ulf Samuelsson" <u...@a-t-m-e-l.com> wrote: >>>>> You could also consider moving into the 21st century like the rest of us >>>>> by selecting an MCU appropriate for the job. >>>> "I'm trying to extract information from a prisoner using the rack, but >>>> I'm having real trouble tying him onto it tightly enough. I checked >>>> the scrolls in the monastery, but didn't get any useful help. So I'm >>>> throwing it out to all my fellow executioners" >>>> "You should move into the 21st century and waterboard him". >>>> Translation: Yes, 8051 is old, but if it's what he's using... >>> Thank you Larwe...I assume u picked the easiest answer...lol. >>> But just to let u know that I am using a SOC which is pretty recent >>> (2006) and it has an 8051 embedded. >>> Brief: If you dont know the answer, or cannot provide any help, u dont >>> have to write useless comments! >> Here's a bit of unrelated free advice: >> >> When you join a newsgroup, remember that you are joining an established >> community. A lot of the people here have been around for years - if you >> don't understand the banter between old hands like Ulf and Lewin, don't >> comment on it, as it just makes you look silly. And learn to spell >> "you" - you'll be amazed at the increased level of respect you get. >> >> mvh., >> >> David- Hide quoted text - >> >> - Show quoted text - > > David, > > I really donot need any unrelated off-topic free advice. Thank you! We > are all mature, and professional, as far as the group members are > concerned. I posted a message to seek some help that may be beneficial > to everyone. I dont know where all these advicing is coming from..Lets > end the unrelated advicing, and talk of beneficial stuff to serve the > community as a whole! >
Ah, so we should all directly answer *your* questions on this thread, because only such answers are of benefit to the community. I'm not sure you understand how a Usenet group like this one actually works. Everyone posting here does so voluntarily, and they post based on what interests them. It's mostly on-topic for the group, but don't expect threads to be strictly topical - we are not here to serve *you*, or any other poster. That's one of the great things about this group - people have turned a very specific question that is only relevant or interesting to a few people into a wider discussion of more "benefit to the community" than just knowing about banking on the 8051 with a particular compiler. It could well be that you just do not understand this sub-thread about postings, newsgroups and community - or that you believe you are a special case and your own questions are more important than other discussions. But this thread is open to all - sometimes young or inexperienced posters really do learn from what others write, and *that* is beneficial to the community. And now that you've learned to spell "you", today's lesson is the apostrophe. Try writing "don't" a few times to get the hang of it. mvh., David
In message <47B61845.FC279A3B@yahoo.com>, CBFalconer 
<cbfalconer@yahoo.com> writes
> >Please be sure to snip quoted material that does not bear on your >answer. There are some indications above. This is standard Usenet >procedure.
So is having 2 sigs and more than 4 lines. So when you start sticking to the rules then and only then should you have a go at others . You have been told about this many times.
>-- > [mail]: Chuck F (cbfalconer at maineline dot net) > [page]: <http://cbfalconer.home.att.net> > Try the download section. >
>-- > Posted via a free Usenet account from http://www.teranews.com -- \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ \/\/\/\/\ Chris Hills Staffs England /\/\/\/\/ /\/\/ chris@phaedsys.org www.phaedsys.org \/\/\ \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
On Feb 13, 5:06=A0pm, Amir <amiri.a...@gmail.com> wrote:
> Hi all, > > I am trying to use code banking for 8051 microcontroller using IAR... > Reading the IAR and XLINK documents didnt help...I appreciate some > info from any one with some hand on experience.. > > Regards, > Amir
OK all! Thank you for all. Special thanks to fellows like George and Anthon who only discussed the real issue. Also thank you all others like David who simply made this thread exponentially growing with useless, unrelated, time-consuming comments. I am calling this threat off....
In message 
<679df76d-15fb-4895-b4ce-9dadc5fd56a9@h11g2000prf.googlegroups.com>, 
Amir <amiri.amir@gmail.com> writes
>On Feb 13, 5:06&#2013266080;pm, Amir <amiri.a...@gmail.com> wrote: >> Hi all, >> >> I am trying to use code banking for 8051 microcontroller using IAR... >> Reading the IAR and XLINK documents didnt help...I appreciate some >> info from any one with some hand on experience.. >> >> Regards, >> Amir > >OK all! Thank you for all. Special thanks to fellows like George and >Anthon who only discussed the real issue. Also thank you all others >like David who simply made this thread exponentially growing with >useless, unrelated, time-consuming comments. I am calling this threat >off....
IAR have just released a new version of their 8051 compiler with..... more support for banking with improved set up and better simulation. Right on cue I should download the new version. -- \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ \/\/\/\/\ Chris Hills Staffs England /\/\/\/\/ /\/\/ chris@phaedsys.org www.phaedsys.org \/\/\ \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/