Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #21889

Possible Forth target (Beaglebone RTU)

From Paul Rubin <no.email@nospam.invalid>
Newsgroups comp.lang.forth
Subject Possible Forth target (Beaglebone RTU)
Date 2013-04-25 01:03 -0700
Organization Nightsong/Fort GNOX
Message-ID <7xobd3dolk.fsf@ruckus.brouhaha.com> (permalink)

Show all headers | View raw


I was looking at the specs of the new Beaglebone Black and noticed that
the chip has a pair of so-called Realtime Processing Units (RTU's) for
purposes of motor control and stuff like that.  Apparently the old
Beaglebone processor had these too, and I just hadn't taken note of it.
Some info and pointers to the reference docs are here:

http://blog.boxysean.com/2012/08/12/first-steps-with-the-beaglebone-pru/
http://elinux.org/BeagleBone_PRU

Summary: each PRU is a realtime, non-pipelined, small 32-bit RISC
processor with 8k of instruction ram and 8k of data ram, and there is
12k of common ram shared between the two PRU's if I understand it right.
PRU's have 32 registers of which 29 are general purpose, and (an
oddity?) they only has signed arithmetic.  They run at 200 mhz and are
on the same die as the main ARM core running the Beaglebone, so there is
some kind of fast interface between them.  There is no multiplication
instruction, i.e. it is not a DSP.  I only spent a few minutes looking
at the instruction set but it is pretty ugly.  It looks like the
register file is actually addressible as ram using special instructions,
i.e. you can have pointers to registers, and there are autoincrement/
autodecrement modes, so the register file might be usable as Forth
stacks if you don't mind the limited depth.

There doesn't seem to be a C compiler for the PRU.  You load machine
code into it from an ARM application.  So this sounds like an
opportunity for Forth to get some traction, if anyone cares.

Back to comp.lang.forth | Previous | NextNext in thread | Find similar


Thread

Possible Forth target (Beaglebone RTU) Paul Rubin <no.email@nospam.invalid> - 2013-04-25 01:03 -0700
  Re: Possible Forth target (Beaglebone RTU) rickman <gnuarm@gmail.com> - 2013-04-26 13:49 -0400
    Re: Possible Forth target (Beaglebone RTU) Paul Rubin <no.email@nospam.invalid> - 2013-04-26 18:20 -0700
      Re: Possible Forth target (Beaglebone RTU) rickman <gnuarm@gmail.com> - 2013-04-28 18:23 -0400
        Re: Possible Forth target (Beaglebone RTU) Paul Rubin <no.email@nospam.invalid> - 2013-05-06 00:07 -0700

csiph-web