Difference between revisions of "A10s-OLinuXino-MICRO"

(HOW TO?)
(Software)
Line 123: Line 123:
 
== Software ==
 
== Software ==
  
The image in the Nand flash can be updated using the tools found at the following links:
 
  
[http://linux-sunxi.org/LiveSuit LiveSuit official page]
+
===Python===
  
[https://docs.google.com/file/d/0B7WHuNCASY8cWlZ2djh4X0QtV0U/edit?usp=sharing LiveSuit for Windows]
 
  
----
+
[https://pypi.python.org/pypi/pyA10S/0.1.2 pyA10S is Python library for access to A10S-OLinuXino-MICRO GPIOs, I2C, SPI]
 +
 
 +
Use:
 +
 
 +
    #!/usr/bin/env python
 +
   
 +
    import A10S_GPIO as GPIO
 +
   
 +
    #init module
 +
    GPIO.init()
 +
   
 +
    #configure module
 +
    GPIO.setcfg(GPIO.PIN#, GPIO.OUTPUT)
 +
    GPIO.setcfg(GPIO.PIN#, GPIO.INPUT)
 +
   
 +
    #read the current GPIO configuration
 +
    config = GPIO.getcfg(GPIO.PIN#)
 +
   
 +
    #set GPIO high
 +
    GPIO.output(GPIO.PIN#, GPIO.HIGH)
 +
   
 +
    #set GPIO low
 +
    GPIO.output(GPIO.PIN#, GPIO.LOW)
 +
   
 +
    #read input
 +
    state = GPIO.input(GPIO.PIN#)
 +
   
 +
    #cleanup
 +
    GPIO.cleanup()
 +
 
 +
 
 +
===GPIO under Linux===
 +
 
 +
GPIOs are located in /sys/class/gpio directory.
 +
the full list of A10S GPIOs is:
 +
    root@A20:~# ls /sys/class/gpio/
 +
    export      gpio14_pc17  gpio19_pe5  gpio23_pe9  gpio4_pb11  gpio9_pb3
 +
    gpio10_pb4  gpio15_pe1  gpio1_pb14  gpio24_pe10  gpio5_pb5  gpiochip1
 +
    gpio11_pc3  gpio16_pe2  gpio20_pe6  gpio25_pe11  gpio6_pb6  unexport
 +
    gpio12_pc7  gpio17_pe3  gpio21_pe7  gpio2_pb13  gpio7_pb7
 +
    gpio13_pc16  gpio18_pe4  gpio22_pe8  gpio3_pb12  gpio8_pb8
 +
 
 +
Example how to toggle onboard LED. The LED is connected to PE3.
 +
 
 +
make PE3(LED) output
 +
 
 +
    root@A10s:/sys/class/gpio/gpio17_pe3# echo out > direction
 +
 
 +
turn on onboard LED(connected to PE3)
 +
 
 +
    root@A10s:/sys/class/gpio/gpio17_pe3# echo 1 > value
 +
 
 +
turn off onboard LED(connected to PE3)
 +
 
 +
    root@A10s:/sys/class/gpio/gpio17_pe3# echo 0 > value
  
'''A10S Android 4.2.2 SDK used to generate the Android image'''
 
  
[https://drive.google.com/folderview?id=0B5JCBCiZ1VAKUkVXQXd2LWFweE0&usp=sharing A10S-SDK]
+
===Add Voice to your OLinuXino project===
  
----
 
  
=== Changing A10s-OLinuxino-MICRO screen resolution ===
+
[http://olimex.wordpress.com/2013/10/03/make-things-talk-with-olinuxino/ Installation of Festival on OLinuXino]
  
The default Debian SD card setup is made with settings for HDMI 1920x1080.
 
If you want to switch resolutions between HDMI and LCD (4.3<nowiki>''</nowiki> or 7<nowiki>''</nowiki> or 10.1<nowiki>''</nowiki>, respectively with native screen resolutions of 480x242, 800x480 and 1024x600) then you have to replace the existing script.bin file from the first SD card partition (note that this partition is FAT - so you can replace the file under Windows or Linux) with the script.bin file from script_a10s_linux_HDMI_xxx directory (for HDMI resolution mode) or from script_a10s_linux_LCD_xxx directory (with the desired LCD resolution mode).
 
  
The archive of scripts might be download from here: [https://www.olimex.com/Products/OLinuXino/A10S/_resources/HDMI_LCD_scripts_A10s.zip all available screen resolution scripts for A10s]
+
===A10S SDK for Android===
  
Note that these A10s-MICRO scripts are not compatible with the A10 boards. Please check the A10s wiki article for such scripts.
+
'''A10S Android 4.2.2 SDK used to generate the Android image'''
  
For Android you need a new image created with the proper screen settings.
+
[https://drive.google.com/folderview?id=0B5JCBCiZ1VAKUkVXQXd2LWFweE0&usp=sharing A10S-SDK]
  
 
== HOW TO? ==
 
== HOW TO? ==

Revision as of 06:06, 28 October 2013

A10S-OLinuXino.jpg


A10S-OLinuXino-MICRO features are:

  • A10S Cortex-A8 processor at 1GHz, 3D Mali400 GPU, NEON
  • 512MB DDR3 RAM
  • Optional 4GB NAND FLASH memory
  • USB High-speed host with power control and current limiter
  • USB-OTG with power control and current limiter
  • HDMI output with ESD protectors
  • 100MBit native Ethernet
  • Audio Line-input
  • Audio Headphones output
  • UEXT connector
  • LCD connector to work with 4.3, 7.0, 10.1" LCD modules from Olimex
  • 50 GPIOs on three GPIO connectors
  • MicroSD card connector
  • SD/MMC card connector
  • DEBUG-UART connector for console debug with USB-SERIAL-CABLE-F
  • STATUS LED
  • Power LED
  • 2KB EEPROM for MAC address and other storage
  • 5 BUTTONS with ANDROID functionality + BOOT/REC and POWER buttons
  • Microphone input on connector (not populated)
  • Composite TV-output on connector (not populated)
  • JTAG-DEBUG connector (not populated)
  • UART1 connector (not populated)
  • +5V input power supply, noise immune design
  • 4 mounting holes
  • PCB dimensions: (4000 x 3200) mils ~ (101.6 x 81.28) mm

Official Images from OLIMEX

Linux

A10S Debian 4GB SD-card image release-8 with:

  • Linux Kernel 3.4.61+
  • XFCE4 desktop environment
  • Mplayer CLI
  • GCC 4.6
  • iceweasel WEB browser
  • LCD and touchscreen support
  • GPIO
  • I2C
  • SPI
  • USB WIFI RTL8188CU, Ethernet AX88772B
  • Audio
  • apache2
  • dpkg
  • git
  • i2c-tools
  • perl
  • vlc
  • xorg
  • Scratch
  • GCC
  • Python 2.7.3
  • PyA13 python module with GPIO,I2C,SPI support
  • OpenCV
  • Default Login: root/olimex


Note: the A10S-OLinuXino-SD card which we have on our webshop contain same image on 4GB Class10 fast micro sd-card, if you want to use this image please use Class10 fast card or the performance of Linux will slow down

Tested hardware with this image:

  • GPIOs located in /sys/class/gpio
  • LCD - supported are A13-LCD4.3TS, A13-LCD7TS, A13-LCD10TS
  • Touch screen - you need calibrate LCD before using touch screen. Type: ts_calibrate and then test it with ts_test
  • HDMI - the default HDMI resolution is 720p60(1280x720-60 Hz)
  • ASIX 8877 USB-LAN - USB-ETHERNET-AX88772B
  • WEB camera A4TECH
  • RTL8188CU - MOD-WIFI-RTL8188
  • USB_OTG - works as OTG device and Low/Full/High USB host
  • USB_HOST - works as Low/Full/High USB host
  • USB_HOST_down - works as Low/Full/High USB host
  • mico_SD_card - allow Linux boot
  • secondary SD-MMC card - with card present detector
  • ETHERNET - 100Mb
  • Headphone OUT - audio output
  • MIC IN - microphone input
  • I2C1(100KHz) - /dev/i2c-1
  • I2C2(100KHz) - /dev/i2c-2
  • UART2 - /dev/ttyS1. Note that UART2 is shifted and it responds of /dev/ttyS1 instead of /dev/ttyS2
  • UART3 - /dev/ttyS2. Note that UART3 is shifted and it responds of /dev/ttyS2 instead of /dev/ttyS3


Android

A10S Android NAND image with HDMI

  • Android_version - 4.0.3
  • Baseband version - 1.2
  • Kernel version 3.0.8+


A10S-OLinuXino-MICRO Android SD-CARD image with HDMI

You have to unrar the file and write the image on 4GB sd card. We recommend class 10 card. You can use dd (under linux) or Win32DiskImager.exe (under Windows) for image writing.

  • Android_version - 4.0.3
  • Baseband version - 1.2
  • Kernel version 3.0.8+

Documents

A10S-OLinuXino User manual

A10S-OLinuXino user manual


A10S Datasheet

A10S Datasheet

A10S Dongle brief

AXP152 datasheet

Hardware

Under construction

Software

Python

pyA10S is Python library for access to A10S-OLinuXino-MICRO GPIOs, I2C, SPI

Use:

   #!/usr/bin/env python
   
   import A10S_GPIO as GPIO
   
   #init module
   GPIO.init()
   
   #configure module
   GPIO.setcfg(GPIO.PIN#, GPIO.OUTPUT)
   GPIO.setcfg(GPIO.PIN#, GPIO.INPUT)
   
   #read the current GPIO configuration
   config = GPIO.getcfg(GPIO.PIN#)
   
   #set GPIO high
   GPIO.output(GPIO.PIN#, GPIO.HIGH)
   
   #set GPIO low
   GPIO.output(GPIO.PIN#, GPIO.LOW)
   
   #read input
   state = GPIO.input(GPIO.PIN#)
   
   #cleanup
   GPIO.cleanup()


GPIO under Linux

GPIOs are located in /sys/class/gpio directory. the full list of A10S GPIOs is:

   root@A20:~# ls /sys/class/gpio/
   export       gpio14_pc17  gpio19_pe5  gpio23_pe9   gpio4_pb11  gpio9_pb3
   gpio10_pb4   gpio15_pe1   gpio1_pb14  gpio24_pe10  gpio5_pb5   gpiochip1
   gpio11_pc3   gpio16_pe2   gpio20_pe6  gpio25_pe11  gpio6_pb6   unexport
   gpio12_pc7   gpio17_pe3   gpio21_pe7  gpio2_pb13   gpio7_pb7
   gpio13_pc16  gpio18_pe4   gpio22_pe8  gpio3_pb12   gpio8_pb8

Example how to toggle onboard LED. The LED is connected to PE3.

make PE3(LED) output

   root@A10s:/sys/class/gpio/gpio17_pe3# echo out > direction

turn on onboard LED(connected to PE3)

   root@A10s:/sys/class/gpio/gpio17_pe3# echo 1 > value

turn off onboard LED(connected to PE3)

   root@A10s:/sys/class/gpio/gpio17_pe3# echo 0 > value


Add Voice to your OLinuXino project

Installation of Festival on OLinuXino


A10S SDK for Android

A10S Android 4.2.2 SDK used to generate the Android image

A10S-SDK

HOW TO?

How to generate SD Debian Linux image with Kernel 3.4

How to Build SD card Debian Linux image with Linux Kernel 3.4


How do I write the Linux image to a micro SD card to use with my A10S board?

To write a Linux image to an SD card under Windows we use Win32 Disk Imager):

  • Download Win32 Disk Imager Win32 Disk Imager
  • Insert card
  • Start program
  • Select file
  • Click "write"


To write a Linux image to an SD card under Linux:

For instance you have an image with the file name of "debian_4g.img". It would be downloaded to the SD card connected to a Linux machine using one of the following commands:

  • # dd bs=4M oflag=sync if=debian_4g.img of=/dev/sdX

or

  • # cp debian_4g.img /dev/sdX


where X is the uSD card.


How to change HDMI and LCD resolutions?

The default SD card setup is made with settings for HDMI 720p/60Hz. If you want to change to some other LCD or HDMI resolution then you have to start change_display.sh script file in /root directory.

Type:

   # ./change_display.sh

and choose the resolution and the interface(LCD, HDMI or VGA). Note that the selection of a specific resolution is done by navigating with the arrow keys and pressing "space" button. Make sure the asterisk marks your selection properly.

The supported resolutions are:

For LCD:

  • 1. 4.3" (480x272)
  • 2. 7" (800x480)
  • 3. 10" (1024x600)

Important: initially the boards are calibrated for a specific display. If you re-write the image (no matter whether the SD card or the NAND memory) you would need to use a mouse to calibrate the display initially. It might be impossible to calibrate it via touching the display.

For HDMI:

  • 0. 480i
  • 1. 576i
  • 2. 480p
  • 3. 576p
  • 4. 720p50
  • 5. 720p60
  • 6. 1080i50
  • 7. 1080i60
  • 8. 1080p24
  • 9. 1080p50
  • 10. 1080p60


Note that you have to calibrate touch screen after changing LCD resolution in the script.bin type:

   root@A10s:~# ts_calibrate

and calibrate the LCD touch screen you can test the calibration using ts_test.

   root@A10s:~# ts_test

and finaly you hsve to reboot the board in order to use the touch screen in X environment.

FAQ

Q: I plug my mouse in the board's only USB and it is not working under Debian. I also tried with my keyboard - still no success. Is my A10s board broken?

A: No. The problem is on software level! Low-speed devices such as mice and keyboards doesn't work as expected with the USB-host interface under Debian. You can go around this problem if you plug an USB hub (USB splitter) in the board. Then plug your low speed devices to the USB hub. Now they should work properly. EDIT: This has been fixed by Hans De Goode here: Link to the sunxi's github


Q: How to download new Android image to the NAND memory of my A10s board?

A: To repair the image on the NAND re-upload it following these steps:

1. Download, install and start LiveSuit (download location might be found above the article)

2. Hold down “BOOT/REC” button on the board

3. Connect the board to the computer via the mini connector of the USB-OTG

5. Release “BOOT/REC” button

6. You will be asked for drivers for the bootloader. Navigate to the folder where you extracted the LiveSuit and install the drivers from the respective executables (or manually point the installer to the drivers folder in the LiveSuit installation path).

7. Choose the image you have prepared or downloaded

8. Update and don't disconnect the board until the LiveSuit program confirms the update is complete


Q: How do I upload a Linux image to an SD card which I want to use with my A10s board?

A: To write a Linux image to an SD card under Windows we use Win32 Disk Imager:

  • Download Win32 Disk Win32 Disk Imager
  • Insert card
  • Start program
  • Select file
  • Click "write"


To write a Linux image to an SD card under Linux:

For instance you have an image with the file name of "debian_2g.img". It would be downloaded to the SD card connected to a Linux machine using one of the following commands:

  • # dd bs=4M oflag=sync if=debian_2g.img of=/dev/sdX

or

  • # cp debian_2g.img /dev/sdX


where X is the uSD card.