x86 vs. other 32bit architectures (ARM, PowerPC)

I am new in 32bit embedded systems. Can you advise me what architecture I should choose for learning and future projects with embedded Linux?

At the moment I am a bit confused because of the following information:

  1. x86 has the "inherited inefficiency" - I do not really know what it means.

  1. x86 has the higher overall cost - After looking for SBCs I can not confirm this rule. I have found a few x86 boards cheaper than 200USD but boards with ARM or PowerPC are more expensive.

What would you choose for embedded Linux?

Thanks in advance Andy

Reply to
Andy
Loading thread data ...

As it goes with these questions... They're kinda vague... To general in nature... No offense intended...

Hence a general answer... First of all, ask yourself what task(s) it's supposed to perform. Consequently, ask yourself if you need the performance offered by a 32 bit platform, i.e. will a 16 or even an 8-bit system do the job just as well? What kind of hardware do I need for my application(s)? Memory requirements, ADCs, DACs, various forms of serial communication (i.e. USB, RS232, and what have you), parallel I/O, etc... A second point of attention is the availability of the various development tools, IDEs, compilers, linkers, simulators, emulators, etc...

Actually, it all boils down to not staring yourself blind on one particular hardware platform, i.e. keep your application's software as portable as possible.

Good luck

Waldemar

"Andy" schreef in bericht news: snipped-for-privacy@posting.google.com...

Reply to
WaldemarIII
  1. Nobody knows what it means until you tell us the context. But here is my take on it:

"The x86-compatible family is (with a few exceptions that we can safely ignore) only employed as part of a more or less wholly PC-compatible hardware architecture. These processors are large and extremely energy-hungry; active cooling is almost universally required in x86 designs, and mains power is preferable. The dominant design factor steering x86-based designs is the baggage required by backwards compatibility (both in the CPU core and other support circuitry on the motherboard) [...]. Vast effort has been invested to modernize the CPU and overall system architecture, but even the current 64-bit architectures are constrained to some degree by legacy considerations. There are relatively few true SoC offerings based around an x86-compatible core, and thus significant external circuitry is always required in x86 systems. It should also be noted that, unlike the vast majority of embedded devices, x86 chips lack on-chip JTAG or other hardware debugging interface support."

  1. You cannot determine real system cost by looking at the retail pricing of SBCs. x86 SBC pricing is artificially low for at least three reasons: a) x86 SBCs are sold in larger volumes than SBCs based on other 32-bit cores. b) x86 SBCs use peripheral ICs taken from the mass PC market. These are cheap due to extremely high volumes. Devices based around other cores frequently use more application-specific ICs. c) (Not a major factor, but it exists) x86 SBCs are by and large designed for commercial applications (as opposed to industrial). They use commercial-grade components. Other SBCs are often designed for wider temperature ranges, harsher environments, ...

If you come to do a custom hardware design from scratch, you will find that ARM is /much/ cheaper in BOM and engineering time costs than x86 (on a given performance level), and PPC is costlier than ARM but still cheaper than x86. That is a generalization, obviously. Bear in mind that x86 is primarily chosen where "PC compatible" is part of the spec. This implies a lot more than simply the x86; it implies a BIOS, certain I/O requirements, etc. An awful lot of baggage is dragged onboard.

You will also find that there are enormous application segments where it is simply impossible to use x86 for power, heat or size reasons, and the system cost issue is therefore irrelevant.

If you want to _experiment_ with embedded Linux, you can use any PC or SBC to start your journey. I take this opportunity to shill^H^H^H^H^H recommend my second book as something of a turnkey introduction to embedded Linux on the Advantech PCM-5820 or similar Geode-based (x86) SBC.

formatting link
for more info.

If you want to experiment with embedded Linux on a non-x86 platform at relatively low cost, you have many options. The mARMalade from

formatting link
is a 74MHz ARM7 running Linux (preloaded), with LCD, Ethernet, etc etc. The Kuro Box from
formatting link
is $160 for a

200MHz PowerPC (MPC8241, PPC603e core) with 10/100 Ethernet, USB 2.0, and running Linux again. I currently have both of them on my desk :
formatting link
to see what I'm working on.

Of the two, the Kuro Box is probably a bit easier to come to terms with, especially for a Linux novice.

Reply to
larwe
  1. Nobody knows what it means until you tell us the context. But here is my take on it:

"The x86-compatible family is (with a few exceptions that we can safely ignore) only employed as part of a more or less wholly PC-compatible hardware architecture. These processors are large and extremely energy-hungry; active cooling is almost universally required in x86 designs, and mains power is preferable. The dominant design factor steering x86-based designs is the baggage required by backwards compatibility (both in the CPU core and other support circuitry on the motherboard) [...]. Vast effort has been invested to modernize the CPU and overall system architecture, but even the current 64-bit architectures are constrained to some degree by legacy considerations. There are relatively few true SoC offerings based around an x86-compatible core, and thus significant external circuitry is always required in x86 systems. It should also be noted that, unlike the vast majority of embedded devices, x86 chips lack on-chip JTAG or other hardware debugging interface support."

  1. You cannot determine real system cost by looking at the retail pricing of SBCs. x86 SBC pricing is artificially low for at least three reasons: a) x86 SBCs are sold in larger volumes than SBCs based on other 32-bit cores. b) x86 SBCs use peripheral ICs taken from the mass PC market. These are cheap due to extremely high volumes. Devices based around other cores frequently use more application-specific ICs. c) (Not a major factor, but it exists) x86 SBCs are by and large designed for commercial applications (as opposed to industrial). They use commercial-grade components. Other SBCs are often designed for wider temperature ranges, harsher environments, ...

If you come to do a custom hardware design from scratch, you will find that ARM is /much/ cheaper in BOM and engineering time costs than x86 (on a given performance level), and PPC is costlier than ARM but still cheaper than x86. That is a generalization, obviously. Bear in mind that x86 is primarily chosen where "PC compatible" is part of the spec. This implies a lot more than simply the x86; it implies a BIOS, certain I/O requirements, etc. An awful lot of baggage is dragged onboard.

You will also find that there are enormous application segments where it is simply impossible to use x86 for power, heat or size reasons, and the system cost issue is therefore irrelevant.

If you want to _experiment_ with embedded Linux, you can use any PC or SBC to start your journey. I take this opportunity to shill^H^H^H^H^H recommend my second book as something of a turnkey introduction to embedded Linux on the Advantech PCM-5820 or similar Geode-based (x86) SBC.

formatting link
for more info.

If you want to experiment with embedded Linux on a non-x86 platform at relatively low cost, you have many options. The mARMalade from

formatting link
is a 74MHz ARM7 running Linux (preloaded), with LCD, Ethernet, etc etc. The Kuro Box from
formatting link
is $160 for a

200MHz PowerPC (MPC8241, PPC603e core) with 10/100 Ethernet, USB 2.0, and running Linux again. I currently have both of them on my desk :
formatting link
to see what I'm working on.

Of the two, the Kuro Box is probably a bit easier to come to terms with, especially for a Linux novice.

Reply to
larwe

I would recommend going for x86. In the long run it would be the cheaper option as you would have no problem finding tools and device drivers.

I would be surprised if ARM and PowerPC boards are cheaper than x86.

Deepa

--

formatting link
EventStudio 2.5 - Embedded System Design with Sequence Diagrams

Reply to
EventHelix.com

Linux is Linux, by and large. For example, almost every USB peripheral I needed to support in Linux on the $230 Geode-based (x86) board is supported on the $160 PowerPC-based board to which I am migrating. A simple recompile operation, that's all.

Reply to
larwe

"Andy" wrote

I would chose to listen to someone else when it comes the inherited inefficiency of higher costs.

Just because the first person you asked gave you certain information does not make it true.

The human psyche may be pre-programmed to accept the first thing it sees/learns about as the 'one true thing'. Viz. Lorenz and his goslings. This trait is probably there to allow quick education: the last thing a student should do is think independently. (I am not being facetious. And the young don't think on their own.)

--
Nicholas O. Lindan, Cleveland, Ohio
Consulting Engineer:  Electronics; Informatics; Photonics.
Remove spaces etc. to reply: n o lindan at net com dot com
psst.. want to buy an f-stop timer? nolindan.com/da/fstop/
Reply to
Nicholas O. Lindan

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.