Difference between revisions of "User:Pau pajuelo"

From IGEP - ISEE Wiki

Jump to: navigation, search
m (What can I do with IGEP BERLIN)
m (DM3730: Decode an AAC audio file (OK))
 
(471 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
= TODO:  =
 
= TODO:  =
  
Update peripheral tutorials, finish gpio example program<br>
+
Categorize new tutorials
  
Categorize new tutorials<br>  
+
How to manage the kernel modules on Linux
 +
 
 +
How do I edit my kernel command line
 +
 
 +
== AUDIO DSP-ARM==
 +
 
 +
===Included (IGEP GST DSP):===
 +
'''AACHEDEC -> DEC AACHE (OK)'''
 +
 
 +
http://download.wavetlan.com/SVV/Media/HTTP/FAAC-HE-AAC.aac
 +
 
 +
gst-launch --gst-debug-level=2 filesrc location=sampleaache.m4a ! TIAuddec1 codecName=aachedec engineName=codecServer ! volume volume=0.25 ! alsasink  sync=false
 +
 
 +
outofthebox->ok
 +
 
 +
----
 +
 
 +
'''MP3DEC -> DEC MP3 (AUDIO ERRORS)'''
 +
 
 +
- Followed README file from ISEE - IGEP DSP - GST + DMAI Support Package 3.40.00
 +
 
 +
http://www.stephaniequinn.com/Music/Canon.mp3
 +
 
 +
gst-launch --gst-debug-level=2 filesrc location=Canon.mp3 ! TIAuddec1 codecName=mp3dec engineName=codecServer ! volume volume=0.25 ! alsasink  sync=false
 +
 
 +
'''Random fatal bit error'''
 +
 
 +
'''mp3-plugin doesn't resolve the error'''
 +
 
 +
----
 +
 
 +
'''G711DEC -> DEC PCM uLAW (speech) (NOT TESTED)'''
 +
 
 +
'''G711ENC -> ENC PCM uLAW (speech) (NOT TESTED)'''
 +
 
 +
===Not included  (IGEP GST DSP):===
 +
'''ACCLCDEC -> DEC AACLE (NOT TESTED)'''
 +
 
 +
'''AACLDDEC -> DEC AACLD (NOT TESTED)'''
 +
 
 +
'''WMA9 -> DEC WMA9 (COMPILING ISSUES)'''
 +
 
 +
'''ACCLCENC -> ENC AACLE (NOT TESTED)'''
 +
 
 +
'''ACCHEENC -> ENC AACHE (NOT TESTED)'''
 +
 
 +
'''AACLDENC -> ENC AACLD (NOT TESTED)'''
 +
 
 +
'''WMA8 -> ENC WMA8 (NOT TESTED)'''
 +
 
 +
'''Problems adding codecs into igep-gst-dsp'''
 +
 
 +
== DM3730==
 +
 
 +
=== DM3730: Decode a MP3 file (OK) (ADDED TO REPOSISTORIES)===
 +
 
 +
'''under contruction'''
 +
 
 +
'''does not have an accelerated audio decoder element'''
 +
 
 +
- Compiled gst-plugins-ugly using yocto tools
 +
 
 +
- rpm -igst-plugins-ugly-0.*.rpm
 +
 
 +
- rpm -i libmad0-0.*.rpm
 +
 
 +
- rpm -i gst-plugins-ugly-mad-0.*.rpm
 +
 
 +
- gst-launch filesrc location=sample.mp3 ! mad ! volume volume=0.25 ! alsasink
 +
 
 +
=== DM3730: Decode a RA or RM audio file (ERRORS)===
 +
 
 +
gst-launch --gst-debug-level=3 filesrc location=sample.ra ! rmdemux ! volume volume=0.25 ! alsasink
  
Finish tutorials below<br>
+
http://www.superluminal.com/andalib/ra/listen.ra
  
Upgrade IGEP Technology Devices Guides
+
gst-plugins-ugly-rmdemux-0.10.19-r1.armv7a.rpm
  
Link all development tools documentation when possible (do a diagram)
+
libgstsdp-0.10-0-0.10.36-r3.armv7a.rpm:
 +
libgstsdp-0.10-0
 +
libgstsdp-0.10.so.0
  
How to manage the kernel modules on Linux
+
libgstrtsp-0.10-0-0.10.36-r3.armv7a.rpm:
 +
libgstrtsp-0.10-0
 +
libgstrtsp-0.10.so.0
 +
 
 +
'''Error:'''
 +
 
 +
0:00:00.084839071  1550  0xa137b0 WARN                rmdemux rmdemux.c:1012:gst_rmdemux_chain:<rmdemux0> Bogus looking header, unprintable FOURCC
 +
 
 +
0:00:00.085052695  1550  0xa137b0 WARN                rmdemux rmdemux.c:1012:gst_rmdemux_chain:<rmdemux0> Bogus looking header, unprintable FOURCC
 +
 
 +
0:00:00.085540976  1550  0xa137b0 WARN                rmdemux rmdemux.c:1057:gst_rmdemux_chain:<rmdemux0> Unknown object_id .ra4
 +
 
 +
0:00:00.085693564  1550  0xa137b0 WARN                rmdemux rmdemux.c:1012:gst_rmdemux_chain:<rmdemux0> Bogus looking header, unprintable FOURCC
 +
 
 +
0:00:00.085815634  1550  0xa137b0 WARN                rmdemux rmdemux.c:1012:gst_rmdemux_chain:<rmdemux0> Bogus looking header, unprintable FOURCC
  
How do I edit my kernel command line
+
0:00:00.085907187  1550  0xa137b0 WARN                rmdemux rmdemux.c:1057:gst_rmdemux_chain:<rmdemux0> Unknown object_id RaTC
  
Basic Software instructions
+
=== DM3730: Decode an AAC audio file (OK)===
  
= What can I do with IGEP PARIS =
+
EXTRA_OECONF += "--disable-examples --disable-experimental --disable-sdl --disable-cdaudio --disable-directfb \
{{Table/IGEP Technology Devices
+
                --with-plugins=musicbrainz,wavpack,ivorbis,mpegvideoparse,'''faad2''' --disable-vdpau --disable-apexsink \
|Tech_Family={{#lst:Template:Links|IGEPv2_EXPANSION_Tech_Family}}
+
                --disable-orc"
|Tech_ID={{#lst:Template:Links|IGEPv2_EXPANSION_Tech_ID}}
+
Install:
|Name={{#lst:Template:Links|IGEPv2_EXPANSION_Name}}
 
|Image={{#lst:Template:Links|IGEPv2_EXPANSION_Image}}
 
|ISEE_MainPage={{#lst:Template:Links|IGEPv2_EXPANSION_ISEE_MainPage}}
 
|ISEE_Hardware={{#lst:Template:Links|IGEPv2_EXPANSION_ISEE_Hardware}}
 
}}
 
  
__TOC__
 
= Overview  =
 
  
This is the 2/3 chapter of IGEPv2 Expansion Tutorial Guide.  
+
faad2-2.7-r2.armv7a.rpm
 +
libfaad2-2.7-r2.armv7a.rpm
 +
gst-plugins-bad-faad-0.10.23-r2.armv7a.rpm
  
We will learn some basic tasks.
+
'''maybe there are necessary more packages, compare actual gst-bad-recipe and add changes. Necessary add faad2 recipe'''
 +
<pre>bitbake faad2 gst-plugins-bad</pre>
 +
<pre> rpm -i faad2-2.7-r2.armv7a.rpm
 +
rpm -i libfaad2-2.7-r2.armv7a.rpm
 +
rpm -i gst-plugins-bad-faad-0.10.23-r2.1.armv7a.rpm
 +
</pre>
  
= What can I do<br>  =
+
gst-launch --gst-debug-level=3 filesrc location=sample.aac ! faad ! volume volume=0.10 ! alsasink
  
 +
==== DM3730: Decode an WMA audio file (OK)====
  
{{Template:Navigation/IGEP Technology Guides/What can I do/Ending}} {{Table/IGEP Technology Devices
+
<pre>bitbake gst-ffmpeg</pre>
|Tech_Family={{#lst:Template:Links|IGEPv2_EXPANSION_Tech_Family}}
 
|Tech_ID={{#lst:Template:Links|IGEPv2_EXPANSION_Tech_ID}}
 
|Name={{#lst:Template:Links|IGEPv2_EXPANSION_Name}}
 
|Image={{#lst:Template:Links|IGEPv2_EXPANSION_Image}}
 
|ISEE_MainPage={{#lst:Template:Links|IGEPv2_EXPANSION_ISEE_MainPage}}
 
|ISEE_Hardware={{#lst:Template:Links|IGEPv2_EXPANSION_ISEE_Hardware}}
 
}}
 
  
= What can I do with IGEP BERLIN =
+
<pre>gst-launch -v filesrc location=sample.wma ! asfdemux ! decodebin ! audioconvert ! volume volume=0.25 ! alsasink  </pre>
{{Table/IGEP Technology Devices
 
|Tech_Family={{#lst:Template:Links|IGEPv2_EXPANSION_Tech_Family}}
 
|Tech_ID={{#lst:Template:Links|IGEPv2_EXPANSION_Tech_ID}}
 
|Name={{#lst:Template:Links|IGEPv2_EXPANSION_Name}}
 
|Image={{#lst:Template:Links|IGEPv2_EXPANSION_Image}}
 
|ISEE_MainPage={{#lst:Template:Links|IGEPv2_EXPANSION_ISEE_MainPage}}
 
|ISEE_Hardware={{#lst:Template:Links|IGEPv2_EXPANSION_ISEE_Hardware}}
 
}}
 
  
__TOC__
+
=== DM3730: Decode an OGG audio file (OK)===
= Overview  =
 
  
This is the 2/3 chapter of IGEPv2 Expansion Tutorial Guide.
+
'''Into repositories (base plugins):'''
  
We will learn some basic tasks.
+
http://upload.wikimedia.org/wikipedia/en/0/04/Rayman_2_music_sample.ogg
  
= What can I do<br>  =
+
gst-launch -v filesrc location=sample.ogg ! oggdemux ! vorbisdec ! audioconvert ! volume volume=0.25 ! alsasink
  
 +
== BASE0033 CONNECTOR SUMMARY TABLE==
  
{{Template:Navigation/IGEP Technology Guides/What can I do/Ending}} {{Table/IGEP Technology Devices
+
== Configure a static IP using the same private network range ==
|Tech_Family={{#lst:Template:Links|IGEPv2_EXPANSION_Tech_Family}}
 
|Tech_ID={{#lst:Template:Links|IGEPv2_EXPANSION_Tech_ID}}
 
|Name={{#lst:Template:Links|IGEPv2_EXPANSION_Name}}
 
|Image={{#lst:Template:Links|IGEPv2_EXPANSION_Image}}
 
|ISEE_MainPage={{#lst:Template:Links|IGEPv2_EXPANSION_ISEE_MainPage}}
 
|ISEE_Hardware={{#lst:Template:Links|IGEPv2_EXPANSION_ISEE_Hardware}}
 
}}
 
  
= [IGEP Technology devices features table proposal] =
+
'''under construction'''
  
{| cellspacing="0" cellpadding="1" border="1" style="text-align: center;"
+
IGEP Firmware Yocto uses the following Ethernet network configuration (IP addresses)
|-
 
|
 
| bgcolor="#cccccc" | IGEP0032
 
| bgcolor="#cccccc" | IGEP0030
 
| bgcolor="#cccccc" | IGEP0030
 
| bgcolor="#cccccc" | IGEP0020
 
| bgcolor="#cccccc" | IGEP0010
 
|-
 
| '''Product name'''
 
| bgcolor="#cccccc" | '''IGEP COM PROTON'''
 
| bgcolor="#cccccc" | '''IGEP COM MODULE'''
 
| bgcolor="#cccccc" | '''IGEP COM ELECTRON'''
 
| bgcolor="#cccccc" | '''IGEPv2'''
 
| bgcolor="#cccccc" | '''IGEP0010'''
 
|-
 
|
 
| width="200" | [[Image:Igep0032 side.png|145x93px|center|link=Category:IGEP0032]]
 
| width="200" | [[Image:Igep0030.jpg|184x120px|center|link=Category:IGEP0030]]
 
| width="200" | [[Image:Igep0030neutron.png|184x120px|center|link=Category:IGEP0030]]
 
| width="200" | [[Image:Igep0020.jpg|174x116px|center|link=Category:IGEP0020]]
 
| width="200" | [[Image:Igep0010.jpg|181x114px|center|link=Category:IGEP0010]]
 
|-
 
| '''Devices and interfaces'''
 
|| || || || || (discontinued product)
 
|-
 
| style="text-align: right;" | ARM CPU
 
|| DM3730 1GHz || DM3730 1GHz|| AM3703 1GHz || DM3730 1GHz || -
 
|-
 
| style="text-align: right;" | DSP
 
|| TMS320DM-C64+ 800 Mhz || TMS320DM-C64+ 800 Mhz || - ||TMS320DM-C64+ 800 Mhz || -
 
|-
 
| style="text-align: right;" | RAM Memory
 
|| 512 MBytes / 200 Mhz || 512 MBytes / 200 Mhz || 256 MBytes / 200 Mhz || 512 MBytes / 200 Mhz || -
 
|-
 
| style="text-align: right;" | Flash Memory
 
|| 512 MBytes || 512 MBytes || 512 MBytes || 512 MBytes || -
 
|-
 
| style="text-align: right;" | MicroSD Card Reader
 
|| x 1 || x 1 || x 1 || x 1 || -
 
|-
 
| style="text-align: right;" | USB 2.0 Host
 
|| - || - || - || x 1 || -
 
|-
 
| style="text-align: right;" | USB 2.0 OTG
 
|| x 1 || x 1 || x 1 || x 1 || -
 
|-
 
| style="text-align: right;" | RS232
 
|| - || - || - || x 1 || -
 
|-
 
| style="text-align: right;" | RS485
 
|| - || - || - || x 1 || -
 
|-
 
| style="text-align: right;" | JTAG
 
|| x 1 || - || - || x 1 || -
 
|-
 
| style="text-align: right;" | Stereo audio In/Out
 
|| - || - || - || x 1 || -
 
|-
 
| style="text-align: right;" | DVI on HDMI
 
|| - || - || - || x 1 || -
 
|-
 
| style="text-align: right;" | Ethernet
 
|| - || - || - || x 1 || -
 
|-
 
| style="text-align: right;" | Wifi
 
|| - || x 1 || - || x 1 || -
 
|-
 
| style="text-align: right;" | Bluetooth
 
|| - || x 1 || - ||  x 1 || -
 
|-
 
| style="text-align: right;" | EEPROM
 
|| x 1 || - || - || - || -
 
|-
 
| style="text-align: right;" | S-Video
 
|| - || - || - || T.P. || -
 
|-
 
| style="text-align: right;" | Camera Interface
 
|| - || x 1 || - || N.P. || -
 
|-
 
| style="text-align: right;" | Analog to digital converter
 
|| - || - || - ||N.P.|| -
 
|-
 
| style="text-align: right;" | Keyboard matrix
 
|| - || - || - || N.P. || -
 
|-
 
| style="text-align: right;" | LEDs
 
|| x 3 green LEDs || x 2 bicolor LEDs|| x 1 bicolor LED||  x 2 bicolor LEDs|| -
 
|-
 
| style="text-align: right;" | TFT Interface
 
|| - || - || - || x 2 || -
 
|-
 
| style="text-align: right;" | RTC Battery Back Up
 
|| - || - || - || x 2 || -
 
|-
 
| Size
 
||35x51,2mm || 18x68,5mm || 18x68,5mm || 65x95mm || -
 
|-
 
| style="text-align: right;" | '''Expansion connectors'''
 
|| Power and many functionalities from OMAP3 processor || Power and many functionalities from OMAP3 processor || Power and many functionalities from OMAP3 processor || Power 5V and 1.8V, UART, McBSP, McSPI, I2C, GPIO, RS485 with transceiver, Keyboard || -
 
|-
 
| style="text-align: right;" rowspan="2" | '''Main pages'''
 
| style="text-align: center;" | [[Image:Isee logo.png|57x57px|link=http://www.isee.biz/products/processor-boards/igep-com-proton]]
 
| style="text-align: center;" | [[Image:Isee logo.png|57x57px|link=http://www.isee.biz/products/processor-boards/igep-com-module]]
 
| style="text-align: center;" | [[Image:Isee logo.png|57x57px|link=http://www.isee.biz/products/processor-boards/igep-com-electron]]
 
| style="text-align: center;" | [[Image:Isee logo.png|57x57px|link=http://www.isee.biz/products/processor-boards/igepv2-board]]
 
| style="text-align: center;" rowspan="3" | -
 
|-
 
| style="text-align: center;" | [[Image:Igep community logo.png|62x62px|link=Category:IGEP0032]]
 
| style="text-align: center;" | [[Image:Igep community logo.png|62x62px|link=Category:IGEP0030]]
 
| style="text-align: center;" | [[Image:Igep community logo.png|62x62px|link=Category:IGEP0030]]
 
| style="text-align: center;" | [[Image:Igep community logo.png|62x62px|link=Category:IGEP0020]]
 
|-
 
| style="text-align: right;" | '''Getting started guide'''<br>
 
| style="text-align: center;" | [[Image:Documentation.png|33x33px|link=Getting Started with IGEP0032 board]]
 
| style="text-align: center;" | [[Image:Documentation.png|33x33px|link=Getting Started with IGEP0030 board]]
 
| style="text-align: center;" | [[Image:Documentation.png|33x33px|link=Getting Started with IGEP0030 board]]
 
| style="text-align: center;" | [[Image:Documentation.png|33x33px|link=Getting Started with IGEP0020 board]]
 
|-
 
| style="text-align: right;" | '''Hardware manual'''
 
| style="text-align: center;" | [[Image:Hw manual.png|30x42px|link=http://www.isee.biz/component/zoo/item/igep-com-proton-hardware-reference-manual]]
 
| style="text-align: center;" | [[Image:Hw manual.png|30x42px|link=http://www.isee.biz/component/zoo/item/igep-com-module-hardware-reference-manual]]
 
| style="text-align: center;" | [[Image:Hw manual.png|30x42px|link=http://www.isee.biz/component/zoo/item/igep-electron-hardware-reference-manual-copy]]
 
| style="text-align: center;" | [[Image:Hw manual.png|30x42px|link=http://www.isee.biz/component/zoo/item/igepv2-hardware-reference-manual]]
 
| -
 
|}
 
  
 +
*eth0 − 192.168.5.1
 +
*eth0:0 − assigned via dhcp.
  
* O: Available on board
+
This Ethernet network configuration is really useful when you work using a Linux operating system like IGEP SDK Virtual Machine. Because you use eth0 device to communicate easily with your board and eth0:0 device to get Internet acces using dhcp protocol.
  
* N.P.: Not populated THESE DEVICES and/or CONNECTORS ARE AVAILABLE, BUT NOT POPULATED BY DEFAULT
+
But some scenarios this network configuration is not useful, for example: if you use a non-Linux operating system, connect to two IP private range interfaces is not simple. This How-to can be useful to
  
* T.P.: Test points
+
(Make diagram one: IGEP and Linux defualt communication. Diagram 2 IGEP and other SO alternative configuration)
  
 
= igep.ini parameters  =
 
= igep.ini parameters  =
Line 429: Line 373:
 
| Only for base0010<br>=B
 
| Only for base0010<br>=B
 
|}
 
|}
 
= How to use GPIOs (update it)  =
 
 
== Overview  ==
 
 
This How-To is meant to be a starting point for people to learn use GPIOs for IGEP v2 devices as quickly and easily as possible. For this how-to i used [http://releases.linaro.org/platform/linaro-m/headless/final/linaro-m-headless-tar-20101108-2.tar.gz Linaro Headless] with [[Linux Kernel 2.6.35.y|Kernel 2.6.35.y]], Ubuntu 10.04 with Linaro Toolchain, IGEP v2 RC5 and [http://downloads.igep.es/labs/gpio-driver.tar.bz2 GPIO driver].
 
 
There are more ways to use GPIOs in IGEP v2, but this one is very simple.<br>
 
 
== Feedback and Contributing  ==
 
 
At any point, if you see a mistake you can contribute to this How-To.<br>
 
 
== Compile GPIO driver source code via Host<br>  ==
 
 
Download [http://downloads.igep.es/labs/gpio-driver.tar.bz2 GPIO driver] and [[Linux Kernel 2.6.35.y|Kernel 2.6.35.y]] source code. Extract files.<br>
 
 
Edit GPIO driver Makefile's:
 
 
-In files: $/app/Makefile and $/lib/Makefile, make sure that your CROSS_COMPILE path is correct.
 
 
-In file: $/modules/Makefile, make sure that your CROSS_COMPILE path is correct and&nbsp;type your Kernel 2.6.35.y path.<br>
 
 
We will use the ncurses program for set up Kernel configuration, if you don't have this program installed then you must install it with this command:
 
<pre>sudo apt-get install ncurses-dev
 
</pre>
 
-Go to kernel path and type:
 
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- igep00x0_defconfig
 
</pre>
 
Exit Linux Kernel Configuration an return to Bash. Type:
 
<pre>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- modules_prepare
 
</pre>
 
File $/include/generated/autoconf.h was created
 
 
Finally compile GPIO driver, go to main Makefile path and compile all source code using make command.
 
 
Send binaries created from Host to Igep v2. <br>
 
 
== Install binaries via IGEP<br>  ==
 
 
Log with root user to install binaries.
 
 
=== Install module  ===
 
 
Go to:$/modules and insert user-gpio-drv.ko into linux kernel with the following command:
 
<pre>insmod user-gpio-drv.ko
 
</pre>
 
Check that user-gpio-drv.ko is currently loaded with the following command:
 
<pre>lsmod</pre>
 
The result will be similar at that: <br>
 
<pre>root@localhost:~/gpio-driver/module# lsmod
 
Module                  Size  Used by
 
user_gpio_drv          1639  0
 
omap_wdt                3411  0
 
spidev                  4198  0
 
iommu                  8558  0
 
rtc_twl                4411  0
 
rtc_core              11187  1 rtc_twl
 
twl4030_keypad          2970  0
 
</pre>
 
The module is loaded until system halt.
 
 
=== Install shared library  ===
 
 
Go to:$/lib. libgpio.so is here.
 
 
If a program is linked with shared libraries, Kernel seek in specific paths when program is executed. Now is necessary link the libgpio.so path to the environment variable LD_LIBRARY_PATH, use the following command:<br>
 
<pre>export LD_LIBRARY_PATH=/root/gpio-driver/lib/
 
</pre>
 
Check that libgpio.so is linked correctly. Go to:$/gpio-driver/app, gpio program is here. Type next command:
 
<pre>ldd gpio
 
</pre>
 
ldd command, print shared library dependencies. The result will be similar at that:
 
<pre>root@localhost:~/gpio-driver/app# ldd gpio
 
libgpio.so =&gt; /root/gpio-driver/lib/libgpio.so (0x40197000)
 
libc.so.6 =&gt; /lib/libc.so.6 (0x401a0000)
 
/lib/ld-linux.so.3 (0x4008a000)
 
</pre>
 
The shared library is linked until system halt. Now you can execute gpio example program.
 
 
== Testing driver  ==
 
 
To make sure than driver works well, make the next test. I used GPIO_136(sdmmc2_dat4) and GPIO_137(sdmmc2_dat5) because IGEP v2 RC5(without WIFI) don't use them by default: <br>
 
 
'''NOTE:''' For more information visit this [[Mux configuration|page]] (under construction). <br>
 
 
=== Configure Mux  ===
 
 
Go to:/sys/kernel/debug/omap_mux, and change this mux configuration:
 
<pre>echo 0x104&gt;sdmmc2_dat4
 
echo 0x104&gt;sdmmc2_dat5
 
</pre>
 
Use cat command to check it:<br>
 
<pre>cat sdmmc2_dat4
 
cat sdmmc2_dat5
 
</pre>
 
The result will be similar at that:
 
<pre>root@localhost:/sys/kernel/debug/omap_mux# cat sdmmc2_dat4
 
name: sdmmc2_dat4.gpio_136 (0x48002164/0x134 = 0x0104), b ae4, t NA
 
mode: OMAP_PIN_INPUT | OMAP_MUX_MODE4
 
signals: sdmmc2_dat4 | sdmmc2_dir_dat0 | NA | sdmmc3_dat0 | gpio_136 | NA | NA | safe_mode
 
</pre>
 
and
 
<pre>root@localhost:/sys/kernel/debug/omap_mux# cat sdmmc2_dat5
 
name: sdmmc2_dat5.gpio_137 (0x48002166/0x136 = 0x0104), b ah3, t NA
 
mode: OMAP_PIN_INPUT | OMAP_MUX_MODE4
 
signals: sdmmc2_dat5 | sdmmc2_dir_dat1 | cam_global_reset | sdmmc3_dat1 | gpio_137 | hsusb3_tll_stp | mm3_rxdp | safe_mode
 
</pre>
 
Note: OMAP_PIN_INPUT=Input/Output pin and OMAP_PIN_OUTPUT=Output pin, for Read/Write test you need the first one. GPIO is configured in mode 4.<br>
 
 
=== Read/Write test  ===
 
 
Link GPIO_136 and GPIO_137 with a wire, these pins are located in J990 connector with numbers 7 and 9. I use the next connector to join them:<br>
 
 
{| align="center" cellspacing="1" cellpadding="1" border="1" width="200"
 
|-
 
| [[Image:Connector used readwrite test.JPG|center|350x230px]]
 
|
 
[[Image:All connected readwrite test.JPG|center|350x230px]]
 
 
|}
 
 
<br>
 
 
Now type next code:
 
<pre>root@localhost:~/gpio-driver/app# ./gpio input 136
 
root@localhost:~/gpio-driver/app# ./gpio output 137 0
 
root@localhost:~/gpio-driver/app# ./gpio get 136   
 
0
 
root@localhost:~/gpio-driver/app# ./gpio output 137 1
 
root@localhost:~/gpio-driver/app# ./gpio get 136   
 
1
 
root@localhost:~/gpio-driver/app#
 
</pre>
 
The results (CMOS Voltages: 0V-1V8):
 
 
{| align="center" cellspacing="1" cellpadding="1" border="1" width="200"
 
|-
 
| [[Image:GPIO value0 readwrite test.JPG|center|350x230px]]
 
|
 
[[Image:GPIO value1 readwrite test.JPG|center|350x230px]]
 
 
|}
 
 
<br> The code above shows that driver works properly, GPIO_136 is configured like input and GPIO_137 is configured like output with value 0, when read GPIO_136 the result is 0. To make sure that works well, configure GPIO_137 with value 1, now GPIO_136 reads 1. <br> This driver have more options like IRQ, but is not explained here.
 
 
[[Category:USB]] [[Category:How_to_forge]] [[Category:GPIO]] [[Category:UART]] [[Category:IGEP_Technology_Devices_Guides]]
 

Latest revision as of 15:28, 5 September 2014

TODO:

Categorize new tutorials

How to manage the kernel modules on Linux

How do I edit my kernel command line

AUDIO DSP-ARM

Included (IGEP GST DSP):

AACHEDEC -> DEC AACHE (OK)

http://download.wavetlan.com/SVV/Media/HTTP/FAAC-HE-AAC.aac

gst-launch --gst-debug-level=2 filesrc location=sampleaache.m4a ! TIAuddec1 codecName=aachedec engineName=codecServer ! volume volume=0.25 ! alsasink sync=false

outofthebox->ok


MP3DEC -> DEC MP3 (AUDIO ERRORS)

- Followed README file from ISEE - IGEP DSP - GST + DMAI Support Package 3.40.00

http://www.stephaniequinn.com/Music/Canon.mp3

gst-launch --gst-debug-level=2 filesrc location=Canon.mp3 ! TIAuddec1 codecName=mp3dec engineName=codecServer ! volume volume=0.25 ! alsasink sync=false

Random fatal bit error

mp3-plugin doesn't resolve the error


G711DEC -> DEC PCM uLAW (speech) (NOT TESTED)

G711ENC -> ENC PCM uLAW (speech) (NOT TESTED)

Not included (IGEP GST DSP):

ACCLCDEC -> DEC AACLE (NOT TESTED)

AACLDDEC -> DEC AACLD (NOT TESTED)

WMA9 -> DEC WMA9 (COMPILING ISSUES)

ACCLCENC -> ENC AACLE (NOT TESTED)

ACCHEENC -> ENC AACHE (NOT TESTED)

AACLDENC -> ENC AACLD (NOT TESTED)

WMA8 -> ENC WMA8 (NOT TESTED)

Problems adding codecs into igep-gst-dsp

DM3730

DM3730: Decode a MP3 file (OK) (ADDED TO REPOSISTORIES)

under contruction

does not have an accelerated audio decoder element

- Compiled gst-plugins-ugly using yocto tools

- rpm -igst-plugins-ugly-0.*.rpm

- rpm -i libmad0-0.*.rpm

- rpm -i gst-plugins-ugly-mad-0.*.rpm

- gst-launch filesrc location=sample.mp3 ! mad ! volume volume=0.25 ! alsasink

DM3730: Decode a RA or RM audio file (ERRORS)

gst-launch --gst-debug-level=3 filesrc location=sample.ra ! rmdemux ! volume volume=0.25 ! alsasink

http://www.superluminal.com/andalib/ra/listen.ra

gst-plugins-ugly-rmdemux-0.10.19-r1.armv7a.rpm

libgstsdp-0.10-0-0.10.36-r3.armv7a.rpm: libgstsdp-0.10-0 libgstsdp-0.10.so.0

libgstrtsp-0.10-0-0.10.36-r3.armv7a.rpm: libgstrtsp-0.10-0 libgstrtsp-0.10.so.0

Error:

0:00:00.084839071 1550 0xa137b0 WARN rmdemux rmdemux.c:1012:gst_rmdemux_chain:<rmdemux0> Bogus looking header, unprintable FOURCC

0:00:00.085052695 1550 0xa137b0 WARN rmdemux rmdemux.c:1012:gst_rmdemux_chain:<rmdemux0> Bogus looking header, unprintable FOURCC

0:00:00.085540976 1550 0xa137b0 WARN rmdemux rmdemux.c:1057:gst_rmdemux_chain:<rmdemux0> Unknown object_id .ra4

0:00:00.085693564 1550 0xa137b0 WARN rmdemux rmdemux.c:1012:gst_rmdemux_chain:<rmdemux0> Bogus looking header, unprintable FOURCC

0:00:00.085815634 1550 0xa137b0 WARN rmdemux rmdemux.c:1012:gst_rmdemux_chain:<rmdemux0> Bogus looking header, unprintable FOURCC

0:00:00.085907187 1550 0xa137b0 WARN rmdemux rmdemux.c:1057:gst_rmdemux_chain:<rmdemux0> Unknown object_id RaTC

DM3730: Decode an AAC audio file (OK)

EXTRA_OECONF += "--disable-examples --disable-experimental --disable-sdl --disable-cdaudio --disable-directfb \

                --with-plugins=musicbrainz,wavpack,ivorbis,mpegvideoparse,faad2 --disable-vdpau --disable-apexsink \
                --disable-orc"

Install:


faad2-2.7-r2.armv7a.rpm libfaad2-2.7-r2.armv7a.rpm gst-plugins-bad-faad-0.10.23-r2.armv7a.rpm

maybe there are necessary more packages, compare actual gst-bad-recipe and add changes. Necessary add faad2 recipe

bitbake faad2 gst-plugins-bad
 rpm -i faad2-2.7-r2.armv7a.rpm
rpm -i libfaad2-2.7-r2.armv7a.rpm
rpm -i gst-plugins-bad-faad-0.10.23-r2.1.armv7a.rpm
 

gst-launch --gst-debug-level=3 filesrc location=sample.aac ! faad ! volume volume=0.10 ! alsasink

DM3730: Decode an WMA audio file (OK)

bitbake gst-ffmpeg
gst-launch -v filesrc location=sample.wma ! asfdemux ! decodebin ! audioconvert ! volume volume=0.25 ! alsasink  

DM3730: Decode an OGG audio file (OK)

Into repositories (base plugins):

http://upload.wikimedia.org/wikipedia/en/0/04/Rayman_2_music_sample.ogg

gst-launch -v filesrc location=sample.ogg ! oggdemux ! vorbisdec ! audioconvert ! volume volume=0.25 ! alsasink

BASE0033 CONNECTOR SUMMARY TABLE

Configure a static IP using the same private network range

under construction

IGEP Firmware Yocto uses the following Ethernet network configuration (IP addresses)

  • eth0 − 192.168.5.1
  • eth0:0 − assigned via dhcp.

This Ethernet network configuration is really useful when you work using a Linux operating system like IGEP SDK Virtual Machine. Because you use eth0 device to communicate easily with your board and eth0:0 device to get Internet acces using dhcp protocol.

But some scenarios this network configuration is not useful, for example: if you use a non-Linux operating system, connect to two IP private range interfaces is not simple. This How-to can be useful to

(Make diagram one: IGEP and Linux defualt communication. Diagram 2 IGEP and other SO alternative configuration)

igep.ini parameters

The kernel command line syntax is name=value1. These next parameters are supported in igep.ini since IGEP-X_Loader 2.4.0-2:

[kernel]

Parameter Name Description Default value Comments
kaddress Kernel copy address =0x80008000 Hex memory address
rdaddress Ram Disk location address =0x81600000 Hex memory address;
disabled by default
serial.low Serial number (low part) =00000001 Numeric
serial.high Serial number (high part) =00000000 Numeric
revision Revision ID =0003 Numeric
kImageName Kernel, binary image name =zImage Kernel or binary image name
kRdImageName Kernel RAM Disk Image Name - Ram Disk image name
MachineID Machine ID (kernel ID)  ;IGEPv2
=2344
 ;Module
=2717
;Proton
=3203
Mode Boot Mode  ;Linux kernel
=kernel
 ;Other image (like uboot)
[binary image]

[kparams]

Parameter Name Description Default value Comments
buddy Enable/disable expansion board support  ;IGEPv2 Expansion Board support
=igep0022
 ;Berlin and Paris Expansion Board support
=base0010
New York Expansion
=ilms0015
console Setup the kernel console parameters =ttyO2,115200n8 -
earlyprintk Enable early printk - -
mem Setup the Board Memory Configuration =430M -
boot_delay Setup the boot delay =0 -
mpurate Setup ARM Processor Speed - -
loglevel Setup the loglevel - -
debug Enable kernel debug output - -
fixrtc Fix RTC variable - -
nocompcache Configure nocompcache variable =1 -
omapfb.mode Configure frame bugger configuration =dvi:hd720-16@50  ;Other configuration
=dvi:1280x720MR-16@60
vram Configure Video RAM assigned to every frame buffer - -
omapfb.vram Configure Video RAM assigned to every frame buffer - -
omapfb.debug Configure frame buffer debug output - -
omapdss.debug Configure DSS Video debug output - -
smsc911x.mac0 Configure Board Ethernet Mac Address =0xb2,0xb0,0x14,0xb5,0xcd,0xde For IGEP BERLIN
smsc911x.mac1 Configure Board Ethernet Mac Address =0xb2,0xb0,0x14,0xb5,0xcd,0xdf For IGEP BERLIN (only with IGEP PROTON)
smsc911x.mac Configure Board Ethernet Mac Address =0xb2,0xb0,0x14,0xb5,0xcd,0xde For IGEPv2, IGEP PROTON, IGEP PARIS and IGEP BERLIN
ubi.mtd Fot UBI FS boot - -
root Configure root directory for MMC, NFS or UBI  ;For mmc memory
=/dev/mmcblk0p2 rw rootwait
 ;For flash memory
=/dev/mtdblock2
nfsroot For NFS boot - -
rootfstype For UBI FS boot - -
ip For NFS boot - -
init Assign init program - -
musb_hdrc.debug USB debug - -
musb_hdrc.use_dma USB over network - -
libertas.libertas_debug Configure libertas debug - -
board.ei485 Enable/disable RS485  ;Enable RS485
=yes
 ;Disable RS485
=no
board.modem Enable/disable GPRS modem  ;Enable modem (IGEPv2 Expansion)
=no
 ;Enable modem (IGEPv2 Expansion)
=yes
buddy.revision Enable hardware buddy revision [A or B] Only for base0010
=A
Only for base0010
=B