Difference between revisions of "A10-OLinuXino-LIME"
(→Android) |
(→How to change HDMI, VGA and LCD resolutions?) |
||
Line 350: | Line 350: | ||
[https://github.com/linux-sunxi/u-boot-sunxi/wiki Sunxi u-boot loader] The linux-sunxi git page contains a lot of sources for all Olimex Allwinner boards. | [https://github.com/linux-sunxi/u-boot-sunxi/wiki Sunxi u-boot loader] The linux-sunxi git page contains a lot of sources for all Olimex Allwinner boards. | ||
− | ===How to change HDMI, VGA and LCD | + | ===How to change HDMI, VGA and LCD video output resolution?=== |
+ | There is a separate article here: [[How_to_connect_display_to_a_Lime_board]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<br> | <br> | ||
Revision as of 02:30, 15 October 2014
A10-OLinuXino-LIME features:
- A10 1GHz Cortex-A8 ARMv7 CPU, VFPv3, NEON, Mali 400 GPU, CedarX VPU
- 512MB DDR3 RAM memory
- optional 4GB NAND FLASH memory
- SATA connector with 5V SATA power jack
- HDMI FullHD 1080p
- 2x USB Low-Full-High-Speed hosts with power control and current limiter
- USB-OTG with power control and current limiter
- 100MBit native Ethernet
- LiPo Battery connector with battery-charging capabilities
- LCD connector compatible with with 4.3", 7.0", 10.1" LCD modules from Olimex
- 160 GPIOs on three GPIO connectors
- MicroSD card connector
- DEBUG-UART connector for console debug with USB-SERIAL-CABLE-F
- status LED
- Battery charge status LED
- Power LED
- 2KB EEPROM for MAC address storage and more
- 2 BUTTONS with ANDROID functionality + RESET button
- 2 mount holes
- 5V input power supply, noise immune design
- PCB dimensions: 84 x 60 mm
Contents
- 1 Official Images from OLIMEX
- 2 Documents
- 3 Hardware
- 4 Software
- 5 How To?
- 5.1 How to generate boot-able SD-card Debian Linux image for A10-OLinuXino-LIME?
- 5.2 How to change HDMI, VGA and LCD video output resolution?
- 5.3 How to download new Android image to the NAND memory of my A10 board?
- 5.4 How to detect and enable the Ethernet controller (if it is disabled by default)?
- 5.5 How to edit board configurations and definitions in the official Debian Linux?
- 5.6 How to add STK1160 video capture driver support in Kernel 3.4
Official Images from OLIMEX
The file for download xxxx.7z is an archive of xxx.img file. So in order to write the image on SD card you have to unzip xxx.7z file and:
- For Windows:
Use 7zip and then use Win32DiskImager.exe (http://sourceforge.net/projects/win32diskimager/) for image writing
- For Linux
Use p7zip package. If you have no installed 7zip then type
#apt-get install p7zip
Copy a10_Lime_debian_second_release.7z file in your directory and unzip it with
#7za e a10_Lime_debian_second_release.7z
The output should be a new 4GB file named a10_Lime_debian_second_release.img Put 4GB SD card in your card reader and type
# ls /dev/sd
Then press two times <TAB> you will see a list of your sd devices like sda sdb sdc note that some of these devices may be your hard disk so make sure you know which one is your sd card before you proceed as you can damage your HDD if you choose the wrong sd-device. You can do this by unplugging your sd card reader and identify which "sd" devices remove from the list. Once you know which device is your sdcard like sda use this text instead of the sdX name in the references below:
#dd if=a10_Lime_debian_second_release.img of=/dev/sdX
Linux
The official Debian images are suitable only for microSD card. Information on booting Debian from the NAND might be found at the forum.
Download methods and locations might be found below!
Torrent of Debian release 3: A10-OLinuXino-LIME Debian with kernel 3.4.90+ release 3
Direct download of Debian release 3: A10-OLinuXino-LIME Debian with kernel 3.4.90+ release 3
Instructions for preparing the A10 LIME Debian image: Debian with Kernel 3.4.90+ build instructions
- Default Login: root/olimex
- Linux Kernel 3.4.90+
- LXDE desktop environment
- mplayer
- smplayer
- gcc-4.6
- dpkg
- git
- i2c-tools
- perl
- xorg
- python 2.7
- midori
- minicom
- usb-modeswitch
- sshfs
- wvdial
- GPIO
- Kernel support for USB WIFI RTL8188CU, Ethernet AX88772B
- A13-LCD 4.3″TS 4.3″ LCD with backlight and touchscreen 480×272 pixels
- A13-LCD7″TS 7″ LCD with backlight and touchscreen 800×480 pixels
- A10-LCD10″TS 10.1″ LCD with backlight and touchscreen 1024×600 pixels
- HDMI
- Micro SD card
- USB OTG
- High speed HOST1 USB
- High speed HOST2 USB
- ETHERNET 100MBIT
- SATA
- I2C2(100KHz)
- I2C1(100KHz)
- NAND Flash
The list of all installed packages is located in a10_lime_debian_3.4.90+_installed_packages.txt file
Tested board peripherals with this image:
- GPIO - they are located in /sys/class/gpio directory. Note that first you have to export GPIOs. For example:
# for i in `seq 1 1 230`; do echo $i > /sys/class/gpio/export; done will export all available GPIOs # echo out > /sys/class/gpio/gpioXX_pxx/direction will make the port output # echo 1 > /sys/class/gpio/gpioXX_pXX/value will make the port output in logical 1
- LCD - 4.3"(480x272), 7"(800x480), 10"(1024x600), 15"(1366x768)
- SATA - with power on/off control
- HDMI - the default HDMI resolution is 720p60(720x1280 - 60 Hz)
- Touch_screen - you need calibrate LCD before using touch screen. Note that if you want to use touch screen in X environment then you have to calibrate it like olimex user, not like root user because X environment is started like olimex uder. For example type:
# su olimex # sudo ts_calibrate calibrate the touch screen and reboot the board
- ASIX8877 USB-LAN - USB-ETHERNET-AX88772B
- WEB camera A4TECH
- WIFI_RTL8188 - MOD-WIFI-RTL8188 - how to configure the module might be found here: How_to_configure_MOD-RTL8188_on_official_OLinuXino_Debian_releases
- MOD-WIFI-R5370 - MOD-WIFI-R5370/
- USB_OTG - low/full/high USB host
- USB_HOST_up - low/full/high USB host
- USB_HOST_down - low/full/high USB host
- MOD-USB3G - MOD-USB3G
in order to test MOD-USB3G module you have to place SIM card (without pin code) in
module and connect it to USB host connector change settings in /etc/wvdial.conf file according to your mobile operator and type:
# wvdial 3gconnect
- mico_SD_card - linux starts from micro_SD card
- ETHERNET - 100Mb/1000Mb
- MIC IN
Microphone input can be tested with the followig code: # arecord -f dat -r 60000 -D hw:0,0 -d 5 test.wav this command will record 5 sec audio stream from microphone in test.wav file
- Headphone OUT
Headphones can be tested with the followig code: # aplay -D hw:0,0 test.wav this command will play the audio stream from test.wav file
- NAND support - /dev/nandX (on A10-OLinuXino-LIME-4GB only!)
- I2C2(100KHz) - /dev/i2c-2
- I2C1(100KHz) - /dev/i2c-1
- UART6 - /dev/ttyS1
- UART7 - /dev/ttyS2
- SPI1 - /dev/spidev1.0
- SPI2 - /dev/spidev2.0
there is a simple test for SPI2 in /opt/spidev directory. # ls /opt/spidev max6675/ MOD-SMB380/ in folder max6675/ there is example related with MOD-TC (link to product)- temperature
sensor that you have to connect to UEXT1 connector # cd max6675 # ./MAX6675
the last command will read temperature from MOD-TC thermocouple in folder MOD-SMB380 there is example related to MOD-SMB3803-AXIS ACCELEROMETER BOARD that you have to connect to UEXT1 connector
# cd MOD-SMB380 # ./a.out the last command will read temperature and 3-asix accelerometer values
Note: the A10-Debian card which we have in our web store contains the same image on 4GB Class10 fast micro SDcard, if you want to use this image please use card of Class10 speed or the performance of Linux will be very slow.
Note: in the previous Debian releases the Ethernet was auto-detected and initialized during boot BUT this was causing big delays in the start-up of the board if you didn't want to use Ethernet or if there wasn't Ethernet cable connected.
You can enable it by following these two steps:
1. To check under what name the LAN is associated write "ifconfig –a"
2. If, for example, it is under eth0 name, then write: "dhclient eth0"
This should enable the Ethernet and then SSH would also be available.
Android
Torrents of official Android releases are below. Please read description of the image carefully.
Torrent of Android release 3 for NAND memory: A20-OLinuXino-LIME Android for NAND
Torrent of Android release 1 for microSD card: A20-OLinuXino-LIME Android for microSD card
Direct download locations of official Android releases are below. In case the daily limit of the download locations had been reached, please use the torrents above. Please read description of the image carefully.
Direct download of Android release 3 for NAND flash memory: NAND flash image
Direct download of Android release 1 for microSD card: microSD card image
Documents
A10-OLinuXino-LIME user's manual
User's manual for A10-OLinuXino-LIME and A10-OLinuXino-LIME-4GB
A10 Brief
A10 Datasheet
A10 Transport Stream Controller
A10 User Manual
Digikey's Wiki
Robert Nelson made Digikey's Wiki on LIME with instructions how to build Linux-Next Kernel and Uboot
Hardware
LIME shields
Eagle and KiCAD shield templates for LIME
GPIO description
A10-OLinuXino-LIME GPIO description
A template that might be used to create custom shields or own adapters might be downloaded for Eagle or KiCad at the GitHub here: shield template
Power supply and consumption
A10-OLinuXino-LIME requires 5V regulated power supply external source. regulated means that the power supply adapter should provide exactly 5V no matter loaded or unloaded (some cheap wallwart adapters are not regulated and under no load their power supply may be higher than 5V although marked as 5V power supply, please measure with voltmeter if your power supply provide 5V as if you connect more than 5V to LIME it will be damaged!!!)
The power jack is standard OLIMEX Power jack.
A10-OLinuXino-LIME can be powered from three sources:
- +5VDC voltage applied PWR jack
- +3.7V from LiPo re-chargable battery connected to LiPo board connector
- +5V applied to USB-OTG connector
Power consumption is as follows:
- LiPo 3.7V power battery: 1.2W
- +5VDC input power: 1.3W
Comparison table of power consumption might be found at the following link.
LiPo battery allow backup power supply when main power is interrupted. A10-OLinuXino-LIME have power managment IC which charge the battery when main power is present, when power is interrupted the LiPo battery automatically provide backup power supply. Step-up converter prvide 5V for the USB peripherials too. For LiPo batteries we recommend these:
Board dimensions
A10-OLinuXino-LIME basic dimensions in mils: 3305.5 x 2347.0
Some additional measures might be seen in the image here: link
CAD files
A10-OLinuXino-LIME is Open Source Hardware, CAD files are available at GitHub
The CAD product used to design OLinuXino is Eagle and you can download evaluation free version from their web.
Board Layout
Software
Linux Commands
Linux-Commands Brief Linux Command reference
Python
[pyA10 is Python library for access to A10-OLinuXino-LIME GPIOs, I2C, SPI]
Use:
#!/usr/bin/env python import A10_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. Note that first you have to export GPIOs. For example:
add gpioPH2
root@A10:~# echo 20 > /sys/class/gpio/export
make PH2 output
root@A10:~# echo out > //sys/class/gpio/gpio20_ph2/direction
turn on onboard LED(connected to PH2)
root@A10:~# echo 1 > /sys/class/gpio/gpio20_ph2/value
turn off onboard LED(connected to PH2)
root@A10:~# echo 0 > /sys/class/gpio/gpio20_ph2/value
Full list with supported GPIOs is:
gpio21_ph7 gpio33_ph20 gpio45_pb12 gpio57_pi2 gpio69_pi14 gpio10_pg11 gpio22_ph9 gpio34_ph21 gpio46_pb13 gpio58_pi3 gpio6_pg5 gpio11_pc3 gpio23_ph10 gpio35_ph22 gpio47_pb14 gpio59_pi4 gpio70_pi15 gpio12_pc18 gpio24_ph11 gpio36_ph23 gpio48_pb15 gpio5_pg4 gpio71_pi16 gpio13_pc19 gpio25_ph12 gpio37_pb3 gpio49_pb16 gpio60_pi5 gpio72_pi17 gpio14_pc20 gpio26_ph13 gpio38_pb4 gpio4_pg3 gpio61_pi6 gpio73_pi18 gpio15_pc21 gpio27_ph14 gpio39_pb5 gpio50_pb17 gpio62_pi7 gpio74_pi19 gpio16_pc22 gpio28_ph15 gpio3_pg2 gpio51_ph24 gpio63_pi8 gpio75_pi20 gpio17_pc23 gpio29_ph16 gpio40_pb6 gpio52_ph25 gpio64_pi9 gpio7_pg6 gpio18_pc24 gpio2_pg1 gpio41_pb7 gpio53_ph26 gpio65_pi10 gpio8_pg7 gpio19_ph0 gpio30_ph17 gpio42_pb8 gpio54_ph27 gpio66_pi11 gpio9_pg8 gpio1_pg0 gpio31_ph18 gpio43_pb10 gpio55_pi0 gpio67_pi12 gpiochip1 gpio20_ph2 gpio32_ph19 gpio44_pb11 gpio56_pi1 gpio68_pi13
Add Voice to your OLinuXino project
Installation of Festival on OLinuXino
How To?
How to generate boot-able SD-card Debian Linux image for A10-OLinuXino-LIME?
Follow our blog post with step by step instructions
Note that Linux-Sunxi Kernel is a work-in-progress, this means you can try the current stage/sunxi-3.4 branch but if something is broken and doesn't work just revert to the git tags we give in the blog and they should work for sure
Sunxi u-boot loader The linux-sunxi git page contains a lot of sources for all Olimex Allwinner boards.
How to change HDMI, VGA and LCD video output resolution?
There is a separate article here: How_to_connect_display_to_a_Lime_board
How to download new Android image to the NAND memory of my A10 board?
The 4GB version of the A10-OLinuXino-LIME board comes programmed with Android, which is stored in the NAND flash memory.
The image in the NAND flash can be updated or repaired using a software tool called 'LiveSuit'. Tested version of LiveSuit might be found at the following links:
There might be newer versions available.
LiveSuit is used to send the official Android images to the NAND flash memory of the board. To activate the A10 bootloader do as follows: run Livesuit, disconnect the power supply and USB cable of the LIME board, then press and hold down the RECOVERY button, apply power supply, attach USB cable and release the button, install the drivers for the new device discovered by your PC. After the driver installation Livesuit will detect the bootloader and will ask which file to program to the NAND flash.
If there seems to be a problem at some point of the installation, start over.
Note that it is not recommended to have your mini USB connected to an external USB hub. This might cause delays and might distort the signal levels. Always test with the USB connected straight to the USB ports of your computer.
How to detect and enable the Ethernet controller (if it is disabled by default)?
Note: in the previous Debian releases the Ethernet was auto-detected and initialized during boot BUT this was causing big delays in the start-up of the board if you didn't want to use Ethernet or if there wasn't Ethernet cable connected.
You can enable it by following these two steps:
1. To check under what name the LAN is associated write "ifconfig –a"
2. If, for example, it is under eth0 name, then write: "dhclient eth0"
This should enable the Ethernet and then SSH would also be available.
How to edit board configurations and definitions in the official Debian Linux?
It is described in this wiki article: How_to_edit_board_configurations_and_definitions_in_the_official_Debian_Linux.