EmbeddedRelated.com
Forums

Which CPU to choose?

Started by aleksa January 11, 2010
I've looked at farnell, there are some 450 MPUs and thousands of MCUs,
which one should I learn, considering:

I'm currently using a standard x86-32 PC for my project,
but would like to replace the whole motherboard with
just two chips: cpu and memory.

The code for x86 is written (by me) in ASM, about 64k in size.

This is what I need:

1. 32-bit CPU

2. 128k of internal CODE memory, ISP and IAP.
   (in-system, in-application programmable)

3. min 32MB of DATA memory.
   (maybe SDRAM, directly connected to CPU)

4. embedded FPU (or a free, precise library).

5. QFP package (not BGAs).

6. price: under 30 EUR.

7. free develepment tools.


My knowledge is: Z80, C51 and x86, ASM only.


On Mon, 11 Jan 2010 18:44:41 +0100, "aleksa" <aleksazr@gmail.com> wrote:

>I've looked at farnell, there are some 450 MPUs and thousands of MCUs, >which one should I learn, considering: > >I'm currently using a standard x86-32 PC for my project, >but would like to replace the whole motherboard with >just two chips: cpu and memory. > >The code for x86 is written (by me) in ASM, about 64k in size. > >This is what I need: > >1. 32-bit CPU > >2. 128k of internal CODE memory, ISP and IAP. > (in-system, in-application programmable) > >3. min 32MB of DATA memory. > (maybe SDRAM, directly connected to CPU) > >4. embedded FPU (or a free, precise library). > >5. QFP package (not BGAs). > >6. price: under 30 EUR. > >7. free develepment tools.
Well, there's the LPC2105 from NXP (nee Philips). Under US$10 in quantity ones. Memory is onboard, so this is a one-chip solution. Does *not* have an FPU but there are C compilers available that support doubles, including gcc ports. Lots of commercial compilers, also. There are close relatives that have more code and data memory that you may want to look at for development, before slimming down to production code. The LPC210x chips are supported by several dev board vendors. Several other folks (Atmel, ST, AD, Oki, ...) also have ARM7 (more properly ARM7TDMI) chips with varying sized and flavors. -- Rich Webb Norfolk, VA
On Mon, 11 Jan 2010 18:44:41 +0100, aleksa wrote:

> I've looked at farnell, there are some 450 MPUs and thousands of MCUs, > which one should I learn, considering: > > I'm currently using a standard x86-32 PC for my project, but would like > to replace the whole motherboard with just two chips: cpu and memory. > > The code for x86 is written (by me) in ASM, about 64k in size. > > This is what I need: > > 1. 32-bit CPU > > 2. 128k of internal CODE memory, ISP and IAP. > (in-system, in-application programmable) > > 3. min 32MB of DATA memory. > (maybe SDRAM, directly connected to CPU) > > 4. embedded FPU (or a free, precise library). > > 5. QFP package (not BGAs). > > 6. price: under 30 EUR. > > 7. free develepment tools. > > > My knowledge is: Z80, C51 and x86, ASM only.
Price, package, and the ability to directly interface to SDRAM should narrow things down considerably. I suspect (but others will chime in) that your best bet for free development tools is to use the ARM processor. Floating point libraries for the 32-bitters have, in my experience, become quite reliable; I think that the gnu library should work just fine for you. Lay those requirements on the 450 chips in Farnell, and see how many are left. -- www.wescottdesign.com
On Jan 12, 6:44=A0am, "aleksa" <aleks...@gmail.com> wrote:
> I've looked at farnell, there are some 450 MPUs and thousands of MCUs, > which one should I learn, considering: > > I'm currently using a standard x86-32 PC for my project, > but would like to replace the whole motherboard with > just two chips: cpu and memory. > > The code for x86 is written (by me) in ASM, about 64k in size. > > This is what I need: > > 1. 32-bit CPU > > 2. 128k of internal CODE memory, ISP and IAP. > =A0 =A0(in-system, in-application programmable) > > 3. min 32MB of DATA memory. > =A0 =A0(maybe SDRAM, directly connected to CPU) > > 4. embedded FPU (or a free, precise library). > > 5. QFP package (not BGAs). > > 6. price: under 30 EUR. > > 7. free develepment tools. > > My knowledge is: Z80, C51 and x86, ASM only.
That's an unusual combination. ASM.X86+32MB SDRAM could point to the Atom, under e30, but not qfp. or http://www.pcengines.ch/platform.htm ? If you don't mind shifting all that asm, then look at http://ics.nxp.com/lpcxpresso/~LPC3130/#LPC3130 These lpcxpresso modules are cheap, and make bga a don't-care - with luck, the 3130 module will have SDRAM?. The smaller LPCxpresso's use the LPC3130 as the USB interface! or even this ? http://www.embeddeddeveloper.com/group/1473/Zilog%C2%AE,-Inc./Encore!-32%E2= %84%A2-Series-Z32AN.htm -jg
On Mon, 11 Jan 2010 13:34:41 -0500, Rich Webb
<bbew.ar@mapson.nozirev.ten> wrote:

>On Mon, 11 Jan 2010 18:44:41 +0100, "aleksa" <aleksazr@gmail.com> wrote: > >>I've looked at farnell, there are some 450 MPUs and thousands of MCUs, >>which one should I learn, considering: >> >>I'm currently using a standard x86-32 PC for my project, >>but would like to replace the whole motherboard with >>just two chips: cpu and memory. >> >>The code for x86 is written (by me) in ASM, about 64k in size. >> >>This is what I need: >> >>1. 32-bit CPU >> >>2. 128k of internal CODE memory, ISP and IAP. >> (in-system, in-application programmable) >> >>3. min 32MB of DATA memory. >> (maybe SDRAM, directly connected to CPU) >> >>4. embedded FPU (or a free, precise library). >> >>5. QFP package (not BGAs). >> >>6. price: under 30 EUR. >> >>7. free develepment tools. > >Well, there's the LPC2105 from NXP (nee Philips). Under US$10 in >quantity ones. Memory is onboard, so this is a one-chip solution.
To quote Homer Simpson (in honor of his 20th anniversary): D'Oh! You wanted >M< B not >K< B... Fortunately, NXP (et al.) does have inexpensive ($12-15) microcontrollers that do support external SDRAM. Their parametric search is the place to look (several options) but one example is the LPC2292. -- Rich Webb Norfolk, VA
On 2010-01-11, Rich Webb <bbew.ar@mapson.nozirev.ten> wrote:
> On Mon, 11 Jan 2010 18:44:41 +0100, "aleksa" <aleksazr@gmail.com> wrote:
>>This is what I need: >> >>1. 32-bit CPU >> >>2. 128k of internal CODE memory, ISP and IAP. >> (in-system, in-application programmable) >> >>3. min 32MB of DATA memory. >> (maybe SDRAM, directly connected to CPU) >> >>4. embedded FPU (or a free, precise library). >> >>5. QFP package (not BGAs). >> >>6. price: under 30 EUR. >> >>7. free develepment tools. > > Well, there's the LPC2105 from NXP (nee Philips). Under US$10 in > quantity ones. Memory is onboard, so this is a one-chip solution.
It's got 23MB of RAM on-chip? -- Grant Edwards grante Yow! I own seven-eighths of at all the artists in downtown visi.com Burbank!
On 11 Jan, 17:44, "aleksa" <aleks...@gmail.com> wrote:
> I've looked at farnell, there are some 450 MPUs and thousands of MCUs, > which one should I learn, considering:
ARM meets most of your requirements apart from FPU. I would look at AT91SAM9260, There is a LQFP part but Farnell don't appear to sell it. I assume you are looking for low quantities, and you didn't mention CPU speed. I would also look at using a system module. Personally I would start with one of the many ARM eval/SBC boards (several low cost options) and take it from there. I have been working with a Mini2440 board recently.
> That's an unusual combination. > ASM.X86+32MB SDRAM could point to the Atom, under e30, > but not qfp. > or http://www.pcengines.ch/platform.htm ? > > If you don't mind shifting all that asm, then look at > http://ics.nxp.com/lpcxpresso/~LPC3130/#LPC3130 > These lpcxpresso modules are cheap, and make bga a > don't-care - with luck, the 3130 module will have SDRAM?. > > The smaller LPCxpresso's use the LPC3130 as the USB interface! > or even this ? > http://www.embeddeddeveloper.com/group/1473/Zilog%C2%AE,-Inc./Encore!-32%E2%84%A2-Series-Z32AN.htm
None of your suggestions use QFP.
> ARM meets most of your requirements apart from FPU. I would look at AT91SAM9260.
I knew I'll have to learn ARM someday! On the first look, ARM has some pretty strange instructions, (what, no CALL, only one-deep BL?) don't know yet if conversion from x86 to ARM is doable...? (did a Z80 > x86, it was simple) AT91SAM9260 looks good, thanks. I've downloaded SAM-BA app from atmel, but found no schematics for programming cable. (haven't read the FAQs yet) '9260 must have at least two external components: 1. dataflash (holds the code for booting only) 2. sdram (holds code and data for normal operation) right?
> There is a LQFP part but Farnell don't appear to sell it.
Schukat does: http://www2.schukat.com/schukat/schukat_cms_en.nsf/index/CMSDF15D356B046D53BC1256D550038A9E0?OpenDocument&wg=Y4716&refDoc=CMS4973C58BAA4AC604C12570DE0037E4FA
> Floating point libraries for the 32-bitters have, > in my experience, become quite reliable; I think > that the gnu library should work just fine for you.
Honestly, I don't know anything about gnu. I am now overloaded with information, so w/o searching for gnu libraries, I have two questions: How many bytes are used to represent a number? (8 bytes is what I use now) I suppose it is written in C, can it be linked with asm?