element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • 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 & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • 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
Single-Board Computers
  • Products
  • Dev Tools
  • Single-Board Computers
  • More
  • Cancel
Single-Board Computers
Forum The future of PRU in TI's SoC evolution
  • Blog
  • Forum
  • Documents
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Single-Board Computers to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 30 replies
  • Subscribers 59 subscribers
  • Views 3317 views
  • Users 0 members are here
  • cortex-a8
  • pru
  • bbb
  • cortex-a9
  • cortex-a15
  • ti
  • cortex-a7
Related

The future of PRU in TI's SoC evolution

morgaine
morgaine over 11 years ago

The video in Drew's recent blog post about "Maker Mom to demo BeagleBone Black on Chicago's WGN TV morning news" showed the BBB doing what it does so well, fast realtime I/O without CPU intervention, courtesy of its remarkable twin PRUs (Programmable Real-time Units).

 

We've had a lot of discussions about the PRUs on this forum, but that blog got me thinking about their future, how they could be developed further.  There is always room for hardware improvements, more local memory per PRU being clearly desirable and a speed increment always being welcome.  On the software front there are many improvements that could be done in terms of flexible drivers and language support to bring the PRUs into the solution space for more people.

 

Unfortunately, speculating on the bright future possibilities for PRUs then brought to mind a very grim possibility:  that PRUs are seen by TI marketing and product designers not as the exceptional hardware feature and product differentiators that they are, but as irrelevant to future product lines "because nobody is asking for them" or because "nobody else is doing that".  If PRUs were discontinued from TI's future application processor lineup, it wouldn't be the first time that awesome engineering has been scuppered by blinkered business decisions.

 

So, I'll end with some questions and a suggestion:

 

  • If anyone here knows TI's SoC offerings beyond Cortex-A8, did you see PRUs featured in the hardware?  If so, are the PRUs the same as in the BBB's AM3359, or have they evolved further?  Has TI released any relevant information on this issue?
  • Since Drew is in regular contact with Jason Kridner, and perhaps other Element14 staff have knowledge of TI future offerings on a business level as well, could you perhaps inquire for us whether TI's plan is to continue to offer PRUs in future SoCs, or to discontinue the concept, or "no comment" for business reasons, or are they genuinely undecided?

 

From a customer perspective, PRUs can be a very good reason for buying AM335x, but forward-looking engineering decisions involve the existence of a future migration path as well.  If PRUs are end-of-life beyond TI's Cortex-A8-based family, then they're no longer a very appealing feature because not many people are willing to invest much time and effort in a powerful solution that has no future.  I think this is an important question to ask of TI.

 

Morgaine.

  • Sign in to reply
  • Cancel

Top Replies

  • Former Member
    Former Member over 11 years ago in reply to morgaine +2
    Ah, but two things would actually be interesting about the K1: 1. no more porting things to OpenGL ES, you have the full OpenGL at your disposal too. 2. Even though firmly in the binary blob category,…
  • morgaine
    morgaine over 11 years ago in reply to morgaine +1
    morgaine wrote: two Cortex-M4 cores in OMAP5 interface to the dual Cortex-A15 A new competitor in the OMAP5 space has just been released by nVidia, the Tegra K1 featuring quad+1 Cortex-A15 CPU cores…
  • Former Member
    Former Member over 11 years ago in reply to morgaine +1
    Luc Verhaegen is quite active in the sunxi mailing lists and seemingly uses Olimex boards for development work on Limadriver. Yes, slightly worrying that there appears to be no public progress recently…
Parents
  • Former Member
    Former Member over 11 years ago

    I came across something interesting recently that's rather relevant to us discussing the merits of using some Cortex-M* cores in place of the PRUs.

     

    It seems that the am33xx series already has a Cortex-M3 in it. I'm not sure it's terribly useful, it's seemingly used as some part of the power management capabilities and has some sort of hardware mailbox interface to the main cpu.

     

    Documentation and firmware for it is here http://arago-project.org/git/projects/?p=am33x-cm3.git;a=tree

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

    selsinork wrote:

     

    It seems that the am33xx series already has a Cortex-M3 in it. I'm not sure it's terribly useful, it's seemingly used as some part of the power management capabilities and has some sort of hardware mailbox interface to the main cpu.

     

    I guess the appropriate hipster comment would be "Hack all the cores!"  Yep, even that one. image

     

    As an aside, back when we discovered that OMAP5 has replaced the two PRUs of AM335x with two Cortex-M4, it did occur to me that if they'd dedicated the same number of gates to adding more PRUs instead, OMAP5 would have its own integrated array-of-cores, a bit like Parallella. image

     

    Morgaine.

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

    I think it's fairly clear that TI have little interest in the PRU, so even if they had done that without some commitment to active support it I think it would have been pointless.

    What's becoming painfully clear to me is that the boards/SoCs with an active developer community, not 'user' community, are making much more progress. With little in the way of developer community behind the beaglebone and no interest from TI, what future for the PRU ?

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

    selsinork wrote:

     

    I think it's fairly clear that TI have little interest in the PRU, so even if they had done that without some commitment to active support it I think it would have been pointless.

    What's becoming painfully clear to me is that the boards/SoCs with an active developer community, not 'user' community, are making much more progress. With little in the way of developer community behind the beaglebone and no interest from TI, what future for the PRU ?

    I haven't looked into PRU in great detail, but the first impression it made on me is that it's a user/developer-programmable version of the internal RISC processor in Freescale's QUICC communications SoCs.  I've had a lot of experience with various generations of QUICC, and they do support many communications protocols like HDLC, ATM, and async HDLC.  However, the QUICC internal RISC processor is a closed architecture: you can download binary blobs, but you can't write your own.

     

    So I see PRU having the advantage of programmability.  That said, I don't personally have an application for it at this time, and I don't know whether TI is taking any embedded communications sockets away from Freescale.  It may depend on whether EtherCAT takes off and who supports it -- I haven't looked into that either.

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

    If the PRU subsystem is available in the 10-year long-term support AM335x parts, then it doesn't really matter at all whether TI "has interest" in supporting the PRUs --- it's still completely in our interest  to give it FOSS support.  10 years is long enough to underpin a whole generation of open projects, and the latest shiny is of little relevance.

     

    And all these BBBs aren't going to vanish once an OMAP5 board comes out.  Their PRUs certainly merit our support, for decades ahead.

     

    Morgaine.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • morgaine
    morgaine over 11 years ago in reply to Former Member

    If the PRU subsystem is available in the 10-year long-term support AM335x parts, then it doesn't really matter at all whether TI "has interest" in supporting the PRUs --- it's still completely in our interest  to give it FOSS support.  10 years is long enough to underpin a whole generation of open projects, and the latest shiny is of little relevance.

     

    And all these BBBs aren't going to vanish once an OMAP5 board comes out.  Their PRUs certainly merit our support, for decades ahead.

     

    Morgaine.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
  • michaelkellett
    michaelkellett over 11 years ago in reply to morgaine

    TI (and to be fair others) are rather good at letting stuff with 10 year support die. The technique is that you don't do any bug fixes. This means that the part is available for those who have designed it in but it's not very exciting for new projects. (eg There are Luminary micros in production with barely functioning CAN and no plan to fix it ever.)

    So, at least from my point of view, interesting as it may be, the PRU is no use if TI are not publicly and seriously committed to it's future.

     

    MK

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 11 years ago in reply to michaelkellett

    I'm scratching my head over this.

     

    Michael Kellett wrote:

     

    TI (and to be fair others) are rather good at letting stuff with 10 year support die. The technique is that you don't do any bug fixes.

     

    While I accept that PRU may have undiscovered bugs, they're not much in evidence yet (or at all, perhaps because it's such a simple subsystem), so there's nothing for TI to fix.  Consequently that's not a reason for PRU to die either.

     

    This means that the part is available for those who have designed it in but it's not very exciting for new projects.

     

    Why?  There is an infinity of possible new projects for which dual 200MHz RISC processors are not only awesome but overkill.  After all, people are still designing excellent new projects with 80MHz 8-bit AVRs.  Solutions are good because they fulfill requirements, not because the solution technology is exciting.  Of course we all love new components, but what you're saying is something much stronger, that the old PRUs are going to die (ie. no longer be seen as useful solutions).  Why?  I don't see any valid reason given for this at all.  An AVR isn't sexy either, but I don't see anyone saying they're about to die.

     

    So, at least from my point of view, interesting as it may be, the PRU is no use if TI are not publicly and seriously committed to it's future.

     

    Why?  There are in excess of 100k BBBs out there, and every one has a couple of PRUs.  It's a mystery to me how anyone can say that those PRUs are of no use just because TI does not propose to include PRUs in future SoCs.  Sure, I'd love PRUs to appear in future devices too and so I'm disappointed that they won't, but that's no reason for me to think that they're going to die.  I expect PRU support to get better and better over many years still.

     

    And the PRUs certainly won't suddenly be vanishing from within my BBBs.  They're quite at home there. image

     

    Morgaine.

     

    PS. Just to be clear, I understand fully that design teams invest in technologies strategically, and so if one path heads off into a well signposted distant future and another leads to a known cul de sac, then it's very good strategy to invest in the long-term path if the aim is to create infrastructure for the long term.  But it's a very different matter to also say that all cul de sacs should be closed off or ignored.  The PRU is a very useful little cul de sac, and there is very little time lost by using it simply because it is so simple.  There are subsystems in all SoCs that get replaced in the next generation as SoCs evolve, yet we still use them if they are useful.  The PRUs are no different.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • michaelkellett
    michaelkellett over 11 years ago in reply to morgaine

    I think we are talking from rather different points of view here. Almost everything I work on is aimed at production or supporting production - for bits of test gear the numbers may be very small but often the numbers planned may be quite large. I almost never use ready made boards. For me the problem is that if TI drop the PRU from the main stream of their thinking and product range it is not  a good idea to use it in a new product since the support and evolution of that product will become an issue later.

    To pick up on your point re. AVR - it's a good example (along with 8051s) of the long slow death of micros. I used to design AVRs into lot's of things but I haven't done so for about 5 years now, having replaced them with ARM Cortex parts - which are now much more powerful and cheaper. It doesn't make sense in most cases to use an AVR for a new commercial design but equally it wouldn't usually pay to design one out of a product in production - so they'll go on making them for a while yet. (BTW the fastest 8 bit AVR on Atmel's website clocks at 32MHz) but the great thing about AVR is the huge amount of support stuff of every kind that is already developed.

    But as far as community or third party support goes the PRU is competing with alternatives which do have 100% support from their manufacturers, like Xilinx with Zynq, XMOS, etc. and I suspect that it will never get popular if even TI don't love it any more.

     

    I'm happy that you have a home for some of them - the poor little orphans need all the friends they can get image

     

    MK

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

    Morgaine Dinova wrote:

     

    While I accept that PRU may have undiscovered bugs, they're not much in evidence yet

    I seem to recall shabaz having a problem with not being able to access some pins properly from the PRU. I think there was a workaround, but not sure if he ever got to the bottom of it.

     

    Why?  There are in excess of 100k BBBs out there, and every one has a couple of PRUs.

    Accepted, how many are used though?

    I think I've seen one question here and maybe two in the google group.  I'd not be surprised if shabaz has done more with them than anyone else.

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

    Morgaine Dinova wrote:

    And all these BBBs aren't going to vanish once an OMAP5 board comes out.  Their PRUs certainly merit our support, for decades ahead.

    No argument here. Supporting the PRU and using it will be a good thing for existing BBB owners.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 11 years ago in reply to michaelkellett

    Michael Kellett wrote:

     

    But as far as community or third party support goes the PRU is competing with alternatives which do have 100% support from their manufacturers, like Xilinx with Zynq, XMOS, etc. and I suspect that it will never get popular if even TI don't love it any more.

     

    PRU is not competing with any Xilinx device in any direct sense.   The Zynq devices don't have embedded microcontrollers running alongside their dual Cortex-A9 cores, and it's a vastly more complex proposition to program the Zynq's FPGA with a pair of soft core realtime processors than to use the existing PRUs in an AM335x.  Also, there is a very large difference in price, the so-called "Xilinx tax".  Adapteva is said to be absorbing the cost of the Zynq parts themselves just to get Epiphany widely known, because otherwise Parallella could never have been priced anywhere near $99.

     

    Likewise PRU is not competing with XMOS parts.  Those are all simple microcontrollers using 1 to 4 physical cores with timesliced threads, not application processors.  You'd have to stick an application processor on the side hooked up to an XMOS device for the composite to look like an AM335x with its PRUs.

     

    There doesn't appear to be anything much out there with the architecture of the AM335x and its embedded PRUs, other than that Freescale device with its mostly undocumented subsystem that John has told us about.

     

    Morgaine.

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

    selsinork wrote:

     

    Accepted, how many are used though?

     

    Very very few, there's no doubt about that.  The vast majority of BBB users probably don't even realize the PRUs are present.  Of course, that perception is easily corrected, and I bet a lot of new users would appear if they became easy to use.  With the new PRU C compiler being released, at least some level of additional interest is guaranteed.

     

    I think I've seen one question here and maybe two in the google group.  I'd not be surprised if shabaz has done more with them than anyone else.

    You're probably right! image

     

    It's going to be mighty difficult to get anyone interested though if people are hyping up the view that "the PRUs are dead".  It reminds me of the "BSD is dead" meme --- a pretty daft thing to say.  While "X is dead" is undoutedly in vogue for some, I'm just trying to redress the balance a little.  PRUs will be around for decades yet, and even commercial outfits will be using AM335x where 10-year support suits the requirement.  Olimex understands that "sexy new part" is more an affectation than an engineering rationale, which is why they have an AM335x-based OLinuXino in their future product lineup.

     

    Morgaine.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • johnbeetem
    johnbeetem over 11 years ago in reply to morgaine

    Morgaine Dinova wrote:

     

    selsinork wrote:

     

    Accepted, how many are used though?

     

    Very very few, there's no doubt about that.  The vast majority of BBB users probably don't even realize the PRUs are present.  Of course, that perception is easily corrected, and I bet a lot of new users would appear if they became easy to use.  With the new PRU C compiler being released, at least some level of additional interest is guaranteed.

     

    I think I've seen one question here and maybe two in the google group.  I'd not be surprised if shabaz has done more with them than anyone else.

    You're probably right!

     

    It's going to be mighty difficult to get anyone interested though if people are hyping up the view that "the PRUs are dead".  It reminds me of the "BSD is dead" meme --- a pretty daft thing to say.

    The problem is that if PRU is not used, it will get starved for resources and die off.  When it comes to selling chips, technical elegance amounts to very little in the world of computer architecture.  If it did, the AMD 29000 [sic] and Motorola 88000 would still be thriving.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 11 years ago in reply to johnbeetem

    John Beetem wrote:

     

    The problem is that if PRU is not used, it will get starved for resources and die off.

     

    What resources?  What dying off?

     

    AM335x is an existing product line, very much still in production, and with certain devices in the range having a guaranteed 10-year production lifespan.  PRU needs no resources, it's fully functional in every (or most) AM335x parts already, and it can't die off when it's given no resources.  It's just there, in exactly the same way as any other bespoke subsystem of any SoC is just there as long as the products are in production, and for many people long after it's no longer sold.

     

    And PRU is fully documented, so the FOSS community can make it do whatever they want for decades ahead without any reliance on manufacturer product cycles nor official support --- there is no possible end of life for PRUs until AM335x boards or devices start to perish physically.

     

    I really have no idea where this bizarre meme of dying off is coming from.  It's journalist talk, not engineering.

     

    Guess what?  EVERY part of every SoC is "dying off", in the grand scheme of things.  Are we going to stop using all SoCs now because of the "dying off" meme?  At best, it's a sales metaphor, but sales is not the sum total of engineering.

     

    Morgaine.

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

    Interesting reply from Jason on another question about availability of the PRU Compiler

    https://groups.google.com/d/msg/beagleboard/tedNBX9e8iI/-USTBmFYLJEJ

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
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