Author Topic: Easy and small Linux ARM platform?  (Read 11221 times)

0 Members and 1 Guest are viewing this topic.

Offline casper.bangTopic starter

  • Frequent Contributor
  • **
  • Posts: 311
  • Country: dk
  • Pro SE, amateur EE.
    • BangBits
Easy and small Linux ARM platform?
« on: August 21, 2014, 11:13:13 am »
Ok so I had a bunch of fun with ATiny and GCC, but now I think I want to try out some basic prototyping with a real OS, preferably ARM + Linux territory. I'm a software developer and my needs are purely academic of nature, to understand and get some hands on experience with low-level systems programming. What are the easiest and smallest platform candidates for doing this, preferably with a very low power usage? Raspberry? BeagleBoard?
 

Offline Cside

  • Regular Contributor
  • *
  • !
  • Posts: 105
Re: Easy and small Linux ARM platform?
« Reply #1 on: August 21, 2014, 11:17:28 am »
ive used the beaglebone black extensively and its really awesome.
we made a few capes for it without problems.
with an LCD and usb modem working it does draw a hefty current so consider that if doing embedded work.
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Easy and small Linux ARM platform?
« Reply #2 on: August 21, 2014, 11:24:46 am »
Quote
Raspberry? BeagleBoard?

Yes.

Or those TV usb-sticks, or arm-based phones. etc. The difficulty is to find documents and to program them.
================================
https://dannyelectronics.wordpress.com/
 

Offline casper.bangTopic starter

  • Frequent Contributor
  • **
  • Posts: 311
  • Country: dk
  • Pro SE, amateur EE.
    • BangBits
Re: Easy and small Linux ARM platform?
« Reply #3 on: August 21, 2014, 12:07:26 pm »
Or those TV usb-sticks, or arm-based phones. etc. The difficulty is to find documents and to program them.

Yeah I actually have an Android USB-stick for HDMI with a Rockchip, but the toolchain and driver story is a nightmare - Chinese vendors do not understand that using copyleft software also require them to disclose their stuff under the same license!
 

Offline bwat

  • Frequent Contributor
  • **
  • Posts: 278
  • Country: se
    • My website
Re: Easy and small Linux ARM platform?
« Reply #4 on: August 21, 2014, 03:04:32 pm »
If you want to learn about low-level systems programming then do some low-level systems programming. Installing a *nix on an ARM board is more of an exercise in integration and tool use.  Of course that may be what you're actually wanting to do.
"Who said that you should improve programming skills only at the workplace? Is the workplace even suitable for cultural improvement of any kind?" - Christophe Thibaut

"People who are really serious about software should make their own hardware." - Alan Kay
 

Offline casper.bangTopic starter

  • Frequent Contributor
  • **
  • Posts: 311
  • Country: dk
  • Pro SE, amateur EE.
    • BangBits
Re: Easy and small Linux ARM platform?
« Reply #5 on: August 21, 2014, 03:18:16 pm »
If you want to learn about low-level systems programming then do some low-level systems programming. Installing a *nix on an ARM board is more of an exercise in integration and tool use.  Of course that may be what you're actually wanting to do.

I hear what you are saying. However, with constraints comes focus. I don't need NUMA, hyperthreaded, out-of-order uber-complex CISC stuff topped up with MMX, SSE, SSE2, AVX, AVX2, FMA... you get the idea! ;)
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Easy and small Linux ARM platform?
« Reply #6 on: August 21, 2014, 03:18:32 pm »


Quote
Main features

CPU Atmel AT91SAM9G25 SoC (ARM9 @ 400Mhz)
DDR2 Ram 128 or 256 MByte
Power supply: single 3.3 Volt DC
Line levels: TTL 3.3V (NOT 5V tolerant)
Operative temperature range:
ARIETTA-G25 (128MByte RAM): -20 +70 °C
ARIETTA-G25-256 (256MByte RAM): -0 +70 °C
PCB layers: 8
RoHS and REACH compliant. Low EMI
Availability: > 5 years
Designed and Made in Italy
Exposed signals and external devices

J4 Placement for a 20x2 pins connector pitch 2.54mm (100 mils) (pinout):
1 full-speed usb host
1 hi-speed host/device (same port lines used for the microUSB port)
1 hi-speed host (same lines used for the WiFi adpter)
UART lines: 3 ports
I2C bus lines: 2 bus
SPI bus lines: 1 bus with up to 3 chip select (5 to 50 MHz)
PWM lines: 4 lines
A/D converters lines: 4 channels@10 bit
SSC/I2S interface for audio soc
No video or TFT output but the SPI bus can be used for small TFT display and I2C bus for small alphanumeric LCD
No direct LAN interface but the USB ports can be used with USB to LAN adapter
DP placements for a 6 pin male strip pitch 2.54 (100 mils) with the Debug Port Interface lines
Placement for IEE802.11 b/g/n Wi-Fi module WiFi USB adapter
Push-push type holder for bootable microSD (up to 64GB) with Linux pre-installed
microUSB connector to plug the Arietta to your PC and access to the internal Linux with and emulated LAN port over USB (USB gadget)
User configurable led on board
User configurable push button on board


It may be you can be interested about things like this (Arietta, made by ACME-System)
 

Offline bwat

  • Frequent Contributor
  • **
  • Posts: 278
  • Country: se
    • My website
Re: Easy and small Linux ARM platform?
« Reply #7 on: August 21, 2014, 04:00:39 pm »
If you want to learn about low-level systems programming then do some low-level systems programming. Installing a *nix on an ARM board is more of an exercise in integration and tool use.  Of course that may be what you're actually wanting to do.

I hear what you are saying. However, with constraints comes focus. I don't need NUMA, hyperthreaded, out-of-order uber-complex CISC stuff topped up with MMX, SSE, SSE2, AVX, AVX2, FMA... you get the idea! ;)

What I meant was more along the lines of installing Linux on a platform isn't really that interesting (and I rarely understand why a multiuser OS is used for embedded systems) but I would definitely say go for ARM development if you want to do low-level programming. I've had only good experiences with driver development with ARM platforms (smartphone products using Symbian OS). If I were you I would write my own kernel as it would force me to figure out how to bootstrap software on the platform, handle interrupts, and I would have to configure timers and other hardware to get something useful. I usually port my kernel to new platforms to figure out the lie of the land.
"Who said that you should improve programming skills only at the workplace? Is the workplace even suitable for cultural improvement of any kind?" - Christophe Thibaut

"People who are really serious about software should make their own hardware." - Alan Kay
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Easy and small Linux ARM platform?
« Reply #8 on: August 21, 2014, 05:17:16 pm »
Quote
but the toolchain and driver story is a nightmare - Chinese vendors do not understand that using copyleft software also require them to disclose their stuff under the same license!

Maybe you will have better luck with Google (Chromecast) or Roku - those devices are not expensive, particularly on the used market, and those companies are US-based so maybe they are better positioned to help you.
================================
https://dannyelectronics.wordpress.com/
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Easy and small Linux ARM platform?
« Reply #9 on: August 21, 2014, 05:18:13 pm »
Also this GNUBLIN tiny board in DIP40 package, it's very cheap and very easy ARM chip able to run linux.

 

Offline andersm

  • Super Contributor
  • ***
  • Posts: 1198
  • Country: fi
Re: Easy and small Linux ARM platform?
« Reply #10 on: August 21, 2014, 05:24:31 pm »
Atmel's SAMA5D3 Xplained is a nice and relatively inexpensive Cortex-A5 based board, but it doesn't have the community of the RPi, BeagleBoards or similar.

Offline SirNick

  • Frequent Contributor
  • **
  • Posts: 589
Re: Easy and small Linux ARM platform?
« Reply #11 on: August 22, 2014, 01:08:53 am »
For development work, the BBB is a good choice.  Here's why I would choose this (well, why I have chosen this) over the RPi...

(Some of this assumes you might want to grow into your own product.  If not, it may not apply.)

- It's popular enough that it has a community, and a few distros ready-to-go.  A baseline is very nice so you aren't forced to start at zero.
- The hardware design is open.  You can take the design files, modify them, and produce a product without any concern.  TI / BB endorse this path.
- The software is less encumbered by binary blobs.  IIRC, you still need one for OpenGL (I think), but 2D is doable with OSS.  This may or may not concern you.
- The CPU is available in single quantities.  No need for NDAs.  No need to stack SMD packages on each other.  You get the parts manifest for free, and can duplicate it or examine the datasheets as required for your purposes.
- It's faster.  Not by an enormous margin, and certainly not compared to a PC or late mobile phone, but it helps.  (Compiling X on Gentoo was an exercise in patience.  Recommend cross-compiling what you can.)
- In general, it seems to be a more solid device.  Ethernet and USB are implemented fairly well.  You get on-board flash and SD-based storage to choose from.
- Cost, after including the req'd SD card for a Pi, is about the same.  OTOH, you will need a mini-HDMI cable if you don't already have one lying around.

If you're interested in developing multimedia (read: video) projects, go with the Pi.  For audio only, the BBB might be better.  The McASP is a beast with serious potential.  It is nearly wasted on the BBB, but you have access to the registers and a few of the required pins, so you can at least get started before spinning your own reference board.
 

Offline casper.bangTopic starter

  • Frequent Contributor
  • **
  • Posts: 311
  • Country: dk
  • Pro SE, amateur EE.
    • BangBits
Re: Easy and small Linux ARM platform?
« Reply #12 on: August 22, 2014, 04:42:03 am »
Thanks for the feedback guys. I'm very close to ordering a BBB, apart from a small power-envelope (1-2W is low but not anywhere close to the ATTiny stuff I am used to), it seems to be what I need. :)
 

Offline David Hess

  • Super Contributor
  • ***
  • Posts: 16607
  • Country: us
  • DavidH
Re: Easy and small Linux ARM platform?
« Reply #13 on: August 22, 2014, 06:35:07 am »
SirNick covered the reasons I would pick the BBB over the Raspberry Pi.  The documentation is better, it is more open, the parts have better availability, and the hardware including the Ethernet interface is better.
 

Offline Laurynas

  • Contributor
  • Posts: 47
  • Country: lt
Re: Easy and small Linux ARM platform?
« Reply #14 on: August 22, 2014, 07:17:52 am »
Check out olimex stuff, they got quite a few interesting boards and their quality is very good.

I have this one:
https://www.olimex.com/wiki/A20-OLinuXino-LIME
 

Offline poida_pie

  • Regular Contributor
  • *
  • Posts: 119
  • Country: au
Re: Easy and small Linux ARM platform?
« Reply #15 on: August 22, 2014, 09:12:22 am »
raspberry pi? no a-d but I am using them for a barcode data acquisition project here at work.
Cheap and well supported by OS's.
 

Offline SirNick

  • Frequent Contributor
  • **
  • Posts: 589
Re: Easy and small Linux ARM platform?
« Reply #16 on: August 22, 2014, 07:13:05 pm »
Thanks for the feedback guys. I'm very close to ordering a BBB, apart from a small power-envelope (1-2W is low but not anywhere close to the ATTiny stuff I am used to), it seems to be what I need. :)

For sure.  The ATtiny is nowhere close to the CPU that you'll need to run Linux either.  (Not to speak of all the peripherals, like Ethernet and HDMI.)  With great power comes great power demand.  ;)
 

Offline bwat

  • Frequent Contributor
  • **
  • Posts: 278
  • Country: se
    • My website
Re: Easy and small Linux ARM platform?
« Reply #17 on: August 22, 2014, 07:23:29 pm »
Thanks for the feedback guys. I'm very close to ordering a BBB, apart from a small power-envelope (1-2W is low but not anywhere close to the ATTiny stuff I am used to), it seems to be what I need. :)

For sure.  The ATtiny is nowhere close to the CPU that you'll need to run Linux either.  (Not to speak of all the peripherals, like Ethernet and HDMI.)  With great power comes great power demand.  ;)

Reminds me of the following:
Quote
Costs come in different varieties: monetary cost, cost in physical space, and energy cost. In one project I was involved with, my team was chosen over a competing system because (among other reasons) our operating system used less power than the competition! We were referred to as a "half-watt operating system" while the other system weighed in at a hefty three watts. A peculiar way of comparing software, to be sure!

The quote is from POSIX.4 Programming for the Real World by Bill O. Gallmeister, 1995, O'Reilly. The book is recommended - a very enjoyable read and pretty useful too!
"Who said that you should improve programming skills only at the workplace? Is the workplace even suitable for cultural improvement of any kind?" - Christophe Thibaut

"People who are really serious about software should make their own hardware." - Alan Kay
 

Offline dannyf

  • Super Contributor
  • ***
  • Posts: 8221
  • Country: 00
Re: Easy and small Linux ARM platform?
« Reply #18 on: August 22, 2014, 08:28:44 pm »
Quote
A peculiar way of comparing software, to be sure!

Not unusual. There are a lot of peculiar ways to evaluate software. "Low cost" means different things to different people.

================================
https://dannyelectronics.wordpress.com/
 

Offline igendel

  • Frequent Contributor
  • **
  • Posts: 359
  • Country: il
    • It's Every Bit For Itself (Programming & MCU blog)
Re: Easy and small Linux ARM platform?
« Reply #19 on: August 22, 2014, 11:39:26 pm »
Hi, apologies for budging in, but since BBB was mentioned...

I own a BBB which I currently use as a (weak  :)) Ubuntu 12.04 desktop computer, for the children and such. I would like to do some stuff with the GPIO, but the material I found so far about it seems too complex to my noob Linux skills. At this point I'm not asking for much - a simple, slow digital IO will be enough.

Is there a way I missed, to access the BBB GPIO comfortably from, say, Python, or generally as a pseudo-file device? Any information will be greatly appreciated!
Maker projects, tutorials etc. on my Youtube channel: https://www.youtube.com/user/idogendel/
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 26895
  • Country: nl
    • NCT Developments
Re: Easy and small Linux ARM platform?
« Reply #20 on: August 23, 2014, 12:01:15 am »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline igendel

  • Frequent Contributor
  • **
  • Posts: 359
  • Country: il
    • It's Every Bit For Itself (Programming & MCU blog)
Re: Easy and small Linux ARM platform?
« Reply #21 on: August 23, 2014, 01:23:43 am »
Scroll down to around line 450:
http://lxr.free-electrons.com/source/Documentation/gpio.txt?v=2.6.27

Hmm. A little verbose  :) but I'll try to see what I can make of it after I get some sleep. Thanks!
Maker projects, tutorials etc. on my Youtube channel: https://www.youtube.com/user/idogendel/
 

Offline JoeO

  • Frequent Contributor
  • **
  • Posts: 527
  • Country: us
  • I admit to being deplorable
Re: Easy and small Linux ARM platform?
« Reply #22 on: August 23, 2014, 02:25:41 am »
Adafruit has many many tutorials about BBB, RPi and other topics.

https://learn.adafruit.com/
The day Al Gore was born there were 7,000 polar bears on Earth.
Today, only 26,000 remain.
 

Offline SirNick

  • Frequent Contributor
  • **
  • Posts: 589
Re: Easy and small Linux ARM platform?
« Reply #23 on: August 23, 2014, 03:06:52 am »
Indeed.  Here's result #1 from Google: "BeagleBone Black gpio python"

http://learn.adafruit.com/setting-up-io-python...beaglebone-black/gpio
 

Offline igendel

  • Frequent Contributor
  • **
  • Posts: 359
  • Country: il
    • It's Every Bit For Itself (Programming & MCU blog)
Re: Easy and small Linux ARM platform?
« Reply #24 on: August 23, 2014, 09:06:45 am »
Indeed.  Here's result #1 from Google: "BeagleBone Black gpio python"

http://learn.adafruit.com/setting-up-io-python...beaglebone-black/gpio

Yes, however that's a "black-box" solution, while I prefer to know what is actually happening - I mean, if such a process is absolutely necessary, so be it, but one would think that the developers of the BBB didn't count on Adafruit to provide the GPIO functionality to their average user...
Maker projects, tutorials etc. on my Youtube channel: https://www.youtube.com/user/idogendel/
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf