Archive

Posts Tagged ‘beagleboard’

Embedded Linux Conference 2013 Schedule

January 24th, 2013 2 comments

ELC 2012

The Embedded Linux Conference (ELC 2013) will take place on February 20 – 22, 2013 at Park 55 Hotel in San Francisco, California.

ELC consists of 3 days of presentations, tutorials and sessions. There will be over 50 sessions during those 3 days. I’ll highlight a few sessions that I find particularly interesting, and that did not get presented at ELCE 2012 (AFAICR).

February 20

We are now two years into the new maintainer model for ARM platforms, and we have settled down into a workflow that maintainers have adjusted well to. Still, when new platforms arrive, or when maintainer ship changes hands, there’s sometimes a bit of ramp-up in getting used to how we organize our git tree and how we prefer to see code submitted to fit that model.

This presentation will give an overview of how we have chosen to organize and maintain the arm-soc tree, and advice to developers and maintainers on best practices to help organize your code in a way that makes life easier for everybody involved.Main audience for this presentation is developers working on upstream kernels for ARM platforms, including platform maintainers.

The Yocto Project was announced slightly more than 2 years ago at ELC-E Cambridge and in the OpenEmbedded e.V. General Assembly the day after the conference I proposed to embrace and adopt the Yocto Project as the core for OpenEmbedded.

In the past 2 years the ecosystem has seen tremendous growth, but not always in sane directions. This presentation will detail how the Yocto Project, the OpenEmbedded Project, the community and the companies involved evolved during that time.

The Angstrom Distribution and the Beagleboard will be used as examples since those were first OE classic targets to be publicly converted to the new world order.

This presentation will also try to clear up to confusion about what people actually mean when they say “this runs yocto” :)

LTSI is the Linux Foundation CE workgroup project that creates and maintains long-term stable kernel for industry use. Recently LTSI-3.4 was released, and it is committed to being kept maintained till the community applies bug-fix and security fix patches on LTS-3.4. The community LTS maintainer Greg Kroah Hartman stated it would last at least till May 2014. This would dramatically reduce your own effort to collect such important patches by you. Furthermore, Linux Foundation Yocto project that provides a recipe for custom Linux BSP creation will add support for LTSI kernel from this release. Given this significant improvement I want to help LTSI user to start work with it. In this session, I will introduce the specification of LTSI-3.4 (enhancement from the community kernel) and how to write a Yocto recipe to collect your own enhancement patches on top of the official LTSI-3.4 kernel.

The common clock framework, which was included in the 3.4 kernel in the beginning of 2012, is now mandatory to support all new ARM
SoCs. It is also part of the “one zImage to run them all” big plan of the ARM architecture in the Linux kernel.After an introduction on why we needed this framework and on the problems it solves, we will go through the implementation details of this framework. Then, with real examples, we will focus on how to use this framework to add clock support to a new ARM SoC. We will also show how the device tree is used in this process.The last part of the talk will review how device drivers use this framework, using examples taken from various parts of the kernel.

Multi-core processors are now the rule rather than the exception in high-end applications. But, as we try to port our legacy applications to multi-core platforms, what pitfalls lay in wait? This presentation will outline the conditions that lead to multi-core race conditions and outline the techniques for identifying and redesigning code to successfully function in a multi-core world.

GStreamer is the leading multimedia framework for various OS platforms, notably Linux systems. A variety of multimedia applications can be constructed with well-implemented plugins, which have versatile functions such as image scaling, cropping, color conversion, and video decoding. However, in the case of embedded systems, they should require further system integration to utilize specialized hardware acceleration engines in SoC for optimal performance.

This presentation shows the case study experience of integrating video plugins with a Renesas SoC platform. It will discuss how to access hardware inside a plugin, assigning buffer memory suited for hardware, and eliminating the ‘memcpy’ call.The audience will learn about essential technique for integrating GStreamer into embedded system. An understanding of the basics of video codecs and color formats is required.

February 21

This BoF is intended to bring together anybody that tests the Linux kernel to share best practices and brainstorm new ideas. Topics may range from .config testing, module/built-in drivers, test methods and tools for testing specific driver subsystems, VM/scheduler/interrupt stress testing, and beyond.

The discussion is targeted at Linux kernel developers, test engineers, and embedded Linux product teams/consultants with the common task of testing Linux kernel integrity. Attendees should have a firm grasp of building and deploying the kernel as well as kernel/userspace kernel APIs.

The LLVM project is an extensive compiler technology suite which is becoming commonplace in many industries. Technology built with LLVM is already shipped in millions of Linux devices as a part of Android/Renderscript. Increasingly it is becoming a big part of the development process for embedded projects, all the way up through to high performance computing clusters. This session will provide an update on the status of the LLVM Linux project; a project which is cooperating with both the Linux kernel and LLVM communities to build the Linux kernel with Clang/LLVM.This talk is for experienced developers who are interested in toolchain technology and Linux Kernel programming.

In 2003 I decided to replace twenty-two GNU packages in Linux From Scratch (everything except the compiler, kernel, and libc) with BusyBox, and then rebuild the result under itself. This didn’t remotely work, so I started testing and improving BusyBox until it did, putting in so much work on BusyBox its maintainer handed the project over to me.In 2006 I handed BusyBox off to a new maintainer and started over from scratch on a fresh implementation, Toybox. In 2011 Tim Bird (founder of CELF) convinced me to repurpose Toybox as a new BSD-Licensed Posix-2008 compliant command line for Android.

This panel explains what’s in the “standard” Linux command line: drawing commands from POSIX, LSB, Android Toolbox, Linux From Scratch, and more. How to determine what should be in the base system, and how to know what to exclude, and why the “standards” aren’t enough.

Closed-source binary drivers and libraries are endemic in embedded, with binary blobs essential on many modern boards to use the on-board 2D, 3D, or video acceleration. Recently there has been progress in open drivers from manufactures for various platforms including Intel, from 3D acceleration with OpenGL to hardware video decode/encode with VA API. This presentation will explain why open drivers are better than closed, discuss the options available, and describe what is available in the Yocto Project BSPs for you to use.The audience for this talk is expected to be developers and architects interested in the state of open graphics in Linux. Knowledge of this field will be assumed.

Performance is an important aspect when developing mobile applications as it affects both the interactive user experience and the device battery life. This presentation will introduce techniques and tools (e.g. profilers) useful for creating high-perfomance code starting at the high-level design stage (code organisation, data layout, etc.) and following through to implementation considerations. Specific instruction sets (e.g. NEON) will not be a primary focus, the goal rather being to enable efficient use of these without delving into details, thus giving the presentation a broader applicability.The target audience is developers of compute-intensive (native) applications or libraries who need to achieve the best possible performance. No special expertise beyond general familiarity with userspace Linux programming is assumed.

As costs have come down and the power of embedded platforms has increased, the hacker/maker community is playing an increasingly critical role in the creation of disruptive technologies. The “Next Big Thing” will likely start out as a hacker project using a commodity embedded hardware platform. Intel’s Atom-based offerings continue to grow while targeting new niches in embedded applications. This talk will outline exciting new developments with Atom processors in the embedded space, and how hackers can make best use of these advantages.This talk will be relevant to hackers, hobbyists, and people interested in developing embedded products based on Atom, and is open to all technical experience levels.

February 22

The ‘In Kernel Switcher’ (IKS) is a solution developed by Linaro and ARM to support ARM’€™s new big.LITTLE implementation. It is pairing together an A7 (LITTLE) and an A15 (big) processor into a logical entity that is then presented to the kernel as one CPU. From there the solution is seeking to achieve optimal performance and power consumption by switching between the big or the LITTLE core based on system usage.This session will present the IKS solution. After giving an overview of the big.LITTLE processor we will present the solution itself, how frequencies are masqueraded to the cpufreq core, the steps involved in doing a “€œswitch”€ between cores and some of the optimisation made to the interactive governor.

The session will conclude by presenting the results that we obtained as well as a brief overview of Linaro’s upstreaming plan.

Always Innovating has announced a new product, the MeCam, a self video nano copter to point-and-shoot yourself. The MeCam launches from the palm of a hand and hovers instantly. This talk will review the lessons learned during the design of this product:

  1. hardware “- CPU: the choice and the different trade-offs involved with this selection.
  2. hardware -€“ sensors: the complete list of the 14 sensors, their advantages and drawbacks.
  3. software -€“ core: the architecture of the Linux based system and the key challenges.
  4. software -€“ stabilization algorithm: the experience during the tuning of the different algorithms participating to the self hovering.

This talk targets developer with good expertise in both hardware and software. No deep knowledge in a specific field is mandatory but serious understanding of ARM and the Linux kernel is a plus.

Since Completely Fair Scheduler (CFS), which is default scheduler of Linux mainline kernel, has been introduced in kernel 2.6.23, due to its remarkable performance, we’ve paid little attention to improving the scheduler. In this presentation, we will show the CFS limitations, unsatisfactory fairness among cores and long response time to user interactive tasks by some experimental result. And then we will explain you an example scenario to solve this vulnerable point in multicore environment.

Sometimes you may encounter segmentation fault at malloc or free. It looks a bug of malloc library, but at most case it is not. Some other part destroys heap management area. It is very hard to tell which program actually destroys the heap if the process is very large and uses so many libraries and threads.
In this session I will show you some tips to trouble shoot heap problem.

  1. tips of malloc library in glibc
  2. how to hook and replace malloc
  3. use mspace in dlmalloc to separete memory spaceExpected audience is developers who writes code in C/C++ language and want to solve problems related heap memory.

Summary of the proposal:

This talk describes the presenter’s experience with using the Yocto Project, along with various open source layers, to build a digital signage solution from scratch. The presenter covers how various components are used from the oe-core, meta-web-kiosk, meta-security, meta-virtualization, and meta-nuc layers to get a working solution for digital signage. The talk provides a live demo of the solution, along with access to the source code & build environment.

Targeted Audience:

This talk is targeted to the open source development community. The audience can expect to get more knowledge about how they can build their own digital signage solution with the help of the Yocto Project and various open source layers.

olibc is derived from bionic libc used in Android, which was initially derived from NetBSD libc. olibc is expected to merge the enhancements done by several SoC vendors and partners, such as Qualcomm, TI, Linaro, etc., which is known to be the major difference from glibc, uclibc, and other traditional C library implementations. Typically, the code size of olibc runtime should be about 300 KB. For ARM target, olibc would benefit from ARMv7 specific features like NEON, Thumb-2, VFPv3/VFPv4, and latest compiler optimization techniques. Also, olibc is released under BSD License.

Those are just my choices among over 50 sessions. You can check the full schedule to find out which sessions suit you best.

You can register for ELC 2013 online.

There are two type of fees:

  • Professional Fee (If your company is paying for you to attend this event): 550 USD
  • Hobbyist Fee: 100 USD (up from $70 last year, who said there’s no inflation?)

Prior to ELC 2013, you can also attend the Android Builders Summit on February 18 & 19 for $200 extra, and/or Yocto Project Developer Day on February 19 at no additional cost.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

The End of Embedded Linux (As We Know It) – ELCE 2012

January 16th, 2013 5 comments

Chris Simmonds, freelance consultant and trainer (2net ltd), discusses the future of embedded Linux now that storage and processing power are no longer an major issue, and try to find the best Linux platform for embedded systems at ELCE 2012.

Abstract:

Embedded Linux is at a cross roads where the combination of Moore’s law making devices more powerful and the mass production of consumer devices, especially mobile, making them cheaper means that the old ways no longer work. Only a few years ago we though in mega: MHz, MBytes, MBits/s. Now we have to think in giga. The days of the single core CPU are almost over, as are the days of the QVGA display.

All this means that there is a need to re-think how embedded devices are programmed. Two obvious roads lie ahead: Android and Ubuntu (or other desktop operating system of your choice). This talk considers the possibilities and challenges in following either route, and considers how embedded engineers can make the best choices for future projects.

Where is Embedded Linux Headed? Mainstream distro, embedded Linux distro or Android?

Where is Embedded Linux Headed? Mainstream distro, embedded Linux distro, or Android?

Chris talk is structured as follows:

  • Overview
  • Evolution of embedded hardware
    • 10 years ago: 80 MHz MCU, 16 MB RAM, 8 MB NOR flash. Price: $500
    • Today: dual core @ 1.2 GHz, 1GB RAM, 4GB (and more) SD card  (Pandaboard). Price: $160
  • Cost of hardware – The Beagleboard started the low-cost board revolution
  • Embedded Linux past
    • Low RAM, clock speed, and amount of storage.  Headless, or simple user interface from keypad or touch screen.
    • Lots of specific tools – Cross toolchain, uClibc, busbox, read-only file systems, lots of custom BSP…
  • Embedded Linux now and the future
    • Clock speed, RAM and storage no longer an issue (less need for busybox, uClibc and small rootfs)
    • Storage move from flash to eMMC and SD card (reduced need for jffs2)
  • New problems: Complexity, user interface, maintainability and skill level.
  • My ideal embedded Linux OS – Multi-platform fully open source OS with good board support, minimal rootfs availability, reduce writes to storage, proper logging, remote upgrade,  good debugging tools and long term support.
  • Options – Choice between Mainstream Distro (e.g. Ubuntu, Debian, Fedora), Embedded Linux (e.g. Open Embedded, Yocto) and Android. He compares those 3 choices according to the criteria mentioned above.
  • Android is the winner? – Android barely won the contest, but it is monolithic, inflexible,  not a community project, and only good for devices that look like smartphones and tablets.
  • Conclusion – Future devices will take more from mainstream distros, but there’s more work to do, and there is always Android for some kind of devices

The presentation slides are available for download.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

openSUSE 12.2 for ARM is Now Available for Beagleboard, Pandaboard, Efixa MX and More

November 7th, 2012 1 comment

The first stable release of openSUSE for ARM has just been announced. openSUSE 12.2 for ARM is officially available for the Beagleboard, Beagleboard xM, Pandaboard, Pandaboard ES, Versatile Express (QEMU) and the rootfs can be mounted with chroot, but “best effort’ ports have been made for Calxeda Highbank server, i.MX53 Loco development board, CuBox computer, Origen Board and Efika MX smart top.

Work is also apparently being done on a Raspberry Pi port which should be available for the next release.

openSUSE developers explains that almost all of openSUSE builds runs on these platforms (about 5000 packages). Visit “OpenSUSE on your ARM board” for download links and instructions for a specific ARM board. More details are available on the wiki page. openSUSE has limited resources for ARM development, so If you’d like to help with development (e.g. fixing builds), visit ARM distribution howto page to find out how to get involved.

Since I don’t own any of the supported boards, but still want to give it a try, I’ll use the chroot method in a virtual machine running Ubuntu 12.04. There are two images available:

  • JeOS (Just Enough Operating System) image for a minimal system  (openSUSE-12.2-ARM-JeOS-rootfs-*.tbz )
  • XFCE image for a graphical system (openSUSE-12.2-ARM-XFCE-rootfs-*.tbz)

Let’s go for the XFCE image (743 MB):

mkdir -p ~/openSUSE-ARM/rootfs
cd ~/openSUSE-ARM/
wget http://download.opensuse.org/ports/armv7hl/distribution/12.2-untested/appliances/openSUSE-12.2-ARM-XFCE-rootfs.armv7l-1.12.1-Build1.46.1.tbz
sudo tar xvjf *.tbz -C rootfs

after installation, prepare the environment and run chroot:

sudo mount --bind /proc rootfs/proc
sudo mount --bind /sys rootfs/sys
sudo mount --bind /dev rootfs/dev
sudo mount --bind /dev/pts rootfs/dev/pts
sudo cp /etc/resolv.conf rootfs/etc/
sudo cp /usr/bin/qemu-arm-static rootfs/usr/bin/
sudo chroot rootfs

We can now run some commands to show we run openSUSE (zypper is the equivalent of apt-get in SUSE):

VBOXUBUNTU:/> zypper ref
Retrieving repository 'openSUSE-12.2-ARM-Repo-OSS' metadata...
Building repository 'openSUSE-12.2-ARM-Repo-OSS' cache ...................[done]
Retrieving repository 'openSUSE-12.2-ARM-Updates' metadata ..............[error]
Repository 'openSUSE-12.2-ARM-Updates' is invalid.
[|] Valid metadata not found at specified URL(s)
Please check if the URIs defined for this repository are pointing to a valid repository.
Skipping repository 'openSUSE-12.2-ARM-Updates' because of the above error.
Some of the repositories have not been refreshed because of an error.
VBOXUBUNTU:/> zypper up
Retrieving repository 'openSUSE-12.2-ARM-Updates' metadata ..............[error]
Repository 'openSUSE-12.2-ARM-Updates' is invalid.
[|] Valid metadata not found at specified URL(s)
Please check if the URIs defined for this repository are pointing to a valid repository.
Warning: Disabling repository 'openSUSE-12.2-ARM-Updates' because of the above error.
Loading repository data...
Reading installed packages...

Nothing to do.

VBOXUBUNTU:/> zypper in gcc make SDL-devel
Retrieving repository 'openSUSE-12.2-ARM-Updates' metadata ..............[error]
Repository 'openSUSE-12.2-ARM-Updates' is invalid.
[|] Valid metadata not found at specified URL(s)
Please check if the URIs defined for this repository are pointing to a valid repository.
Warning: Disabling repository 'openSUSE-12.2-ARM-Updates' because of the above error.
Loading repository data...
Reading installed packages...
'SDL-devel' not found in package names. Trying capabilities.
Resolving package dependencies...
The following NEW packages are going to be installed:
alsa-devel fontconfig-devel font-util freetype2-devel gcc gcc47 gccmakedep
glibc-devel imake libdmx-devel libdrm-devel libdrm_nouveau1 libdrm_omap1
...
Mesa-libGLU-devel Mesa-libIndirectGL1 python-xcb-proto-devel site-config
xbitmaps-devel xcb-util-devel xorg-cf-files xorg-sgml-doctools xorg-x11-devel
xorg-x11-proto-devel xorg-x11-util-devel xtrans zlib-devel

119 new packages to install.
Overall download size: 15.9 MiB. After the operation, additional 78.3 MiB will
be used.
Continue? [y/n/?] (y): y
Retrieving package Mesa-libGLESv1_CM1-8.0.4-20.4.2.armv7hl
(1/119), 28.7 KiB ( 29.5 KiB unpacked)
Retrieving: Mesa-libGLESv1_CM1-8.0.4-20.4.2.armv7hl.rpm ......[done (7.5 KiB/s)]
Retrieving package Mesa-libGLESv2-2-8.0.4-20.4.2.armv7hl
(2/119), 27.4 KiB ( 21.5 KiB unpacked)
Retrieving: Mesa-libGLESv2-2-8.0.4-20.4.2.armv7hl.rpm .......[done (29.0 KiB/s)]
Retrieving package Mesa-libIndirectGL1-8.0.4-20.4.2.armv7hl
(3/119), 766.1 KiB ( 3.0 MiB unpacked)
....
Installing: Mesa-devel-8.0.4-20.4.2 ......................................[done]
Installing: xorg-x11-devel-7.6-37.1.2 ....................................[done]
Installing: libSDL-devel-1.2.15-2.1.2 ....................................[done]

There seems to be some problems with some repositories, but it basically works. I’ve tried to run startx, but it does not work within the chroot (probably because Xorg does not work in QEMU yet). It’s also possible to use the JeOS image (minimal) using QEMU emulating a Cortex A9 or A15 versatile express board.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Firefox OS Running on the Raspberry Pi

August 16th, 2012 5 comments

Oleg Romashin, a Nokia engineer, has been working on porting Firefox OS (previously known as Boot 2 Gecko) to the Raspberry Pi, and has uploaded a YouTube video showing a Firefox OS running on the device, including a WebGL teapot demo running at 60 fps. This Firefox OS build is based on Debian Squeezy, with plain EGL rendering, no Widget Toolkit backends and no X11. Some parts do not look very smooth yet, but this demo looks promising.

If you want to try it yourself, you can download the WebGL teapot build. Mozilla patches with LinuxGL widget backend are also available at http://hg.mozilla.org/users/romaxa_gmail.com/embedipc_queue/file/linuxglpure. If you have the N9 smartphone or Beagleboard, it looks like you can also try this. Check files in  http://romaxa.info/b2g/.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Amahi 6.1 for Ubuntu 12.04 Released

July 4th, 2012 5 comments

Amahi has just announced the release of Amahi 6.1, Ubuntu Edition, an Home Digital Assistant (HDA). Amahi used to only work for Fedora and this is their very first stable release for Ubuntu 12.04.

The key features of Amahi 6.1, Ubuntu Edition include:

  • Greyhole 0.9 (storage pooling technology)
  • Reliability fixes and updates
  • New look
  • Support for 32 / 64-bit Desktop and Server versions of Ubuntu
  • Improved cloud storage with Amahi Sync
  • Preliminary support ARM platforms such as PandaBoard and BeagleBoard
  • One-Click App installs via Amahi’s application store

If you want to get started with Amahi, you’ll have to register (and get an install code), and follow a few command line instructions. The instructions are the same to install on ARM platforms (assuming you already have Ubuntu 12.04 running), but Amahi developers recommend to install it to an hard drive instead of an SD card for performance reasons.

They are also working on a graphical installer to make installation easier. An Amahi server also acts as a DHCP server, so it’s something you should be on when your home network are on, and you’ll need to disable DHCP in your router. It’s also possible to disable DHCP in Amahi, but you’ll lose some features.

You can find more information on Amahi Ubuntu page, and if you want to try it out on ARMv7 platforms, visit Amahi on Pandaboard. If something goes wrong, you may have found a bug which you can report here.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

List of 39 Low Cost Linux Friendly Boards and Products

June 26th, 2012 18 comments

Dmitry (omgfire), one of my awesome readers, compiled a great tabular list of Linux friendly boards and products that sells for less than $300 US (usually less than $200). This list includes technical details such as the processor, GPU, memory, NAND flash, connectivity, ports, supported Linux distributions… as well as availability and pricing information.

There are currently 39 Linux devices in total. The vast majority are ARM based boards, but he also included 2 x86 products by VIA, but those are relatively pricey ($265 and up).

Here’s a summary list with SoCs used, links to blog posts and product pages (if available), as well as price information.

35 USD Raspberry Pi Broadcom BCM2835

Raspberry Pi Board Model B

    • Raspberry Pi Model B – Broadcom BCM2835 (ARM11) – Blog post (That’s my first post about the R-Pi last year, and the board is much different now) –  Product page – Price: $35 + shipping
    • Rikomagic MK802 – Allwiner A10 (Cortex A8) –  Blog post –  Price: $70 to $80 inc. shipping
    • Mele A1000 – AllWinner A10 (Cortex A8) – Blog post –  Product page – Price: $70 + shipping to $100 (inc. shipping)
    • Rhombus-Tech A10 EOMA-68 – AllWinner A10 (Cortex A8) – Blog post –  Product page – Price: $15 (Estimated BOM Cost only)
    • Gooseberry board – AllWinner A10 (Cortex A8) – Product page – Price: 40 GBP + shipping
    • A13-OLinuXino – AllWinner A13 (Cortex A8) – Blog post –  Product page – Price: 40 Euros (without Wi-Fi) or 50 Euros (Wi-Fi version)
    • VIA APC – Wondermedia WM8650 (ARM11) – Blog post –  Product page – Price: $49 + shipping
    • VIA ARTiGO A1200 – VIA Eden X2 (x86) –  Product page – Price: $310 + shipping
    • VIA ARTiGO A1150 – VIA Eden X2 (x86) – Product page – Price: $265 + shipping
    • BeagleBoard Rev. C4 – TI OMAP3530 (Cortex A8) – Blog posts (articles related to Beagleboard) –  Product page – Price: $125 + shipping
    • BeagleBoard-xM – TI DM3730 (Cortex A8) – Product page – Price: $149 + shipping

Beaglebone

    • BeagleBone – TI Sitara AM3359 (Cortex A8) – Blog post –  Product page- Price: $89 + shipping
    • PandaBoard – TI OMAP4430 (Cortex A9) – Blog posts (articles related to Pandaboard) –  Product page – Price: $174 + shipping
    • PandaBoard ES – TI OMAP4460 (Cortex A9) – Blog post –  Product page – Price: $189 + shipping
    • Cotton Candy – Samsung Exynos 4210 (Cortex A9) – Blog post –  Product page – Price: $199 + shipping
    • CuBox – Marvell Armada 510 (ARMv7 architecture like Cortex-A) – Blog post –  Product page – Price: $135 + shipping
    • Hawkboard – TI OMAP-L138 (ARM9) – Product page – Price: $161 + shipping
    • ISEE IGEP v2 – TI DM3730 (Cortex A8) –  Product page – Price: 188 Euros + shipping
    • ISEE IGEP COM Proton – TI DM3730 (Cortex A8) – Product page – Price: 160 Euros
    • ISEE IGEP COM Module – TI DM3730 (Cortex A8) – Product page – Price: 164 Euros
    • Gumstix Overo series – TI Sitara and OMAP processors (Cortex A8) – Blog post –  Product page – Price: $115 to $229 + shipping
    • Origen Board – Samsung Exynos 4210 (Cortex A9) – Blog post –  Product page – Price: $199 + shipping .By the way, it seems the Quad core version is coming in Q3 2012.
    • Ionics Plug Nimbus – Marvel Kirkwood 6281 (ARM9) – Product page – Price: $99 + shipping
    • Ionics Plug Stratus – Marvel Kirkwood 6281 (ARM9) – Product page – Price: $139 to $145 + shipping
    • SheevaPlug dev kit (Basic) – Marvel Kirkwood 6281 (ARM9) –  Product page – Price: $101.99 + Shipping
    • GuruPlug Standard – Marvel Kirkwood 6281 (ARM9) – Product page – Price: $103 + Shipping
    • GuruPlug Display – Marvell ARMADA 168 (ARMv7 architecture) – Product page – Price: $199 + Shipping
    • DreamPlug – Marvel Kirkwood 6281 (ARM9) – Blog post –  Product page – Price: $163 + Shipping
    • D2Plug – Marvell PXA510 -Product page – Price: $253 + shipping
    • Trim-Slice series – NVIDIA Tegra 2 (Cortex A9) -Product page – Price: $213 – $338 + Shipping
ST Ericsson Nova A9500 Development Board

Snowball PDK Lite

  • Snowball – ST-Ericsson Nova A9500 (Cortex A9) – Blog post –  Product page – Price: 144.84 € – 322.57 € + shipping
  • i.MX53 Quick Start Board – Freescale i.MX53 (Cortex a8) – Blog post –  Product page – Price: $149 + shipping
  • Pineriver H24/MiniX – AllWinner A10 (Cortex A8) – Blog post –  Product page – Price: $77 inc. shipping
  • Smallart UHOST – AllWinner A10 (Cortex A8) – Blog post (Oval Elephant HDMI stick based on UHOST) –  Product page – Price: $89 (512MB), $95 (1GB)with shipping
  • Genesi Efika MX Smarttop – Freescale i.MX515 (Cortex A8) – Product page – Price: $129 + shipping
  • Embest DevKit8600 – TI Sitara AM3359 (Cortex A8) – Product page – Price: $189 + shipping
  • Embest SBC8018 – TI Sitara AM1808 (ARM9) – Product page – Price: $99 + shipping
  • Embest SBC8530 – TI DM3730 (Cortex A8) – Product page – Price: $199 + shipping
  • Embest DevKit8500D – TI DM3730 (Cortex A8) – Product page – Price: $199 + shipping

The list is obviously not exhaustive (this would include hundreds of boards), but this still pretty good. Bear in mind, that is also included some recently phased out boards (e.g. Hawkboard) and devices (e.g. Genesi Efika MX Smarttop), but you might get one of those second hand on eBay or similar sites.

You can download Dmitry’s PDF file that shows side-by-side comparison of 5 devices at a time.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Schematics Capture and PCB Layout in Linux with Kicad

May 14th, 2012 1 comment

Most schematics capture and PCB layout software run on Windows and are closed source. But if your favorite OS is Linux, there are a few open source software including Kicad and gEDA. There is also Cadsoft Eagle which can be installed in Linux with a free license for hobbyists and educational purposes, but is not open source.

Today, I’ll focus on Kicad. I don’t really capture schematics, let alone layout PCBs, but I sometimes need to use this type of software to locate pins/components on the schematics and PCB and check some parts of the schematics that can affect  software. So I will mainly give an overview of Kicad and write my experience trying to import another project (Beagleboard XM) to Kicad. If you want to learn how to get started with your own project with Kicad, you might want to have a look at Teho Labs Kicad Tutorial.

In Debian/Ubuntu, you can install Kicad as follows

sudo apt-get install kicad fped

Once the installation completes, simply run “kicad” in a terminal to start the program.

Kicad - Schematics capture and PCB Layout in Linux

Kicad (Main Window)

The main KiCad window consists of the project pane on the left and 5 buttons in the right pane to launch the following programs (Left to Right):

  • EESchema – Schematic editor
  • CVpcb – Components to modules (links schematics to footprints).
  • PCBnew – PCB editor
  • GerbView – Gerber viewer
  • Bitmap2Component – Creates a component for EESchema or a footprint for PCBNew that shows a black and white picture.

I’ve tried the Kicad project (Schematics + (incomplete) PCB layout) provided by Rhombus Tech for Allwinner A10 board, and EESchema appears to have many of the features available in Orcad. You can see a zoom one a part of the power section for AllWinner A10 board.

AllWinner A10 Schematics in Kicad

Schematics in Kicad (EESchema)

Now let’s try to import Beagleboard-xM design files in Kicad:

After having downloaded and extracted the files, let’s create a new project in Kicad in the same directory. You’ll (joyfully) notice that Kicad detects automatically the layout file (.brd), but (sadly) its format is not recognized by Kicad.

Let’s take care of the schematics file first. You’ll need to have Cadence Orcad to convert the .dsn file to Electronic Definition Interchange Format (EDIF). Now let’s download edif2kicad, compile it and try to convert BB-xM_SCHEM_REVA3.EDF to Kicad format:

wget http://jaist.dl.sourceforge.net/project/edif2kicad/edif2kicad/edif2kicad-2008-04-01/edif2kicad-2008-04-01.tgz
tar xzvf edif2kicad-2008-04-01.tgz
cd edif2kicad
make
cd bbxm
../e2sch BB-xM_SCHEM_REVA3.EDF

The program crash and failed to parse the EDF, so I had to delete 2 small items in the EDF file to create the sch files and all related libraries. I also had to delete one empty line in the .sch file and finally I was able to open the Beagleboard-xM “schematics” in Kicad.

Kicad Beagleboard-xM fail

Beagleboard-xM Schematics Converted to Kicad with edif2kicad

As you can see, it did not go exactly according to plan. I’m not sure where the guilt is here, but edif2kicad has not been updated since 2008, and the EDIF file format may have been updated in the meantime. Or it’s simply that this type of conversion (Orcad to Kicad) cannot provide proper working files.

I’ve also been unable to find a way to convert an Allegro brd layout file (binary) to a Kicad brd layout file (text).

Kicad support .b*, .lgr and .pho gerber files, but those were not the format chosen for the Beagleboard-xM gerber files. I’ve tried to load drill files (.drl), but after a long wait, it failed with “Tool not defined”.

Kicad might be a good tool to start you own project from scratch, but you cannot expect to import exciting (Orcad/Allegro…) projects to Kicad without hassle or at all. If you design your hardware with Kicad, make sure the gerber files will be supported by the PCB manufacturer and follow GERBER-274-X.

To know more about Kicad, you can visit the official wiki. A list of Kicad libraries  as well as a search engine for Kicad libaries  are available. Finally, if you have any issues or questions, you can always on Kicad Yahoo Group.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter