-----Original Message-----
From: cctalk-bounces at
classiccmp.org [mailto:cctalk-
bounces at
classiccmp.org] On Behalf Of Jochen Kunz
Sent: 03 November 2013 08:05
To: cctalk at
classiccmp.org
Subject: Re: Looking for a MicroController Recommedation
On Sat, 2 Nov 2013 17:25:05 -0000
"Robert Jarratt" <robert.jarratt at ntlworld.com> wrote:
I would need a development board that makes it
easy to interface to
the SD memory on one side and to the custom interfacing logic on the
other side
Get a Beaglebone Black:
http://beagleboard.org/Products/BeagleBone+Black
http://www.ti.com/tool/beaglebk
It gives you a 1GHz ARM Cortex-A8 based SOC, 512 MB RAM and 2 GB eMMC
for 45 US$ / 45,- EUR. It has Ethernet, USB host and device, HDMI, a
MicroSD
slot and lots of GPIOs, UARTs, I2C, SPI, ... on a easy
to access
connector.
Yes, I was looking at this and I have to say it does look promising. I then
realised that I already have a Raspberry Pi, so I had a quick go at some
bare metal programming on it, but the sampling rate I got on the GPIO pins
was woeful. I wrote a program just to turn one of the GPIO pins on and off
as fast as possible, but only seemed to get a pulse period of 6ms, which is
5 or 6 orders of magnitude too slow. At that rate even if I use a shift
register externally it would be way too slow. I could have been doing
something wrong, has anyone else ever tried this?
I wonder if bare metal access to GPIO on the beaglebone would be any better
than the Raspberry Pi? I have had a quick look at the docs and I can't find
anything about the speed of GPIO. I found one post which suggests you can
achieve 1.5MHz
(
http://www.supermicros.org/1/post/2013/07/beaglebone-gpio-musings.html). If
that is right then a shift register would be needed, but wider than 8 bits I
think.
The beaglebone SPI support looks like it might be an alternative. Although I
am not clear how fast this can go and whether I could get the timing to be
accurate enough. I would need to build some custom hardware that sends data
to/from the SPI interface on the beaglebone. That might not be too bad, but
I don't really know what is involved at the moment, probably an FPGA to make
prototyping easy.
It comes with Linux preinstaled. Of course you can
skip The Penguin and
run
your own code on the bare metal. You can implement
your stuff as a Linux
kernel driver. Thats what I recommend. Using Linux as a host will give you
drivers for the other hardware for free. (SD card controler, filesystem
for SD
storage, ...) Or you can build your stuff as a module
for the UBoot /
barebox
boot loader. This will get you closer to the hardware,
but still provide
convenient access to things like the SD card and file system drivers.
I have not written a driver before, that is a possibility but I feel that
bare metal is probably the way to go.
> If you want a FPGA consider the ZedBoard.
It is much more expensive
> (starting at 199 US$) but will give you a dual core Cortex-A9 and a FPGA
on
That is too expensive :-(
Regards
Rob