element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Raspberry Pi
  • Products
  • More
Raspberry Pi
Raspberry Pi Forum Pi vs BeagleBone-Black
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Featured Articles
Announcing Pi
Technical Specifications
Raspberry Pi FAQs
Win a Pi
Raspberry Pi Wishlist
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 358 replies
  • Subscribers 674 subscribers
  • Views 39558 views
  • Users 0 members are here
  • raspberry_pi
  • bb_black
Related

Pi vs BeagleBone-Black

Former Member
Former Member over 12 years ago

So, just over a year on from the initial availability of the R-Pi and the new BeagleBone Black is upon us.  They've obviously taken a leaf out of the RPF's playbook and produced a cost reduced version at a price only marginally above the Pi.

 

I find it interesting that the compromises are very different, for example there's a proper PMIC and the ethernet is not troubled by being connected to USB, however the on-board HDMI seems less capable.

 

Other differences are in the documentation, I'm currently viewing the pcb gerbers for the beaglebone..  Have yet to see any sign of those for the R-Pi a year later. There's even an up to date devicetree capable kernel too.

 

Technology has also moved on somewhat, we get a 1GHz Cortex A8 which is better than the Pi, along with various other stuff and lots more GPIO's too.

 

Ok, so it's clear that I like the look of the new beaglebone, and given the price I'm likely to put any further R-Pi plans on hold until I have a chance to play with this. It's also making things like the Olinuxino-maxi I bought recently look very slow/expensive while still being cheaper than the similarly specced Olinuxino-A13

 

Some details of the beaglebone-black here http://circuitco.com/support/index.php?title=BeagleBoneBlack

 

What do the rest of you think ?   I don't expect this to displace the Pi anytime soon, but I expect it to be very attractive to those people who don't simply want to put XBMC on it and duct tape it to the back of the TV..

  • Sign in to reply
  • Cancel
Parents
  • gdstew
    gdstew over 12 years ago

    I'd like to add another pro for the BeagleBoard Black.

     

    With the exceptions of the integer real time processors PRU-ICSS (not sure at this point why that is), and the PowerVR GPU for

    well known reasons, the AM3359 technical documentation from TI is excellent to the point of overwhelming. The Technical Reference

    Manual is over 4000 pages. No I did not accidentally add any zeros !

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 12 years ago in reply to gdstew

    Gary Stewart wrote:

     

    With the exceptions of the integer real time processors PRU-ICSS (not sure at this point why that is), and the PowerVR GPU for well known reasons, the AM3359 technical documentation from TI is excellent to the point of overwhelming.

     

    You're right about the proprietary GPU, that seems to be an endemic problem for open source in the industry.  It's not true for the PRU-ICSS though.

     

    The PRU-ICSS is fully documented in the Technical Reference Manual SPRUH73C, with the entirety of chapter 4 (250 pages) devoted to it.  Also, there is a full package of PRU-related materials on Github, including more documentation and source code of the PRU's PASM assembler, a Linux loader, demos, etc.  I've even checked that the assembler compiles and it does.

     

    The BeagleBone materials on Github are at https://github.com/beagleboard/am335x_pru_package

     

    The PRU has been used successfully in quite a number of projects as a quick web search shows, and this long predates the BeagleBone Black since the original BeagleBone uses a slightly different version of the same AM3359 SoC.

     

    Morgaine.

     

    Addendum: Repeating the link to TI's wiki pages on PRU which I gave in my first post on this thread, in case it was missed when looking for docs.  There is a developers' link at the bottom of that first page.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 12 years ago in reply to shabaz

    shabaz wrote:

     

    You can achieve 20-50usec latency or less even with (say) 16MHz clock speed ancient

    CPU targetted OS's, so 100usec with Linux =  not so amazing latency figure to use as an example.

     

    Let's say you want to implement and test a new motor control algorithm for a

    DC motor - the 100usec latency you quoted won't help, wherease 20usec becomes actually quite useful.

    This is hardly an exotic example that I have chosen.

     

    I agree, 100us is pretty poor response latency for most realtime requirements, and the jitter isn't even quantified.

     

    Here's an interesting quantitive study comparing the performance of ordinary SuSE with realtime SuSE.  It highlights well how the realtime version can eliminate the very bad outliers beyond 400us, yet does nothing for response jitter which is still very noisy without the outlier spikes.  It also shows how the average response latency is increased in the realtime kernel compared to the average of a normal kernel's non-outlier responses.  It's just the high latency outliers caused by scheduler task switching that the realtime kernel eliminates.

     

    Hard realtime response doesn't just seek to reduce response latency, but also its jitter.  What's more, a common goal is to reduce jitter to effectively zero ("effectively zero" in this case typically meaning sub-clock period) by using edge detection on input and running a fixed set of instructions to deliver a fixed-latency response.

     

    Full operating systems can rarely achieve such high-quality realtime behavior, and realtime Linux certainly doesn't, whereas even a 50-cent microcontroller does it with ease.  The way to go is pretty clear if one's realtime application has any kind of strong realtime requirement.

     

    Morgaine.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • gdstew
    gdstew over 12 years ago in reply to morgaine

    Morgaine Dinova wrote:

     

    Gary Stewart wrote:

     

    You really need to get better acquainted with real time Linux.

     

    And you really need to stop attacking other forum members with personal remarks like this that don't advance the argument. Focus on the message, not the person delivering it.

     

    And you really need to stop attacking other forum members with personal remarks like this that don't advance the argument. Focus on the message, not the person delivering it.

     

    Original message:

     

    The Unix model of operating systems just isn't designed for realtime programming, and no matter what realtime patches you apply or which realtime scheduler you enable (I've played with both), you're never going to get anything like the low response latency and absence of jitter that you can get from the cheapest of microcontrollers.  A far better approach is therefore to combine a bare-metal micro with a *nix system, and let the latter control the former with high-level commands which the micro then executes with very tight timing constraints.

     

    That was an attack on the message. I can't help if you take it personally. As far as that and your far better approach goes see the remaining responses.

     

    I agree, 100us is pretty poor response latency for most realtime requirements, and the jitter isn't even quantified.

     

    It is still, and forever will be dependent on the application (of course) and there are a lot of applications where 100 uS works just fine whether you want to admit it or not. As far as

    jitter qualification goes we are not doing a tutorial on real time we are discussing whether real time Linux works (depending on the applications of course). There are many companies

    that find real time Linux perfect for their needs. There are a few big time RTOS companies, QNX and LynuxWorks are two that come to mind, that offer a full feature RTOS

    approach and not your "far better approach" when is not better (depending on the application of course). There are quite a few full feature free RTOS's that do to. Perhaps you

    should go tell all of them that they are wrong. I'm sure they would value your opinion on that subject.

     

    Here's an interesting quantitive study comparing the performance of ordinary SuSE with realtime SuSE.

     

    The study is on a real-time Linux for enterprise servers using 8 core Opterons, not a typical real time application (and with different needs than the typical real time applications),

    not your typical real time hardware (boy is that an understatement), and certainly not typical of real time applications discussed here. Enterprise servers anyone ?

     

    Hard realtime response doesn't just seek to reduce response latency, but also its jitter.  What's more, a common goal is to reduce jitter to effectively zero ("effectively zero" in this case typically meaning sub-clock period) by using edge detection on input and running a fixed set of instructions to deliver a fixed-latency response.

     

    This was a general discussion of using real time Linux. Hard real time was mentioned but it is not the specific subject. The specific subject is people like you and others saying real time Linux doesn't work

    despite lots of evidence that says otherwise (and taking it personally when somebody points this out, see I told you I'd get back to that). The statement about jitter in hard real time is correct. While the goal

    is to reduce jitter to effective zero, like most goals in the real world it can not always be achieved. For the record there are commercial products that use hard real time Linux (depending on the application of

    course) so it seems that they have tamed the jitter monster enough to make it work anyway. That's called engineering. I'm sure they would like to hear from you to set them strait on why it doesn't really work.

     

    Sorry about the massive redundancy but that simple statement just keeps flying over some peoples heads.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 12 years ago in reply to gdstew

    Gary Stewart wrote:

     

    Original message:

     

    The Unix model of operating systems just isn't designed for realtime programming, and no matter what realtime patches you apply or which realtime scheduler you enable (I've played with both), you're never going to get anything like the low response latency and absence of jitter that you can get from the cheapest of microcontrollers.  A far better approach is therefore to combine a bare-metal micro with a *nix system, and let the latter control the former with high-level commands which the micro then executes with very tight timing constraints.

     

    That was an attack on the message. I can't help if you take it personally. As far as that and your far better approach goes see the remaining responses

     

    You are deliberately misreferencing.  Your personal attack was not the comment on the above, but the comment below:

     

    Gary Stewart wrote:

     

    You really need to get better acquainted with real time Linux.

     

    That has nothing to do with the subject matter, and everything to do with attacking the messenger.  Don't do it.

     

    And then because your earlier personal attack wasn't enough, you did it again:

     

    Gary Stewart wrote:

     

    Perhaps you should go tell all of them that they are wrong. I'm sure they would value your opinion on that subject.

     

    and again

     

    Gary Stewart wrote:

     

    I'm sure they would like to hear from you to set them strait on why it doesn't really work.

     

    Just stop it.  Talk about the technical topic, don't criticise fellow forum members when you reply to them, it adds nothing to the discussion.

     

    Your technical comments are welcome, and interesting.  If you disagree with an observation, just say you disagree and provide contrary evidence.  You don't need to attack the messenger as part of your rebuttal.  It's not a valid form of engineering discussion.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 12 years ago in reply to gdstew

    This is in reply to the technical subject matter, which is interesting.

     

    Gary Stewart wrote:

     

          Morgaine wrote:

     

          I agree, 100us is pretty poor response latency for most realtime requirements, and the jitter isn't even quantified.

     

    It is still, and forever will be dependent on the application (of course) and there are a lot of applications where 100 uS works just fine whether you want to admit it or not. As far as

    jitter qualification goes we are not doing a tutorial on real time we are discussing whether real time Linux works (depending on the applications of course). There are many companies

    that find real time Linux perfect for their needs. There are a few big time RTOS companies, QNX and LynuxWorks are two that come to mind, that offer a full feature RTOS

    approach and not your "far better approach" when is not better (depending on the application of course). There are quite a few full feature free RTOS's that do to.

     

    I agree, it is always dependent on the realtime requirements of an application, and a poorly performing realtime system may well be good enough for an application that has only weak realtime requirements.  There are undoubtedly many applications for which the 100us or so latency and unspecified jitter of realtime Linux is perfectly adequate, or at least acceptable.  I even use it myself for MIDI work (I use Linux for everything, realtime for MIDI musician apps), and it is on the verge of being acceptable if one isn't very demanding.  One could never call it great though, as the hand-ear-brain system easily notices the poor latency.

     

    We're not doing a tutorial, but we are discussing the technical merits of different approaches to achieving realtime performance in an embedded Linux system, and there is not the slightest doubt that the realtime performance of realtime Linux is very poor compared to that of any old bare metal embedded microcontroller.

     

    That's not in any doubt because it's not a matter of opinion but a matter of measurement.  You seem to be disputing the quantitive study that I linked because it used high-end machinery, but high-end machinery will almost always yield better performance in a realtime operating system simply because everything runs faster, so I can't agree with your dismissal of that study.  On a low-end Linux system, naturally the performance would have been even worse.

     

    Morgaine.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • mcb1
    mcb1 over 12 years ago in reply to morgaine

    I wonder why I gave up on the Pi forums.

     

    It used to be so much more peaceful here.....

     

     

    Mark

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 12 years ago in reply to mcb1

    I noticed your interesting blog post about evaluating the Freescale Freedom-KL25z board.  image

     

    That's a very nice little Cortex-M0+ microcontroller and a well-featured board, especially for frugal low power standalone applications.  Have you tried linking it to the Pi for I/O expansion and better realtime response?  The very low price would seem to make it quite a good companion for the Pi, and your "easy to use" comments were encouraging, inasmuch as the barrier for budding engineers to get to grips with microcontroller programming would be quite low.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • gdstew
    gdstew over 12 years ago in reply to morgaine

    Morgaine Dinova wrote:

     

    Gary Stewart wrote:

     

    Original message:

     

    The Unix model of operating systems just isn't designed for realtime programming, and no matter what realtime patches you apply or which realtime scheduler you enable (I've played with both), you're never going to get anything like the low response latency and absence of jitter that you can get from the cheapest of microcontrollers.  A far better approach is therefore to combine a bare-metal micro with a *nix system, and let the latter control the former with high-level commands which the micro then executes with very tight timing constraints.

     

    That was an attack on the message. I can't help if you take it personally. As far as that and your far better approach goes see the remaining responses

     

    You are deliberately misreferencing.  Your personal attack was not the comment on the above, but the comment below:

     

    Gary Stewart wrote:

     

    You really need to get better acquainted with real time Linux.

     

    That has nothing to do with the subject matter, and everything to do with attacking the messenger.  Don't do it.

     

    And then because your earlier personal attack wasn't enough, you did it again:

     

    Gary Stewart wrote:

     

    Perhaps you should go tell all of them that they are wrong. I'm sure they would value your opinion on that subject.

     

    and again

     

    Gary Stewart wrote:

     

    I'm sure they would like to hear from you to set them strait on why it doesn't really work.

     

    Just stop it.  Talk about the technical topic, don't criticise fellow forum members when you reply to them, it adds nothing to the discussion.

     

    Your technical comments are welcome, and interesting.  If you disagree with an observation, just say you disagree and provide contrary evidence.  You don't need to attack the messenger as part of your rebuttal.  It's not a valid form of engineering discussion.

      You are deliberately misreferencing.

     

    No, you are. The statement:

     

      The Unix model of operating systems just isn't designed for realtime programming, ...

     

    the "attack":


    You really need to get better acquainted with real time Linux.

     

    Pretty sure that is a response to the message not an attack on the messenger and directly related to that statement, subject matter or not.

     

      Just stop it.  Talk about the technical topic, don't criticise fellow forum members when you reply to them, it adds nothing to the discussion.

     

    Does your regular use of fanbois or Raspberry Pi fanbois in completely non-technical posts of yours count as criticizing fellow forum members ?

     

    We're not doing a tutorial, but we are discussing the technical merits of different approaches to achieving realtime performance in an embedded Linux system, and there is not the slightest doubt that the realtime performance of realtime Linux is very poor compared to that of any old bare metal embedded microcontroller.

     

    Not sure how discussing hard real time jitter relates to discussing the performance of real time Linux compared to any old bare metal processor. Seems like it would be more appropriate if we were discussing real time Linux performance verses

    any other full feature RTOS performance (apples to apples).

     

    Your technical comments are welcome, and interesting.  If you disagree with an observation, just say you disagree and provide contrary evidence.

     

    I do, and you do your best to ignore it. Well until now at least.

     

    I agree, it is always dependent on the realtime requirements of an application, and a poorly performing realtime system may well be good enough for an application that has only weak realtime requirements.  There are undoubtedly many applications for which the 100us or so latency and unspecified jitter of realtime Linux is perfectly adequate, or at least acceptable.

     

    OK, thanks ? But excuse me if I add that the quality of the performance is in the eye of the people building the application and the performance of the application itself not what negative spin you

    want to put on it. Your continual use of damming with faint praise, adding "poorly performing", "weak realtime requirements", and "at least acceptable" to your sentences are classic examples,

    clearly show bias on your part. You keep using absolute terms (always negative) to describe relative qualities (for the dependent part). The poor performance you speak of is prettymuch in line

    with most commercially available full feature RTOS's given equivalent hardware and the weak real time requirements are common to a lot of applications. I'm not sure how, technically speaking of

    course this makes them weak and I'm sure that the commercial RTOS people would hotly dispute the description of their RTOS as poorly performing.

     

    We're not doing a tutorial, but we are discussing the technical merits of different approaches to achieving realtime performance in an embedded Linux system, and there is not the slightest doubt that the realtime performance of realtime Linux is very poor compared to that of any old bare metal embedded microcontroller.

     

    Not sure how discussing hard real time jitter in Linux relates to discussing the performance of real time Linux compared to any old bare metal processor. Seems like it would be more appropriate if we were

    discussing hard real time Linux performance verses any other full fearture RTOS hard real time performance (apples to apples).

     

    You seem to be disputing the quantitive study that I linked because it used high-end machinery, but high-end machinery will almost always yield better performance in a realtime operating system simply because everything runs faster, so I can't agree with your dismissal of that study.

     

    No, I clearly disputed the study because it was for enterprise class servers which is not even close to a typical real time application, and it did not use hardware that was even close to typical hardware. I now add that it was not a

    hard real time test even though you used it as an example for explaining hard real time jitter problems and the test results for one particular version of non-hard real time Linux optimised for the enterprise server environment does

    not tell me anything about others that are optimised for more general hard real time and real time applications.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 12 years ago in reply to mcb1

    I agree Mark.  This thread has lost focus. 

     

    It WAS about a comparison of the Raspberry Pi to BeagleBone Black and how we'll use each.  Now we have gotten down to Real Time OS and FPGA like abilities.  95% of the market is going to use BOTH boards for hobbies and prototyping.  I was one of the first people to say my preferences (RPi Model A for small stuff because of power consumption and BBB for large projects because it has more of the features I'm looking for like IO.)

     

    I would say lets fork the BBB technical talk to another thread (maybe in the BeagleBone forum) because that seems to all this is now.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • mcb1
    mcb1 over 12 years ago in reply to morgaine

    Morgaine

     

    Not yet, as I'm waiting for the headers to arrive. Silly me expected jaycar to carry them, but no...

    I did order 3 more to go with the ione E14 sent. How could you resist.?

     

    An expansion board is lacking as well, which is a shame as the number of I/O make this better priced than a Mega.

    I have a cunning plan, but need to sit down and discuss it with someone for doing the boards and then selling them to make them very affordable.

     

    If you've been following the top members forum, you'll also see that currently mbed.org is my best option for programming it, and someone has kindly done half a library that allows the existing arduino sketch to be used.

     

    I've ordered another Pi interface so eventually it will get connected, or a normal arduino and this used as a remote using the built-in accelerometer and touch slider.

     

    Cheers

    Mark

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 12 years ago in reply to Former Member

    Ervin Kosch wrote:

      I was one of the first people to say my preferences (RPi Model A for small stuff because of power consumption and BBB for large projects because it has more of the features I'm looking for like IO.)

    I'm curious what your power consumption figures are like for the model A as the BBB SRM has some interesting power consumption figures that on paper appear a good deal better than the B under somewhat similar circumstances.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • Former Member
    Former Member over 12 years ago in reply to Former Member

    Ervin Kosch wrote:

      I was one of the first people to say my preferences (RPi Model A for small stuff because of power consumption and BBB for large projects because it has more of the features I'm looking for like IO.)

    I'm curious what your power consumption figures are like for the model A as the BBB SRM has some interesting power consumption figures that on paper appear a good deal better than the B under somewhat similar circumstances.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
Children
No Data
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube