Difference between revisions of "AM3352 SOM description"
(Created page with "Official Images from OLIMEX for AM3352-SOM and AM3352-SOM-EVB boards Note: the SD card images for AM3352 boards which we have on our webshop contain same image on 8GB Class10...") |
(→=) |
||
(5 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Official Images from OLIMEX for AM3352-SOM and AM3352-SOM-EVB boards | Official Images from OLIMEX for AM3352-SOM and AM3352-SOM-EVB boards | ||
− | Note: the SD card images for AM3352 boards which we have on our webshop contain same image on 8GB Class10 fast micro sd-card, | + | Note: the SD card images for AM3352 boards which we have on our webshop contain same image on 8GB 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. The image is Debian Linux with kernel 3.12. |
− | if you want to use this image please use Class10 fast card or the performance of Linux will slow down | + | |
− | The image is Debian | + | The default username/password combination is: olimex/olimex |
− | |||
Note that below with Y in image file name is the number of image revision. | Note that below with Y in image file name is the number of image revision. | ||
− | The file AM3352_debian_3_12_VGA_1024x768_preliminary_release_Y.7z is an archive of | + | The file AM3352_debian_3_12_VGA_1024x768_preliminary_release_Y.7z is an archive of AM3352_debian_3_12_VGA_1024x768_preliminary_release_Y.img file. So in order to write the image on SD card you have to unzip AM3352_debian_3_12_VGA_1024x768_preliminary_release_Y.7z file: |
− | AM3352_debian_3_12_VGA_1024x768_preliminary_release_Y.img file. | + | |
− | So in order to write the image on SD card you have to unzip AM3352_debian_3_12_VGA_1024x768_preliminary_release_Y.7z file: | ||
1.1 for Windows | 1.1 for Windows | ||
---------------- | ---------------- | ||
Use 7zip and then use Win32DiskImager.exe (http://sourceforge.net/projects/win32diskimager/) for image writing | Use 7zip and then use Win32DiskImager.exe (http://sourceforge.net/projects/win32diskimager/) for image writing | ||
− | 1.2 for | + | 1.2 for Linux |
------------- | ------------- | ||
− | Use p7zip package. If you have | + | Use p7zip package. If you don't have 7zip installed get it with: |
− | + | ||
− | Copy AM3352_debian_3_12_VGA_1024x768_preliminary_release_Y.7z file in your directory and unzip it with | + | '''''apt-get install p7zip''''' |
− | + | ||
+ | Copy AM3352_debian_3_12_VGA_1024x768_preliminary_release_Y.7z file in your directory and unzip it with: | ||
+ | |||
+ | '''''7za e AM3352_debian_3_12_VGA_1024x768_preliminary_release_Y.7z''''' | ||
+ | |||
The output should be a new 2GB file named AM3352_debian_3_12_VGA_1024x768_preliminary_release_Y.img | The output should be a new 2GB file named AM3352_debian_3_12_VGA_1024x768_preliminary_release_Y.img | ||
− | Put 2GB, 4GB, 8GB or 16GB SD card in your card reader and type | + | Put 2GB, 4GB, 8GB or 16GB SD card in your card reader and type: |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | '''''ls /dev/sd''''' | |
− | Now you have 2GB image written of your SD card. If your SD card is bigger than 2G then you can start a resize_sd.sh script | + | 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: |
− | in order to resize your SD card to the full capacity. Note that you have to be | + | |
− | For example: | + | '''''dd if=AM3352_debian_3_12_VGA_1024x768_preliminary_release_Y.img of=/dev/sdX''''' |
+ | |||
+ | Now you have 2GB image written of your SD card. If your SD card is bigger than 2G then you can start a resize_sd.sh script in order to resize your SD card to the full capacity. Note that you have to be logged in like super user or you have to start resize_sd.sh with sudo. For example: | ||
− | + | '''''resize_sd.sh /dev/mmcblk0 1''''' | |
− | the first parameter of resize_sd.sh script is /dev/mmcblk0 | + | the first parameter of resize_sd.sh script is /dev/mmcblk0; the second is 1 (partition number) |
− | |||
− | Now you need reboot to affect the changes | + | Now you need reboot to affect the changes. |
Note that in this image are installed only main packages. If you want to install some other package then you can use | Note that in this image are installed only main packages. If you want to install some other package then you can use | ||
− | + | '''''apt-get install your_package_name''''' | |
The list of all installed packages is located in am3352-som-installed_packages.txt file | The list of all installed packages is located in am3352-som-installed_packages.txt file | ||
− | The main tested | + | The main tested on-board hardware modules are: |
============================================= | ============================================= | ||
− | - GPIO - they are located in /sys/class/gpio directory. Note that first you have to export GPIOs. For example: | + | - GPIO - they are located in /sys/class/gpio directory. Note that first you have to export GPIOs. |
− | + | ||
− | will export all available GPIOs | + | For example: |
− | + | ||
− | will make the port output | + | '''''for i in `seq 1 1 150`; do echo $i > /sys/class/gpio/export; done''''' - will export all available GPIOs |
− | + | ||
− | will make the port output in logical 1 | + | '''''echo out > /sys/class/gpio/gpioXX/direction''''' - will make the port output |
+ | |||
+ | '''''echo 1 > /sys/class/gpio/gpioXX/value''''' - will make the port output in logical 1 | ||
+ | |||
+ | How are the numbers of the GPIOs from the board represented in the Linux - if we open the schematic of the board and we take a look at a specific pin (X) from a specific processor port (Y) - the number for that pin in Linux would be =(32xY + X). For example, the green LED is located named on P3_18, this means that the corresponding pin in Linux would be 32x3 + 18 = 96 + 18 = 114. If we want to manipulate the blinking of the green LED we would use GPIO114. | ||
+ | |||
+ | - LCD - 4.3''(480x272), 7''(800x480), 10''(1024x600), 15''(1366x768), 15''(1080x1920) | ||
− | - | + | - VGA - 800x600/60Hz, 1024x768/60Hz(default) |
− | - | + | - ASIX8877 USB-LAN - https://www.olimex.com/Products/OLinuXino/A13/USB-ETHERNET-AX88772B/. Usually it is eth1 interface |
− | - | + | - WIFI_RTL8188 - https://www.olimex.com/Products/Modules/Ethernet/MOD-WIFI-RTL8188/. Note that you have to set your SSID network and your password in /etc/network/interfaces file |
− | - | + | - MOD-WIFI-R5370 - https://www.olimex.com/Products/USB-Modules/MOD-WIFI-R5370. Note that you have to set your SSID network and your password in /etc/network/interfaces file |
− | - | + | - USB_OTG - low/full/high USB host |
− | |||
Note that USB_OTG will work only like HOST USB and the ID pin from USB OTG connector have to be low during board booting. Otherwise the board does not recognize any USB | Note that USB_OTG will work only like HOST USB and the ID pin from USB OTG connector have to be low during board booting. Otherwise the board does not recognize any USB | ||
devices connected to USB OTG connector. This is known software issue and we will work to elimante it as soon as possible. | devices connected to USB OTG connector. This is known software issue and we will work to elimante it as soon as possible. | ||
− | - USB_HOST_1 | + | - USB_HOST_1 - low/full/high USB host |
− | - USB_HOST_2 | + | - USB_HOST_2 - low/full/high USB host |
− | - USB_HOST_3 | + | - USB_HOST_3 - low/full/high USB host |
− | - USB_HOST_4 | + | - USB_HOST_4 - low/full/high USB host |
+ | |||
+ | - mico_SD_card - Linux starts from micro_SD card | ||
− | - | + | - ETHERNET1 (LAN1 connector) - 100Mb. By default the board IP address of eth1 interface is 192.168.1.254. So if you want to connect with the board using SSH client |
+ | (for example Putty(http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)) then you have to use this address. Of course your network has to be in 192.168.1.XXX space. You can change the default IP address from /etc/network/interface file. Note that for internet connection you have to set your gateway address in /etc/network/interdaces file and you have to set your DNS server in /etc/resolv.conf(for example nameserver 192.168.1.1) | ||
− | + | Note that by default the ethernet interfaces of AM3352 will work only in networks that support VLAN tags. So you have to check if your network hardware and software supports processing of VLAN tags. Otherwise your board ethernet interfaces may not work properly. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | Note that by default the ethernet interfaces of AM3352 will work only in networks that support VLAN tags. So you have to check if your network hardware and software | ||
− | supports processing of VLAN tags. Otherwise your board ethernet interfaces may not work properly. | ||
− | - ETHERNET0(LAN2 connector) - 100Mb. By default the board IP address of eth0 interface is set from the DHCP server. So if you want to connect with the board using | + | - ETHERNET0 (LAN2 connector) - 100Mb. By default the board IP address of eth0 interface is set from the DHCP server. So if you want to connect with the board using SSH client (for example Putty(http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)) then you have to check what address is received from your local DHCP server. |
− | SSH client (for example Putty(http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)) then you have to check what address is received from your local DHCP server. | ||
You can change this address from /etc/network/interface file. | You can change this address from /etc/network/interface file. | ||
Note that by default the ethernet interfaces of AM3352 will work only in networks that support VLAN tags. So you have to check if your network hardware and software | Note that by default the ethernet interfaces of AM3352 will work only in networks that support VLAN tags. So you have to check if your network hardware and software | ||
supports processing of VLAN tags. Otherwise your board ethernet interfaces may not work properly. | supports processing of VLAN tags. Otherwise your board ethernet interfaces may not work properly. | ||
− | - I2C0(100KHz) - /dev/i2c-0 | + | - I2C0(100KHz) - /dev/i2c-0 |
− | - UART1 - /dev/ttyO1 | + | - UART1 - /dev/ttyO1 |
− | - UART4 - /dev/ttyO4 | + | - UART4 - /dev/ttyO4 |
Changing AM3352-SOM LCD or VGA resolution | Changing AM3352-SOM LCD or VGA resolution | ||
--------------------------------------------------- | --------------------------------------------------- | ||
− | The default SD card setup is made with settings for VGA 1024x768/60Hz. If you want to change some other LCD or VGA resolution then you have to start (with root rights) | + | The default SD card setup is made with settings for VGA 1024x768/60Hz. If you want to change some other LCD or VGA resolution then you have to start (with root rights) change_display_am3352.sh script file in /home/olimex directory. |
− | change_display_am3352.sh script file in /home/olimex directory. | + | |
To see available LCD and VGA resolutions type: | To see available LCD and VGA resolutions type: | ||
− | + | ||
+ | '''''./change_display_am3352.sh''''' | ||
+ | |||
or | or | ||
− | + | ||
+ | '''''sudo ./change_display_am3352.sh''''' | ||
the result will be: | the result will be: | ||
Usage: change_display_am3352.sh [-h] [-l MODE] [-v MODE] | Usage: change_display_am3352.sh [-h] [-l MODE] [-v MODE] | ||
− | Change the default dtb file to use a | + | Change the default dtb file to use a different resolution. This will |
OVERWRITE the current one! If you have made some changes to the | OVERWRITE the current one! If you have made some changes to the | ||
device tree, DO NOT USE this script! | device tree, DO NOT USE this script! | ||
Line 124: | Line 125: | ||
For VGA - 1024x768 and 800x600. | For VGA - 1024x768 and 800x600. | ||
− | For example if you want to change board settings to 7'' LCD, | + | For example, if you want to change board settings to 7'' LCD, |
you should type: | you should type: | ||
− | ./change_display_am3352.sh -l 800x480 | + | '''''./change_display_am3352.sh -l 800x480''''' |
after rebooting the board will be set for 7'' LCD | after rebooting the board will be set for 7'' LCD | ||
− | + | For LCD: | |
1. 4.3''(480x272) | 1. 4.3''(480x272) | ||
2. 7''(800x480) | 2. 7''(800x480) | ||
3. 10''(1024x600) | 3. 10''(1024x600) | ||
− | + | For VGA: | |
1. 800x600/60Hz | 1. 800x600/60Hz | ||
2. 1024x768/60Hz | 2. 1024x768/60Hz | ||
− | + | - For the 4.3 inch, 7 inch and 10 inch LCD display you can control the backlight using the hardware pwm module. The main goal is to decrease power consumption. | |
− | - | ||
For example: | For example: | ||
− | + | '''''echo 8 > /sys/class/backlight/backlight.6/brightness''''' | |
The number 8 (in our case) means near to 100% backlight. Decreasing this value will decrease the backlight | The number 8 (in our case) means near to 100% backlight. Decreasing this value will decrease the backlight |
Latest revision as of 22:25, 9 July 2015
Official Images from OLIMEX for AM3352-SOM and AM3352-SOM-EVB boards
Note: the SD card images for AM3352 boards which we have on our webshop contain same image on 8GB 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. The image is Debian Linux with kernel 3.12.
The default username/password combination is: olimex/olimex
Note that below with Y in image file name is the number of image revision.
The file AM3352_debian_3_12_VGA_1024x768_preliminary_release_Y.7z is an archive of AM3352_debian_3_12_VGA_1024x768_preliminary_release_Y.img file. So in order to write the image on SD card you have to unzip AM3352_debian_3_12_VGA_1024x768_preliminary_release_Y.7z file:
1.1 for Windows
Use 7zip and then use Win32DiskImager.exe (http://sourceforge.net/projects/win32diskimager/) for image writing
1.2 for Linux
Use p7zip package. If you don't have 7zip installed get it with:
apt-get install p7zip
Copy AM3352_debian_3_12_VGA_1024x768_preliminary_release_Y.7z file in your directory and unzip it with:
7za e AM3352_debian_3_12_VGA_1024x768_preliminary_release_Y.7z
The output should be a new 2GB file named AM3352_debian_3_12_VGA_1024x768_preliminary_release_Y.img Put 2GB, 4GB, 8GB or 16GB 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=AM3352_debian_3_12_VGA_1024x768_preliminary_release_Y.img of=/dev/sdX
Now you have 2GB image written of your SD card. If your SD card is bigger than 2G then you can start a resize_sd.sh script in order to resize your SD card to the full capacity. Note that you have to be logged in like super user or you have to start resize_sd.sh with sudo. For example:
resize_sd.sh /dev/mmcblk0 1
the first parameter of resize_sd.sh script is /dev/mmcblk0; the second is 1 (partition number)
Now you need reboot to affect the changes.
Note that in this image are installed only main packages. If you want to install some other package then you can use
apt-get install your_package_name
The list of all installed packages is located in am3352-som-installed_packages.txt file
The main tested on-board hardware modules are:
=================================
- 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 150`; do echo $i > /sys/class/gpio/export; done - will export all available GPIOs
echo out > /sys/class/gpio/gpioXX/direction - will make the port output
echo 1 > /sys/class/gpio/gpioXX/value - will make the port output in logical 1
How are the numbers of the GPIOs from the board represented in the Linux - if we open the schematic of the board and we take a look at a specific pin (X) from a specific processor port (Y) - the number for that pin in Linux would be =(32xY + X). For example, the green LED is located named on P3_18, this means that the corresponding pin in Linux would be 32x3 + 18 = 96 + 18 = 114. If we want to manipulate the blinking of the green LED we would use GPIO114.
- LCD - 4.3(480x272), 7(800x480), 10(1024x600), 15(1366x768), 15(1080x1920)
- VGA - 800x600/60Hz, 1024x768/60Hz(default)
- ASIX8877 USB-LAN - https://www.olimex.com/Products/OLinuXino/A13/USB-ETHERNET-AX88772B/. Usually it is eth1 interface
- WIFI_RTL8188 - https://www.olimex.com/Products/Modules/Ethernet/MOD-WIFI-RTL8188/. Note that you have to set your SSID network and your password in /etc/network/interfaces file
- MOD-WIFI-R5370 - https://www.olimex.com/Products/USB-Modules/MOD-WIFI-R5370. Note that you have to set your SSID network and your password in /etc/network/interfaces file
- USB_OTG - low/full/high USB host
Note that USB_OTG will work only like HOST USB and the ID pin from USB OTG connector have to be low during board booting. Otherwise the board does not recognize any USB devices connected to USB OTG connector. This is known software issue and we will work to elimante it as soon as possible.
- USB_HOST_1 - low/full/high USB host - USB_HOST_2 - low/full/high USB host - USB_HOST_3 - low/full/high USB host - USB_HOST_4 - low/full/high USB host
- mico_SD_card - Linux starts from micro_SD card
- ETHERNET1 (LAN1 connector) - 100Mb. By default the board IP address of eth1 interface is 192.168.1.254. So if you want to connect with the board using SSH client (for example Putty(http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)) then you have to use this address. Of course your network has to be in 192.168.1.XXX space. You can change the default IP address from /etc/network/interface file. Note that for internet connection you have to set your gateway address in /etc/network/interdaces file and you have to set your DNS server in /etc/resolv.conf(for example nameserver 192.168.1.1)
Note that by default the ethernet interfaces of AM3352 will work only in networks that support VLAN tags. So you have to check if your network hardware and software supports processing of VLAN tags. Otherwise your board ethernet interfaces may not work properly.
- ETHERNET0 (LAN2 connector) - 100Mb. By default the board IP address of eth0 interface is set from the DHCP server. So if you want to connect with the board using SSH client (for example Putty(http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)) then you have to check what address is received from your local DHCP server. You can change this address from /etc/network/interface file. Note that by default the ethernet interfaces of AM3352 will work only in networks that support VLAN tags. So you have to check if your network hardware and software supports processing of VLAN tags. Otherwise your board ethernet interfaces may not work properly.
- I2C0(100KHz) - /dev/i2c-0
- UART1 - /dev/ttyO1
- UART4 - /dev/ttyO4
Changing AM3352-SOM LCD or VGA resolution
The default SD card setup is made with settings for VGA 1024x768/60Hz. If you want to change some other LCD or VGA resolution then you have to start (with root rights) change_display_am3352.sh script file in /home/olimex directory.
To see available LCD and VGA resolutions type:
./change_display_am3352.sh
or
sudo ./change_display_am3352.sh
the result will be:
Usage: change_display_am3352.sh [-h] [-l MODE] [-v MODE] Change the default dtb file to use a different resolution. This will OVERWRITE the current one! If you have made some changes to the device tree, DO NOT USE this script!
-h display this help and exit -l MODE set resolution for LCD -v MODE set resolution for VGA
MODE can be 480x272, 800x480 and 1024x600 for LCD. For VGA - 1024x768 and 800x600.
For example, if you want to change board settings to 7 LCD, you should type:
./change_display_am3352.sh -l 800x480
after rebooting the board will be set for 7 LCD
For LCD: 1. 4.3(480x272) 2. 7(800x480) 3. 10(1024x600)
For VGA: 1. 800x600/60Hz 2. 1024x768/60Hz
- For the 4.3 inch, 7 inch and 10 inch LCD display you can control the backlight using the hardware pwm module. The main goal is to decrease power consumption. For example:
echo 8 > /sys/class/backlight/backlight.6/brightness
The number 8 (in our case) means near to 100% backlight. Decreasing this value will decrease the backlight