Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 30 May 2020 18:09:04 +0000 (UTC)
From:      Oskar Holmlund <oskar.holmlund@yahoo.com>
To:        freebsd-arm@freebsd.org, "Dr. Rolf Jansen" <freebsd@cyclaero.com>
Subject:   Re: BeagleBone AI
Message-ID:  <1475482977.403029.1590862144455@mail.yahoo.com>
In-Reply-To: <DCF67826-C2CA-461F-9A61-F934F6FB042A@cyclaero.com>
References:  <DCF67826-C2CA-461F-9A61-F934F6FB042A@cyclaero.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hello Rolf,


Den l=C3=B6rdag 30 maj 2020 04:22:12 CEST, Dr. Rolf Jansen <freebsd@cyclaer=
o.com> skrev:=20

We are starting a new project of industrial device controllers. We want to =
utilize ARM-SBCs as unit controllers (and here a unit is one industrial dev=
ice), and we need to attach at least 24 ADCs, 8 DACs and 16 DIOs to each un=
it controller (UC). Many unit controllers (eventually tenths to hundreds) w=
ould then communicate by a custom protocol over ethernet with a command and=
 control server. The UCs and the C&C server would be operated by FreeBSD. D=
irect interoperability of the UCs with 3rd party IT systems is not a concer=
n, integration needs to be done via the C&C server.=C2=A0=20

Since the sample/update rate requirements are quite low, we are going the I=
=C2=B2C path, and initial testing has been done using the BeagleBone Black.=
 It got 2 separate I=C2=B2C 400 kbit/s busses which helps already, avoiding=
 I=C2=B2C address conflicts. Yet, the 8 port I=C2=B2C switch TCA9548A is wo=
rking very well, and we are now sure to be able to attach enough ADCs, DACs=
 and DIOs to each unit controller.

Although the initial viability tests were done with a BeagleBone Black runn=
ing FreeBSD 13-CURRENT, we could start with another more modern SBC.

First Question:

What modern SBC with more than 1 I=C2=B2C bus and which can run FreeBSD 13+=
+ would you suggest?


Now recently, I found the BeagleBone AI site https://beagleboard.org/ai/ <h=
ttps://beagleboard.org/ai/>. This one got also 2 I=C2=B2C busses, and physi=
cally, with respect to a housing, it could be a 1:1 replacement for a BBB. =
It seems, this one is still too new for FreeBSD. I am very fond of the BB c=
oncept - for me it is much more appealing for industrial embedded applicati=
ons than for example any RPI. However, the BBB came to age, and I would sta=
rt a new project with it only, if there would be a reasonable chance for an=
 upgrade path.

Two more Questions:

Is it reasonable to assume that FreeBSD would run on a BBAI in the future, =
let=E2=80=99s say in 2 to 3 years?

Perhaps I could help porting FreeBSD to a BBAI. What would be the general s=
teps?


Many thanks in advance for any suggestions, advices and clarifications.

Best regards

Rolf
_______________________________________________
freebsd-arm@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-arm
To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org"

I'm also into industrial embedded systems, we currently use am3358 and in o=
ur roadmap we have a plan to use am57xx in the future. We build our own cus=
tom hardware and dont use Beaglebone* in the products.

First question; have a quick look at the hardware documentation from the So=
Cs vendor listed in sys/arm and sys/arm64. If you like the structure of the=
 documentation talk to the vendor and see if you can get the product life t=
ime your project needs, do the support organisation give some kind of desig=
n review of schematics...do the support organisation "know" something about=
 the BSDs? :)
I think its good if you can fix problems in the future on your own due to t=
he lack of manpower in freebsd@arm as both Ian Lepore and Emmanuel Vadot ha=
s pointed out several times.=20

Steps to get AM57xx SoCs to work:
1 Print the schematics and parts of the documentation ( https://www.ti.com/=
lit/ug/spruhz6l/spruhz6l.pdf ) on paper.
2 Find marking pens.
3 Build & boot u-boot - probably easy check out ports/sysutils/u-boot-* cha=
nge model/board_config maybe some patches are needed.
4 Dive into the devicetree (moving target and not always correct) and under=
stand the concept. The relationship between different parts of the system a=
nd the documentation, find the registers & bits you need and issue read/wri=
te (maybe some glue are needed aswell).=20
5 Write new/rewrite drivers.
6 goto (4)

It will probably take a year or two to have stable support for am57xx. If y=
ou have time to work on making freebsd boot on BBAI it will be great - mayb=
e we can get it done in 6 months ? :)

I will put up an initial proposal for am335x clock on reviews.freebsd.org a=
s soon as my account has been approved. Head boots and i have tested most o=
f the function except PRUs.=20
I assume am57xx/dra7xx have some new type of clock/dpll but it should not b=
e too hard to add.

//Oskar




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1475482977.403029.1590862144455>