Difference between revisions of "A10s-OLinuXino-MICRO"
(→Android) |
|||
(25 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
− | '''A10S is not recommended for new designs - please read more on the subject here: [http://olimex.wordpress.com/2013/09/27/allwinner-do-not-develop-new-sdks-for-a10s/ | + | '''A10S is not recommended for new designs - please read more on the subject here: [http://olimex.wordpress.com/2013/09/27/allwinner-do-not-develop-new-sdks-for-a10s/ link]. |
''' | ''' | ||
Line 37: | Line 37: | ||
=== Linux === | === 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! | ||
+ | |||
+ | Direct download of Debian release 4: [https://ftp.olimex.com/Allwinner_Images/A10S-OLinuXino-MICRO/Debian/sd/A10S_debian_3_4_GPIO_LAN_USBs_SDs_HDMI_LCD_I2C_100KHz_TS_4G_release_4.7z release 4] | ||
+ | |||
+ | [https://drive.google.com/file/d/1zcON-7TpqYMqIcMTInE9x1Jmb3uRqZVR/view?usp=sharing Build instructions and required files] | ||
+ | |||
*Linux Kernel 3.4.61+ | *Linux Kernel 3.4.61+ | ||
*XFCE4 desktop environment | *XFCE4 desktop environment | ||
Line 86: | Line 93: | ||
*UART2 - /dev/ttyS1. Note that UART2 is shifted and it responds of /dev/ttyS1 instead of /dev/ttyS2 | *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 | *UART3 - /dev/ttyS2. Note that UART3 is shifted and it responds of /dev/ttyS2 instead of /dev/ttyS3 | ||
− | + | <br> | |
=== Android === | === Android === | ||
+ | Direct download locations of official Android releases are below. Please read description of the image carefully. | ||
− | + | Direct download of Android release 2 for NAND memory: [https://ftp.olimex.com/Allwinner_Images/A10S-OLinuXino-MICRO/Android/nand/a10s_nand_HDMI_en_380MHz_second_release.img A10S-OLinuXino-MICRO NAND flash image for Android] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Direct download of Android release 2 for microSD card memory: [https://ftp.olimex.com/Allwinner_Images/A10S-OLinuXino-MICRO/Android/sd/A10S_android_SD_card_4G_TS_GPIO_HDMI_WIFI_release_2.7z microSD card image for Android] | |
− | You have to | + | You have to extract the file and write the image to an SD card with at least 4GB of storage. We recommend you to use a class 10 card. You can use dd (under linux) or Win32DiskImager.exe (under Windows) for the image writing. |
*Android_version - 4.0.3 | *Android_version - 4.0.3 | ||
*Baseband version - 1.2 | *Baseband version - 1.2 | ||
*Kernel version 3.0.8+ | *Kernel version 3.0.8+ | ||
− | + | <br> | |
− | |||
'''Changing screen resolution in the Android SD card image:''' | '''Changing screen resolution in the Android SD card image:''' | ||
Line 126: | Line 128: | ||
== Documents == | == Documents == | ||
− | + | <br> | |
− | + | ===A10S-OLinuXino user manual=== | |
− | ===A10S-OLinuXino | ||
[https://www.olimex.com/Products/OLinuXino/A10S/_resources/A10s-OLinuXino-Micro.pdf A10S-OLinuXino user manual] | [https://www.olimex.com/Products/OLinuXino/A10S/_resources/A10s-OLinuXino-Micro.pdf A10S-OLinuXino user manual] | ||
− | + | <br> | |
===A10S Datasheet=== | ===A10S Datasheet=== | ||
Line 138: | Line 139: | ||
[https://github.com/OLIMEX/OLINUXINO/blob/master/HARDWARE/A10S-PDFs/AXP152%20Datasheet%20v1.0_cn.pdf AXP152 datasheet] | [https://github.com/OLIMEX/OLINUXINO/blob/master/HARDWARE/A10S-PDFs/AXP152%20Datasheet%20v1.0_cn.pdf AXP152 datasheet] | ||
+ | <br> | ||
== Hardware == | == Hardware == | ||
− | + | <br> | |
Under construction | Under construction | ||
− | + | <br> | |
== Software == | == Software == | ||
− | + | <br> | |
− | |||
===Python=== | ===Python=== | ||
− | + | <br> | |
− | |||
[https://pypi.python.org/pypi/pyA10S/0.1.2 pyA10S is Python library for access to A10S-OLinuXino-MICRO GPIOs, I2C, SPI] | [https://pypi.python.org/pypi/pyA10S/0.1.2 pyA10S is Python library for access to A10S-OLinuXino-MICRO GPIOs, I2C, SPI] | ||
Line 178: | Line 178: | ||
#cleanup | #cleanup | ||
GPIO.cleanup() | GPIO.cleanup() | ||
− | + | <br> | |
− | |||
===GPIO under Linux=== | ===GPIO under Linux=== | ||
Line 217: | Line 216: | ||
[https://drive.google.com/folderview?id=0B5JCBCiZ1VAKUkVXQXd2LWFweE0&usp=sharing A10S-SDK] | [https://drive.google.com/folderview?id=0B5JCBCiZ1VAKUkVXQXd2LWFweE0&usp=sharing A10S-SDK] | ||
+ | |||
+ | <br> | ||
== HOW TO? == | == HOW TO? == | ||
− | |||
− | |||
===How to generate SD Debian Linux image with Kernel 3.4=== | ===How to generate SD Debian Linux image with Kernel 3.4=== | ||
− | + | <br> | |
[http://olimex.wordpress.com/2013/10/28/building-debian-sd-card-for-linux-with-kernel-3-4-from-scratch-for-a10s-olinuxino-micro/ How to Build SD card Debian Linux image with Linux Kernel 3.4] | [http://olimex.wordpress.com/2013/10/28/building-debian-sd-card-for-linux-with-kernel-3-4-from-scratch-for-a10s-olinuxino-micro/ How to Build SD card Debian Linux image with Linux Kernel 3.4] | ||
Line 228: | Line 227: | ||
===How do I write the Linux image to a micro SD card to use with my A10S board?=== | ===How do I write the Linux image to a micro SD card to use with my A10S board?=== | ||
− | + | <br> | |
− | |||
To write a Linux image to an SD card under Windows we use Win32 Disk Imager): | To write a Linux image to an SD card under Windows we use Win32 Disk Imager): | ||
Line 237: | Line 235: | ||
*Select file | *Select file | ||
*Click "write" | *Click "write" | ||
− | |||
To write a Linux image to an SD card under Linux: | To write a Linux image to an SD card under Linux: | ||
Line 249: | Line 246: | ||
where X is the uSD card. | where X is the uSD card. | ||
− | + | <br> | |
===How to change HDMI and LCD resolutions in the latest Debian image?=== | ===How to change HDMI and LCD resolutions in the latest Debian image?=== | ||
− | + | <br> | |
− | |||
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. | 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. | ||
Line 297: | Line 293: | ||
and finaly you hsve to reboot the board in order to use the touch screen in X environment. | and finaly you hsve to reboot the board in order to use the touch screen in X environment. | ||
+ | <br> | ||
===How to flash new Android image to the NAND memory of my A10s board?=== | ===How to flash new Android image to the NAND memory of my A10s board?=== | ||
− | + | <br> | |
To repair the image on the NAND re-upload it following these steps: | 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) | 1. Download, install and start LiveSuit (download location might be found above the article) | ||
− | 2. Hold down | + | 2. Hold down "BOOT/REC" button on the board |
3. Connect the board to the computer via the mini connector of the USB-OTG | 3. Connect the board to the computer via the mini connector of the USB-OTG | ||
− | 5. Release | + | 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 | + | 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 executable (or manually point the installer to the drivers folder in the LiveSuit installation path). |
7. Choose the image you have prepared or downloaded | 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 | 8. Update and don't disconnect the board until the LiveSuit program confirms the update is complete | ||
+ | <br> | ||
− | + | ===How to control PWM under Linux? === | |
− | + | <br> | |
+ | There is an article here: [[how to add pwm]] | ||
+ | <br> | ||
[[Category:A10s]] | [[Category:A10s]] |
Latest revision as of 00:31, 20 July 2021
A10S is not recommended for new designs - please read more on the subject here: link.
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
Contents
- 1 Official Images from OLIMEX
- 2 Documents
- 3 Hardware
- 4 Software
- 5 HOW TO?
- 5.1 How to generate SD Debian Linux image with Kernel 3.4
- 5.2 How do I write the Linux image to a micro SD card to use with my A10S board?
- 5.3 How to change HDMI and LCD resolutions in the latest Debian image?
- 5.4 How to flash new Android image to the NAND memory of my A10s board?
- 5.5 How to control PWM under Linux?
Official Images from OLIMEX
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!
Direct download of Debian release 4: release 4
Build instructions and required files
- 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
Direct download locations of official Android releases are below. Please read description of the image carefully.
Direct download of Android release 2 for NAND memory: A10S-OLinuXino-MICRO NAND flash image for Android
Direct download of Android release 2 for microSD card memory: microSD card image for Android
You have to extract the file and write the image to an SD card with at least 4GB of storage. We recommend you to use a class 10 card. You can use dd (under linux) or Win32DiskImager.exe (under Windows) for the image writing.
- Android_version - 4.0.3
- Baseband version - 1.2
- Kernel version 3.0.8+
Changing screen resolution in the Android SD card image:
The default screen resolution of A10s android SD card image is HDMI. If you want to change to LCD 10''(1024x600) or LCD7''(800x480) you have to replace the default script.bin file in the main SD card card partition. For this purpose put the SD card in a card reader on Linux machine (it might not work under Windows due to the Android file system format), mount the SD card, find script.bin file(usually it is located in the ../Volume partition) and replace it with the script.bin file from the corresponding directory. The scripts might be also downloaded from here: A10s Android SD scripts
The available directories are:
script_a10s_android_LCD_800x480_TS_GPIO - contains script for A13-LCD7-TS
script_a10s_android_LCD_1024x600_TS_GPIO - contains script for A13-LCD10TS
script_a10s_android_HDMI_GPIO - contains script for the default HDMI resolution
Note that you have to calibrate the touch screen with running Calibration application on Android Desktop. You would need a USB mouse to run the Calibration because the touch screen would still carry the old calibration settings.
The LCD output will be active only if the board boots without HDMI cable connected.
This method of changing the default display setting will NOT work with the NAND Android!
Documents
A10S-OLinuXino user manual
A10S 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
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
Sunxi u-boot loader The linux-sunxi git page contains a lot of sources for all Olimex Allwinner boards.
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 in the latest Debian image?
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.
How to flash new Android image to the NAND memory of my A10s board?
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 executable (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
How to control PWM under Linux?
There is an article here: how to add pwm