The A13 processor from Allwinner runs at 1GHz with a Mali400 GPU. It was designed for integration into tablets. Olimex has made several development board designs based around this chip. This wiki page contains information about hardware and software to help make use of these development boards.
The A13 based boards currently available are
- A13-OLinuXino-WIFI - Recommended if your developing software for the A13 for the first time as its the only one with network connectivity.
- A13-OLinuXino - This is the same as the WIFI version but without WIFI module and NAND flash. Note: Android requires NAND flash to run, so this board can't run Android.
- A13-OLinuXino-MICRO - Similar to the A13-OlinuXino but with less extras
Schematics and board designs can be found here
Designs were created with Eagle
A limited functionality freeware version of Eagle can be downloaded here
There is very limited information about the A13 processor. The only detailed data found is an A10 datasheet which has some errors in it apparently. As this is the best source of low level information it is linked here
A serial connection can be made to the A13 board, which can help with debugging and is a booting option
Serial connection to A13 Description of how to connect a computer to the A13 board over serial.
The A13-OLinuXino can be partially powered over Micro USB, but to power all peripherals, a 6+ watt DC power supply between 6 and 16 volts can be used. The connector is a positive-center 2.5mm barrel plug. There is also an on-board connector for a Li-PO battery.
Bare Metal programming - no OS
Using the JTAG port on the A13 board and eclipse it is possible to program and debug code written directly on the chip without an OS.
The advantage is no kernel overhead and tighter control of the CPU operation.
Due to the lack of documentation from Allwinner the chip manufacturer nobody has yet been able to program directly on the chip.
If anyone is successful or gathers more information on this please post on the forum and the wiki will be updated.
Using an operating system - Nand flash
The Wifi version of the A13 board comes preprogrammed with android, which is held in the Nand flash.
The image in the Nand flash can be updated using the tools found at the following links:
LiveSuit for Windows
LiveSuit for loading images
to the NAND flash; to activate A13 bootloader do as follows: run Livesuit, disconnect the power supply and USB cable, then press HOME button, apply power supply, attach USB cable and release the button, Livesuit will detect the bootloader and will ask which file to program to the NAND flash.
Prebuilt images that can be programmed into the Nand flash can be found here.
Andoroid 4.0.3 NAND flash prebuild image for VGA 800x600 resolution (default shipped with A13-OLinuXino-WIFI)
Andoroid 4.0.3 NAND flash prebuild image for LCD 800x480 resolution
Using an operating system - SD card
The A13 board can boot from an SD card. Just plug it in an imaged uSD card and connect power.
Note: The SD card can easily be corrupted if power is removed while the system is booting or writing to system files.
To avoid this do not remove power while it is booting and shut the system down properly before disconnecting power.
Some prebuilt images have been created, follow the link below for details.
Prebuilt SD card images running debian
Build your own kernel and image onto SD card
Some developers want more control over the kernel and modules that are included. The link below shows directions to build your own kernel and image it onto an SD card.
Build Bootable SD Card with Debian Step by step instructions how to make SD card image with above Kernel and U-boot
Setup and configure the installed debian image
There are several settings that can be made for a particular hardware configuration in the script file.
The following link explains the script file as well as wifi or ethernet setup and GPIO settings
Configuration of hardware in the debian image
Installing UsbVideoClass(UVC) on A13-OLinuXino board
To work with USB Video Cameras you have to enable the UVC support in the kernel. The link below explains how to do it.
Setup VLC player for video streaming on A13-OLinuXino board
To setup video streaming you should first have installed UVC support so you can connect USB cameras to A13-OLinuXino.
Creating a program to run on the A13-OlinuXino board
Programming for A13 in debian Step by step instructions to make your first hello world program run on the A13 board running debian.
Tools to hack A13-OLinuXino
Installing Xfce4 graphical interface on Debian How to install XFCE4 on A13-OLinuXino
A13-SDK Android 4.0.3 ICS
A13-SDK contain everything you need to build Android ACS 4.0.3 NAND image for A13-OLinuXino-WIFI. Both mirrors contain same image a13.tar.gz which you should unpack and follow the instructions inside. Builds on Debian 64bit as on Ubuntu have some problems with Java which we never managed to solve.
Mega upload mirror
A13-SDK Android 4.1 JB
This is version 1.5 of A13-SDK which builds Android 4.1 Jelly Beans image. It works slower than 4.0.3 and we personally do not see any advantage to use 4.1 vs 4.0.3
Andreas Auer kindly offered to host this 4GB image
FreedomBox/UniLeipzigPractical is the documentation of a freedom box related practical course at the AKSW Research Group at the University of Leipzig
Interface MOD-IO board with I2C under Android
A13 OLinuXino fast GPIO with /dev/mem now achieve up to 2 Mhz toggle
A13 kernel module for direct support of UEXT MOD-IO board, adding ADC, relays etc, cool project can be used as reference how to make your own kernel modules
Instructions how to run MOD-BT with A13-OLinuXino
List of Contributors
Henrik Nordstrom - a.k.a. hno, uboot for A13 development, A1X guru, Linux-Sunxi maintainer
Dimitar Gamishev - a.k.a. HEHOPMAJIEH, Linux kernel configuration for OLinuXino, Android images, LCD touchscreen
Alexandro Mery - a.k.a. mnemoc, Linux-Sunxi maintainer
Davide Fabbri - Linaro kernel and lubuntu image
Scott Anderson - A13 wiki maintainer
Jeffrey Wischkaemper - a.k.a. jwischka, A13-OLinuXino Debian image with X
Maxime Ripard - ARM Linux patches
Jason Plum - Arch Linux support