|
|
(17 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
− | {| width="200" cellspacing="0" cellpadding="4" border="1" align="right"
| + | #REDIRECT:[[What can I do with IGEPv2]] |
− | |-
| |
− | |
| |
− | ====== IGEP0020 ======
| |
− | | |
− | *'''[[:Category:IGEP0020|Main page]]'''
| |
− | | |
− | *'''[[Getting Started with IGEP0020 board|Getting started]]'''
| |
− | | |
− | *'''[[What can I do with IGEP0020|What can I do]]'''
| |
− | | |
− | *'''[[Start developing under IGEP Technology|Start developing]]'''
| |
− | | |
− | |}
| |
− | | |
− | | |
− | __NOTOC__
| |
− | | |
− | | |
− | | |
− | {| cellspacing="0" cellpadding="5" border="1" align="center" width="100%" style="text-align: left;"
| |
− | |-
| |
− | | bgcolor="#cccccc" |'''Overview'''
| |
− | |-
| |
− | | If you have '''successfully completed the [[Getting Started with IGEP0020 board|first chapter of this guide]]''', you can continue with this tutorial guide about IGEP0020.
| |
− | |}
| |
− | | |
− | | |
− | === Preinstalled software ===
| |
− | ----
| |
− | By default, '''all brand new IGEP Processor Boards have a firmware installed''' on its flash memory.
| |
− | | |
− | That means that if you power up your board it will run a Linux distribution provided and installed by ISEE.
| |
− | | |
− | This distribution consists on a '''minimal Linux-based distribution''' with a lite X Window System and GNOME Mobile based applications created with '''Poky Platform Builder'''.
| |
− | | |
− | | |
− | '''Linux distributions'''
| |
− | | |
− | In this tutorial, we are going to use the pre-installed software in your IGEP0020, that is the Poky Linux.
| |
− | | |
− | But if you wish, you can always update with a new or a different distribution.
| |
− | | |
− | If you are familiar with Linux Kernel and distributions, you can check out the '''[[:Category:Software distributions|Software distributions]]''' category at the IGEP Community Wiki to get many other distributions for your IGEP0020.
| |
− | | |
− | Otherwise, we are now going to introduce the main components of the preinstalled software of your IGEP0020:
| |
− | | |
− | * Bootloaders:
| |
− | * Kernel:
| |
− | * Root File System:
| |
− | * Kernel Modules:
| |
− | | |
− | | |
− | === Booting and setting up ===
| |
− | | |
− | In the previous chapter of this tutorial, we have booted IGEP0020 with its pre-installed software.
| |
− | | |
− | Once the board has booted up, it asks for a login in the serial debug port. You can log in into IGEP0020 via the serial interface.
| |
− | | |
− | *The default login user is: '''root'''
| |
− | *There is '''no password''' for this user.
| |
− | | |
− | | |
− | In fact, IGEP0020 can boot from many other devices (listed by priority):
| |
− | | |
− | # from USB
| |
− | # from UART3
| |
− | # from a MMC/MicroSD card
| |
− | # from OneNAND memory
| |
− | | |
− | | |
− | As we haven't set any other device rather than the oneNAND (the IGEP0020 flash memory) the system boots from it.
| |
− | | |
− | | |
− | But, as the MicroSD card has an upper priority than the flash, if you plug a MicroSD card (with the right configuration on it) to the MicroSD card reader, IGEP0020 will boot from it and won't boot from the flash memory.
| |
− | | |
− | | |
− | Now, We are going to use this functionality to update your pre-installed software.
| |
− | | |
− | | |
− | === Updating your pre-installed software ===
| |
− | | |
− | We are now going to update the pre-installed software to the latest version.
| |
− | | |
− | For this purpose, you will need:
| |
− | | |
− | * a '''microSD card'''
| |
− | * a '''computer''' with microSD card reader (or with adapter)
| |
− | * a '''GNU/Linux distribution installed''' on the computer (a Linux partition or a virtual machine on Windows)
| |
− | ** the main reason is that Windows does not detect multiple partitions on a microSD card
| |
− | | |
− | (if you are familiar with Linux, there might be some instructions and comments you can ignore, as they are for Linux newbies)
| |
− | | |
− | At your '''Linux host PC''' you should open '''Terminal'''.
| |
− | | |
− | The first thing you'll need to do is to download the latest firwmare from ISEE:
| |
− | | |
− | wget http://downloads.igep.es/binaries/firmware/poky-firmware-3.3.1-10.tar.gz
| |
− | | |
− | Now you have donwloaded a compressed file with the latest official firmware into the current directory (.tar.gz).
| |
− | | |
− | Next, we will use the application 'tar' to untar (uncompress) the donwloaded file:
| |
− | | |
− | tar xzf poky-firmware-3.3.1-10.tar.gz
| |
− | | |
− | Next, you can enter into the extracted directory with the system 'cd' instruction:
| |
− | | |
− | cd poky-firmware-3.3.1-10/
| |
− | | |
− | | |
− | We are going to create the MicroSD card with the latest firmware. Before it, we have to know which 'device' is the MicroSD listed in the /dev/ directory, a place where the detected devices are listed by the system.
| |
− | | |
− | To know the device name, insert your MicroSD card into the host machine (the machine where you have downloaded the firmware).
| |
− | | |
− | Now run the following system command:
| |
− | | |
− | dmesg
| |
− | | |
− | This instruction will prompt all the system traces. The last lines will be the ones corresponding to the MicroSD card detection and mounting.
| |
− | | |
− | Check the MicroSD name and path, for example: /dev/sdb
| |
− | | |
− | Now you can run the following script in the folder you have just extracted, and you will have to add some parameters:
| |
− | | |
− | | |
− | ./poky-media-create --mmc [device] --binary poky-image-sato-igep00x0-[timestamp].tar.gz --machine igep0020
| |
− | | |
− | where:
| |
− | * [device] is the SD card device name, for example: /dev/sdb
| |
− | * [timestamp] the parameter --binary is actually the name of another .tar.gz compressed file that you have already extracted in the previous steps. If you want to auto-complete the [timestamp] parameter, press TAB in the ''timestamp' when writing the instruction and the system will write the name of the file automatically.
| |
− |
| |
− | | |
− | This instruction will last a few minutes. When the process ends, you will have a MicroSD card with the latest software on it.
| |
− | | |
− | | |
− | Therefore, you are ready to try it. Plug the SD card into IGEP0020 and power up your board.
| |
− | | |
− | | |
− | === Flashing the software image ===
| |
− | | |
− | Now you have a booted board with latest firmware running from MicroSD card, you can write the firmware to the flash memory.
| |
− | | |
− | (serial port reminder)
| |
− | | |
− | Enter to IGEP0020 using root as login name and an empty password, enter to the /opt/firmware an run the ./flash script
| |
− | | |
− | cd /opt/firmware
| |
− | ./flash.sh
| |
− | | |
− | When finish, unplug the SD card and reboot the board, enjoy the new firmware running from flash memory.
| |
− | | |
− | '''Other references''': [[Update_the_PRE-INSTALLED_software_image_to_a_current_release|'''update your pre-installed software image''']]
| |
− | | |
− | | |
− | ----
| |
− | | |
− | *'''Serial Console''': [[Using serial debug port to communicate|here]] is an explanation about how to correctly configure your Serial Console<br>
| |
− | *'''SSH''': [[Using SSH to communicate|here]] is an explanation about how to login via Ethernet or USB
| |
− | | |
− | | |
− | = How to handle the gpio-LED's<br> =
| |
− | | |
− | This is probably the most simple feature in the board, but sometimes LED's may be the only way of checking the status of some of your applications.
| |
− | | |
− | IGEP0020 has 4 LED's which you can control, for example, using 'echo'. Here is an example of turning LED's On:
| |
− | <pre>echo 1 > /sys/devices/platform/leds-gpio/leds/d240\:green/brightness
| |
− | echo 1 > /sys/devices/platform/leds-gpio/leds/d240\:red/brightness
| |
− | echo 1 > /sys/devices/platform/leds-gpio/leds/d440\:green/brightness
| |
− | echo 1 > /sys/devices/platform/leds-gpio/leds/d440\:red/brightness
| |
− | </pre>
| |
− | You can turn them down using the same command and write '0' instead of '1'.
| |
− | | |
− | If you want to trigger the leds you can enable this mode and select the trigger source (none by default) to: mmc0, mmc1, timer, heartbeat and default-on.<br>
| |
− | | |
− | To enable any of this modes you just have to change a parameter in the directory of the led you want to control. You can see all the possibilities using 'cat':<br>
| |
− | <pre>$ cat /sys/devices/platform/leds-gpio/leds/d240\:green/trigger
| |
− | | |
− | [none] mmc0 mmc1 timer heartbeat default-on
| |
− | </pre>
| |
− | In the example above, we have checked the status of the trigger in led D240:green. Mode 'none' is selected.
| |
− | | |
− | To change it, for example, to the timer mode you can use 'echo':<br>
| |
− | <pre>echo timer > /sys/devices/platform/leds-gpio/leds/d240\:green/trigger
| |
− | </pre>
| |
− | In this case, we have set the trigger to the 'timer' mode. Now you can set the time for what the led is ON and the time it is OFF using:<br>
| |
− | <pre>echo 250 > /sys/devices/platform/leds-gpio/leds/d240\:green/delay_on
| |
− | echo 750 > /sys/devices/platform/leds-gpio/leds/d240\:green/delay_off
| |
− | </pre>
| |
− | Now the selected led is configured with a timer consisting of 250 miliseconds ON and 750 miliseconds OFF.
| |
− | | |
− | = How to use RS-485 =
| |
− | | |
− | Follow the link to the extensive article: [[How_to_use_RS485_on_IGEP0020_board|How to use RS-485 on IGEP0020 board]]
| |
− | | |
− | = How to get sound out (audio out) =
| |
− | | |
− | The amplifiers for the headset output are disabled by default, so the first thing you'll do is enable these amplifiers with
| |
− | | |
− | amixer set -D hw:0 'Headset' 0dB
| |
− | amixer set -D hw:0 'HeadsetL Mixer AudioL2' on
| |
− | amixer set -D hw:0 'HeadsetR Mixer AudioR2' on
| |
− | | |
− | Then you can easily play a wav sound, for example
| |
− | | |
− | aplay sample.wav
| |
− | | |
− | = How to get sound in (audio in) =
| |
− | | |
− | You can record audio in with
| |
− | | |
− | arecord -t wav -c 2 -r 44100 -f S16_LE -v audio-in.wav
| |
− | | |
− | Following output is expected on console
| |
− | | |
− | Recording WAVE 'audio-in.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
| |
− | Plug PCM: Hardware PCM card 0 'TWL4030' device 0 subdevice 0
| |
− | Its setup is:
| |
− | stream : CAPTURE
| |
− | access : RW_INTERLEAVED
| |
− | format : S16_LE
| |
− | subformat : STD
| |
− | channels : 2
| |
− | rate : 44100
| |
− | exact rate : 44100 (44100/1)
| |
− | msbits : 16
| |
− | buffer_size : 32768
| |
− | period_size : 2048
| |
− | period_time : 46439
| |
− | tick_time : 7812
| |
− | tstamp_mode : NONE
| |
− | period_step : 1
| |
− | sleep_min : 0
| |
− | avail_min : 2048
| |
− | xfer_align : 2048
| |
− | start_threshold : 1
| |
− | stop_threshold : 32768
| |
− | silence_threshold: 0
| |
− | silence_size : 0
| |
− | boundary : 1073741824
| |
− | | |
− | When ever you think you want to stop just press CONTRL+C
| |
− | | |
− | | |
− | = Developing under IGEP Technology =
| |
− | | |
− | Visit the following link and '''start [[Start developing under IGEP Technology|developing under IGEP Technology]]'''
| |
− | | |
− | [[Category:IGEP0020]]
| |
− | [[Category:Tutorials]]
| |