|
|
Line 1: |
Line 1: |
− | = TODO: Update peripheral tutorials = | + | = TODO: = |
| | | |
− | = How to develop with Qt under IGEP =
| + | Categorize new tutorials |
| | | |
− | == Overview ==
| + | How to manage the kernel modules on Linux |
| | | |
− | This guide can be helpful to learnt to develop Qt applications under IGEP Boards. Qt is a cross-platform application framework that is widely used for developing application software with a graphical user interface, and also used for developing non-GUI programs such as command-line tools and consoles for servers. You can get more information [http://qt.nokia.com/ here].
| + | How do I edit my kernel command line |
| | | |
− | == Requirements<br> == | + | == AUDIO DSP-ARM== |
| | | |
− | There are some requisites to follow this guide:
| + | ===Included (IGEP GST DSP):=== |
| + | '''AACHEDEC -> DEC AACHE (OK)''' |
| | | |
− | *[http://isee.biz/component/zoo/item/igep-virtual-machine-sdk-yocto IGEP SDK VM]: follow the IGEP SDK SOFTWARE USER MANUAL (chapter 2.3 "Setting up and running the VM")<br>
| + | http://download.wavetlan.com/SVV/Media/HTTP/FAAC-HE-AAC.aac |
− | *[http://downloads.isee.biz/denzil/binary/qt4e-demo-image-igep00x0.tar.bz2 IGEP Qt Demo]: follow the IGEP SDK SOFTWARE USER MANUAL (chapter 6.1 "Create IGEP firmware bootable micro-sd card") and install qt4e-demo-image-igep00x0.tar.bz2 instead IGEP firmware.
| |
− | *[http://www.isee.biz/products/processor-boards/igepv2-board IGEPv2], [http://www.isee.biz/products/expansion-boards/product-igep-berlin IGEP BERLIN] or [http://www.isee.biz/products/expansion-boards/product-igep-paris IGEP PARIS]
| |
− | *MicroSD Card (at least 2Gbytes)<br>
| |
| | | |
− | == Download and install Qt demo image to a SD<br> == | + | gst-launch --gst-debug-level=2 filesrc location=sampleaache.m4a ! TIAuddec1 codecName=aachedec engineName=codecServer ! volume volume=0.25 ! alsasink sync=false |
| | | |
− | Once you have open IGEP SDK VM, launch a terminal and type:
| + | outofthebox->ok |
− | <pre>cd Desktop/
| |
− | wget http://downloads.isee.biz/denzil/binary/qt4e-demo-image-igep00x0.tar.bz2
| |
− | git clone git://git.isee.biz/pub/scm/igep-tools.git
| |
− | cd igep-tools/scripts</pre>
| |
− | Insert a SD-Card media and use the igep-media-create script to copy the firmware to SD-Card media, required options are:
| |
| | | |
− | *--mmc </dev/sdX>
| + | ---- |
| | | |
− | unformated MMC Card
| + | '''MP3DEC -> DEC MP3 (AUDIO ERRORS)''' |
| | | |
− | *--image <filename>
| + | - Followed README file from ISEE - IGEP DSP - GST + DMAI Support Package 3.40.00 |
| | | |
− | specify file used to create the bootable SD card.
| + | http://www.stephaniequinn.com/Music/Canon.mp3 |
| | | |
− | *--machine <machine>
| + | gst-launch --gst-debug-level=2 filesrc location=Canon.mp3 ! TIAuddec1 codecName=mp3dec engineName=codecServer ! volume volume=0.25 ! alsasink sync=false |
| | | |
− | specify the machine. Options are igep0020, igep0030 or igep0032<br>
| + | '''Random fatal bit error''' |
| | | |
− | For example, assuming the SD card device takes "/dev/sdf" and you have and IGEPv2 board (igep0020), type:
| + | '''mp3-plugin doesn't resolve the error''' |
− | <pre>./igep-media-create --mmc /dev/sdf --machine igep0020 --image /home/jdoe/Desktop/qt4e-demo-image-igep00x0.tar.bz2</pre>
| |
− | This should give you a bootable SD-card<br>
| |
| | | |
− | == Prepare Qt demo image ==
| + | ---- |
| | | |
− | Qt demo image is a root filesystem build by Yocto that contains Qt embedded libraries, also this image has some Qt examples for testing purposes.
| + | '''G711DEC -> DEC PCM uLAW (speech) (NOT TESTED)''' |
| | | |
− | This image doesn't have openssh and gdbserver, so we should install these packages to develop Qt applications. Open a shell prompt using serial communication (IGEP SDK SOFTWARE MANUAL chapter 3.1 "Using serial mode") and type the following commands:
| + | '''G711ENC -> ENC PCM uLAW (speech) (NOT TESTED)''' |
− | <pre>zypper ref
| |
− | zypper in openssh
| |
− | zypper in gdbserver
| |
− | </pre>
| |
− | Now you can connect between IGEP and VM using SSH protocol:<br>
| |
− | <pre>ssh root@"IGEP IP for example: 192.168.5.1"
| |
− | </pre>
| |
− | == Using Qt Creator ==
| |
| | | |
− | === First Steeps<br> === | + | ===Not included (IGEP GST DSP):=== |
| + | '''ACCLCDEC -> DEC AACLE (NOT TESTED)''' |
| | | |
− | ==== Open Program:<br> ====
| + | '''AACLDDEC -> DEC AACLD (NOT TESTED)''' |
| | | |
− | Go to Applications -> IGEP development -> Qt Creator<br>
| + | '''WMA9 -> DEC WMA9 (COMPILING ISSUES)''' |
| | | |
− | {| border="1" width="200" cellspacing="1" cellpadding="1"
| + | '''ACCLCENC -> ENC AACLE (NOT TESTED)''' |
− | |-
| |
− | | [[Image:Openqtv2.png|331x249px]]<br>
| |
− | | [[Image:Qtopenedv2.png|331x249px]]<br>
| |
− | |}
| |
| | | |
− | '''<sup>Click to enlarge image</sup>''' | + | '''ACCHEENC -> ENC AACHE (NOT TESTED)''' |
| | | |
− | ==== Open an example:<br> ====
| + | '''AACLDENC -> ENC AACLD (NOT TESTED)''' |
| | | |
− | Copy your desired example from: /opt/QtSDK/Examples/4.7 to your desktop.<br>
| + | '''WMA8 -> ENC WMA8 (NOT TESTED)''' |
| | | |
− | {| border="1" width="200" cellspacing="1" cellpadding="1"
| + | '''Problems adding codecs into igep-gst-dsp''' |
− | |-
| |
− | | [[Image:Qtcopyanexamplev2.png|496x373px]]
| |
− | |}
| |
| | | |
− | '''<sup>Click to enlarge image</sup>'''
| + | == DM3730== |
| | | |
− | '''NOTE:''' some examples (like hellogl) cannot be compiled to ARM, for this How-to is used calculator example.
| + | === DM3730: Decode a MP3 file (OK) (ADDED TO REPOSISTORIES)=== |
| | | |
− | Open this example with Qt Creator, set Desktop target and use for each Qt Version one debug and one release
| + | '''under contruction''' |
| | | |
− | {| border="1" width="757" cellspacing="1" cellpadding="1"
| + | '''does not have an accelerated audio decoder element''' |
− | |-
| |
− | | [[Image:Qtopenanexamplev2.png|250x188px]]
| |
− | | [[Image:Qtopenanexample2v2.png|250x188px]]
| |
− | | [[Image:Qtopenanexample3v2.png|250x188px]]
| |
− | |}
| |
| | | |
− | '''<sup>Click to enlarge image</sup>'''
| + | - Compiled gst-plugins-ugly using yocto tools |
| | | |
− | === ARM Platform<br> ===
| + | - rpm -igst-plugins-ugly-0.*.rpm |
| | | |
− | ==== Build Programs <br> ====
| + | - rpm -i libmad0-0.*.rpm |
| | | |
− | To compile to ARM for IGEP go to Project use the following configuration at Projects field -> Build:
| + | - rpm -i gst-plugins-ugly-mad-0.*.rpm |
| | | |
− | {| border="1" width="200" cellspacing="1" cellpadding="1"
| + | - gst-launch filesrc location=sample.mp3 ! mad ! volume volume=0.25 ! alsasink |
− | |-
| |
− | | [[Image:Qtarmconfigv2.png|496px]]
| |
− | |}
| |
| | | |
− | '''<sup>Click to enlarge image</sup>'''
| + | === DM3730: Decode a RA or RM audio file (ERRORS)=== |
| | | |
− | '''NOTE:''' Use Debug build if you want to debug later
| + | gst-launch --gst-debug-level=3 filesrc location=sample.ra ! rmdemux ! volume volume=0.25 ! alsasink |
| | | |
− | Compile with: Build->Clean All and Build->Build All (Ctrl+Shift+B).
| + | http://www.superluminal.com/andalib/ra/listen.ra |
| | | |
− | ==== Run Programs ====
| + | gst-plugins-ugly-rmdemux-0.10.19-r1.armv7a.rpm |
| | | |
− | Once you compiled the program pass it from VM to IGEP via SSH, launch a terminal and type:
| + | libgstsdp-0.10-0-0.10.36-r3.armv7a.rpm: |
− | <pre>scp "pathtobinary" root@"IGEP IP for example: 192.168.5.1":/home/root</pre>
| + | libgstsdp-0.10-0 |
− | Get a remote shell prompt and run your program: <br>
| + | libgstsdp-0.10.so.0 |
− | <pre>ssh root@"IGEP IP for example: 192.168.5.1"
| |
− | ./"binary" "optional:arguments"</pre> | |
− | {| border="1" width="200" cellspacing="1" cellpadding="1"
| |
− | |-
| |
− | | [[Image:Qtrunarmv2.jpg|496x373px]]
| |
− | |}
| |
| | | |
− | '''<sup>Click to enlarge image</sup>'''
| + | libgstrtsp-0.10-0-0.10.36-r3.armv7a.rpm: |
| + | libgstrtsp-0.10-0 |
| + | libgstrtsp-0.10.so.0 |
| | | |
− | '''NOTE:''' You cannot use igep-remote-x program because Qt-demo image doesn't have X installed.<br> | + | '''Error:''' |
| | | |
− | ==== Debug Programs ====
| + | 0:00:00.084839071 1550 0xa137b0 WARN rmdemux rmdemux.c:1012:gst_rmdemux_chain:<rmdemux0> Bogus looking header, unprintable FOURCC |
| | | |
− | '''NOTE''': When you debug programs using Qt Creator "Step in" and "Step Out" are not supported, because dinamic libraries symbols are not loaded by gdb.
| + | 0:00:00.085052695 1550 0xa137b0 WARN rmdemux rmdemux.c:1012:gst_rmdemux_chain:<rmdemux0> Bogus looking header, unprintable FOURCC |
| | | |
− | Once you compiled the program pass it from VM to IGEP via SSH, launch a terminal and type:
| + | 0:00:00.085540976 1550 0xa137b0 WARN rmdemux rmdemux.c:1057:gst_rmdemux_chain:<rmdemux0> Unknown object_id .ra4 |
− | <pre>scp "pathtobinary" root@"IGEP IP for example: 192.168.5.1":/home/root</pre>
| |
− | Get a remote shell prompt and run gdbserver:
| |
− | <pre>ssh root@"IGEP IP for example: 192.168.5.1" | |
− | gdbserver "VM IP for example: 192.168.5.10":1000 "pathtobinary" "optional:armguments"
| |
− | </pre>
| |
− | Now use the followings steps to debug program:<br>
| |
| | | |
− | {| border="1" width="200" cellspacing="1" cellpadding="1"
| + | 0:00:00.085693564 1550 0xa137b0 WARN rmdemux rmdemux.c:1012:gst_rmdemux_chain:<rmdemux0> Bogus looking header, unprintable FOURCC |
− | |-
| |
− | | [[Image:Qtdebugx861v2.png|331x249px]]
| |
− | | [[Image:Qtarmdebug1v2.png|331x249px]]
| |
− | |-
| |
− | | [[Image:Qtarmdebug2v2.png|331x249px]]
| |
− | | [[Image:Qtarmdebug3v2.png|331x249px]]
| |
− | |}
| |
| | | |
− | '''<sup>Click to enlarge image</sup>'''
| + | 0:00:00.085815634 1550 0xa137b0 WARN rmdemux rmdemux.c:1012:gst_rmdemux_chain:<rmdemux0> Bogus looking header, unprintable FOURCC |
| | | |
− | Image 1: set breakpoints in your source code
| + | 0:00:00.085907187 1550 0xa137b0 WARN rmdemux rmdemux.c:1057:gst_rmdemux_chain:<rmdemux0> Unknown object_id RaTC |
| | | |
− | Image 3: use the following configuration:
| + | === DM3730: Decode an AAC audio file (OK)=== |
| | | |
− | *Debugger: /opt/poky/1.2/sysroots/i686-pokysdk-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/arm-poky-linux-gnueabi-gdb
| + | EXTRA_OECONF += "--disable-examples --disable-experimental --disable-sdl --disable-cdaudio --disable-directfb \ |
− | *Local executable: "pathtohostbinary"
| + | --with-plugins=musicbrainz,wavpack,ivorbis,mpegvideoparse,'''faad2''' --disable-vdpau --disable-apexsink \ |
− | *Host and port: "IGEP IP for example: 192.168.5.1":1000
| + | --disable-orc" |
− | *Architecture: arm
| + | Install: |
− | *GNU target: arm-none-linux-gnueabi
| |
− | *Sysroot: (empty)<br>
| |
− | *Location of debugging information: (empty)
| |
− | *Override host GDB start script: download [http://labs.isee.biz/images/a/a1/Gdbinit_for_qt.tar.bz2 gdbinit] file, uncompress to home folder and select it (/home/jdoe/gdbinit)<br>
| |
| | | |
− | '''NOTE:''' You cannot use igep-remote-x program because Qt-demo image doesn't have X installed.<br>
| |
| | | |
− | === x86 Platform<br> ===
| + | faad2-2.7-r2.armv7a.rpm |
| + | libfaad2-2.7-r2.armv7a.rpm |
| + | gst-plugins-bad-faad-0.10.23-r2.armv7a.rpm |
| | | |
− | ==== Build Programs ====
| + | '''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> |
| | | |
− | To compile to x86 go to Project use the following configuration at Projects field -> Build:
| + | gst-launch --gst-debug-level=3 filesrc location=sample.aac ! faad ! volume volume=0.10 ! alsasink |
| | | |
− | {| border="1" width="200" cellspacing="1" cellpadding="1"
| + | ==== DM3730: Decode an WMA audio file (OK)==== |
− | |-
| |
− | | [[Image:Qtx86configv2.png|496px]]
| |
− | |}
| |
| | | |
− | '''<sup>Click to enlarge image</sup>'''
| + | <pre>bitbake gst-ffmpeg</pre> |
| | | |
− | '''NOTE:''' Use Debug build if you want to debug later
| + | <pre>gst-launch -v filesrc location=sample.wma ! asfdemux ! decodebin ! audioconvert ! volume volume=0.25 ! alsasink </pre> |
| | | |
− | <br>
| + | === DM3730: Decode an OGG audio file (OK)=== |
| | | |
− | Compile with: Build->Clean All and Build->Build All (Ctrl+Shift+B).
| + | '''Into repositories (base plugins):''' |
| | | |
− | ==== Run Programs ====
| + | http://upload.wikimedia.org/wikipedia/en/0/04/Rayman_2_music_sample.ogg |
| | | |
− | Use run button (Ctrl+R).
| + | gst-launch -v filesrc location=sample.ogg ! oggdemux ! vorbisdec ! audioconvert ! volume volume=0.25 ! alsasink |
| | | |
− | {| border="1" width="200" cellspacing="1" cellpadding="1"
| + | == BASE0033 CONNECTOR SUMMARY TABLE== |
− | |-
| |
− | | [[Image:Qtrunx86v2.png|496x373px]]
| |
− | |}
| |
| | | |
− | '''<sup>Click to enlarge image</sup>'''
| + | == Configure a static IP using the same private network range == |
| | | |
− | ==== Debug Programs ====
| + | '''under construction''' |
| | | |
− | Set breakpoints in your source code and press debug button (F5)
| + | IGEP Firmware Yocto uses the following Ethernet network configuration (IP addresses) |
| | | |
− | {| border="1" width="200" cellspacing="1" cellpadding="1"
| + | *eth0 − 192.168.5.1 |
− | |-
| + | *eth0:0 − assigned via dhcp. |
− | | [[Image:Qtdebugx861v2.png|331x249px]]
| |
− | | [[Image:Qtdebugx862v2.png|331x249px]]
| |
− | |}
| |
| | | |
− | '''<sup>Click to enlarge image</sup>'''
| + | 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. |
| | | |
− | = Set up a NFS between IGEP Board and IGEP VM =
| + | 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 |
| | | |
− | == Overview ==
| + | (Make diagram one: IGEP and Linux defualt communication. Diagram 2 IGEP and other SO alternative configuration) |
| | | |
− | Network File System (NFS) is a Distributed file system protocol originally developed by Sun Microsystems in 1984, allowing a user on a client Computer to access files over a network in a manner similar to how local storage is accessed. NFS, like many other protocols, builds on the Open Network Computing Remote Procedure Call (ONC RPC) system. The Network File System is an open standard defined in RFCs, allowing anyone to implement the protocol. More information [http://en.wikipedia.org/wiki/Network_File_System here].<br>
| + | = igep.ini parameters = |
| | | |
− | In IGEP Boards, NFS protocol can be used to mount a whole rootfs partition located in a remote disk like Virtual Machine, this method can be useful for:<br>
| + | The kernel command line syntax is name=value1. These next parameters are supported in igep.ini since IGEP-X_Loader 2.4.0-2: |
| | | |
− | *Your remote rootfs will not be limited by flash or MicroSD storage.
| + | === [kernel] === |
− | *You can transfer binaries without using remote connections.
| |
− | *You can test other rootfs only editing igep.ini configuration file.
| |
| | | |
− | {| border="1" width="200" cellspacing="1" cellpadding="1" | + | {| align="JUSTIFY" cellpadding="1" border="1" style="width: 900px; height: 240px;" |
| |- | | |- |
− | | [[Image:Nfs1 filesystem.png|331px]] | + | | '''Parameter Name''' |
− | | [[Image:Nfs2 filesystem.png|331px]] | + | | '''Description''' |
| + | | '''Default value''' |
| + | | '''Comments''' |
| + | |- |
| + | | kaddress |
| + | | Kernel copy address |
| + | | =0x80008000 |
| + | | Hex memory address |
| + | |- |
| + | | rdaddress |
| + | | Ram Disk location address |
| + | | =0x81600000 |
| + | | Hex memory address;<br>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<br>=2344 |
| + | | ;Module<br>=2717<br>;Proton<br>=3203 |
| + | |- |
| + | | Mode |
| + | | Boot Mode |
| + | | ;Linux kernel<br>=kernel |
| + | | ;Other image (like uboot)<br>[binary image] |
| |} | | |} |
| | | |
− | '''<sup>Click to enlarge image</sup>'''
| + | === [kparams] === |
| | | |
− | == Requirements == | + | {| align="JUSTIFY" cellpadding="1" border="1" style="width: 900px; height: 1095px;" |
− | | + | |- |
− | There are some requisites to follow this guide:
| + | | '''Parameter Name''' |
− | | + | | '''Description''' |
− | *[http://isee.biz/component/zoo/item/igep-virtual-machine-sdk-yocto IGEP SDK VM]: follow the IGEP SDK SOFTWARE USER MANUAL (chapter 2.3 "Setting up and running the VM")<br>
| + | | '''Default value''' |
− | *[http://downloads.isee.biz/denzil/binary/qt4e-demo-image-igep00x0.tar.bz2 IGEP Qt Demo] or [http://isee.biz/component/zoo/item/igep-firmware-yocto-1-2 IGEP Firmware]: follow the IGEP SDK SOFTWARE USER MANUAL (chapter 6.1 "Create IGEP firmware bootable micro-sd card") <br>
| + | | '''Comments''' |
− | *IGEP Board with Ethernet or Wifi connection<br>
| + | |- |
− | *MicroSD Card (at least 2Gbytes)
| + | | buddy |
− | | + | | Enable/disable expansion board support |
− | == Set up NFS at VM ==
| + | | ;IGEPv2 Expansion Board support<br>=igep0022 |
− | | + | | ;Berlin and Paris Expansion Board support<br>=base0010<br>New York Expansion<br>=ilms0015 |
− | === Download and extract IGEP root filesystem ===
| + | |- |
− | | + | | console |
− | ISEE mantains two rootfs builded with Yocto tools:
| + | | Setup the kernel console parameters |
− | | + | | =ttyO2,115200n8 |
− | *IGEP firmware: default software shipped in all IGEP Boards. It comes with some documentation and tools, so you need to uncompress again to extract rootfs
| + | | - |
− | <pre>wget http://downloads.isee.biz/denzil/binary/igep_firmware-yocto-1.2.1-1.tar.bz2
| + | |- |
− | tar jxf igep_firmware-yocto-*.tar.bz2
| + | | earlyprintk |
− | cd igep_firmware-yocto-*
| + | | Enable early printk |
− | sudo mkdir /srv/{your_rootfs_dir}
| + | | - |
− | sudo tar jxf demo-image-sato-igep00x0.tar.bz2 -C /srv/{your_rootfs_dir} </pre>
| + | | - |
− | *Qt demo: demo filesystem with Qt libraries and examples
| + | |- |
− | <pre>wget http://downloads.isee.biz/denzil/binary/qt4e-demo-image-igep00x0.tar.bz2
| + | | mem |
− | sudo mkdir /srv/{your_rootfs_dir}
| + | | Setup the Board Memory Configuration |
− | sudo tar jxf qt4e-demo-image-igep00x0.tar.bz2 -C /srv/{your_rootfs_dir}</pre>
| + | | =430M |
− | === Configure NFS Server === | + | | - |
− | | + | |- |
− | *Install nfs-kernel-server:
| + | | boot_delay |
− | <pre>sudo apt-get install nfs-kernel-server </pre>
| + | | Setup the boot delay |
− | *Make directory exports.d:<br>
| + | | =0 |
− | <pre>sudo mkdir /etc/exports.d </pre>
| + | | - |
− | Edit /etc/exports file, add the following line and save the changes:
| + | |- |
− | <pre>/srv/{your_rootfs_dir} *(rw,sync,no_subtree_check,no_root_squash)</pre>
| + | | mpurate |
− | Export NFS file system:
| + | | Setup ARM Processor Speed |
− | <pre>sudo exportfs -a</pre>
| + | | - |
− | '''NOTE: '''You can have as many rootfs as you want
| + | | - |
− | | + | |- |
− | == Set up NFS at IGEP Board ==
| + | | loglevel |
− | | + | | Setup the loglevel |
− | === MicroSD boot ===
| + | | - |
− | | + | | - |
− | Configure igep.ini file located at boot partition:<br>
| + | |- |
− | | + | | debug |
− | *Comment MMC boot:
| + | | Enable kernel debug output |
− | <pre>; --- Configure MMC boot ---
| + | | - |
− | ;root=/dev/mmcblk0p2 rw rootwait</pre>
| + | | - |
− | *Add NFS configuration:
| + | |- |
− | <pre>; --- Configure NFS boot ---
| + | | fixrtc |
− | ip=192.168.5.1:192.168.5.10::255.255.255.0::eth0
| + | | Fix RTC variable |
− | root=/dev/nfs
| + | | - |
− | nfsroot=192.168.5.10:/srv/{your_rootfs_dir}</pre>
| + | | - |
− | Save changes, plug MicroSD card and power up your IGEP.<br>
| + | |- |
− | | + | | nocompcache |
− | === Flash boot<br> ===
| + | | Configure nocompcache variable |
− | | + | | =1 |
− | Boot IGEP with a MicroSD card without NFS support.
| + | | - |
− | <pre>mkdir /tmp/temp
| + | |- |
− | mount -t jffs2 /dev/mtdblock1 /tmp/temp </pre>
| + | | omapfb.mode |
− | Now, mtdblock1 partition is mounted at /tmp/temp directory. Modify igep.ini located in: /tmp/temp/igep.ini
| + | | Configure frame bugger configuration |
− | | + | | =dvi:hd720-16@50 |
− | *Comment JFFS2 FS boot:
| + | | ;Other configuration<br>=dvi:1280x720MR-16@60 |
− | <pre>; --- Configure JFFS2 FS boot ---
| + | |- |
− | ;root=/dev/mtdblock2
| + | | vram |
− | ;rootfstype=jffs2</pre>
| + | | Configure Video RAM assigned to every frame buffer |
− | *Add NFS configuration:
| + | | - |
− | <pre>; --- Configure NFS boot ---
| + | | - |
− | ip=192.168.5.1:192.168.5.10::255.255.255.0::eth0
| + | |- |
− | root=/dev/nfs
| + | | omapfb.vram |
− | nfsroot=192.168.5.10:/srv/{your_rootfs_dir}</pre>
| + | | Configure Video RAM assigned to every frame buffer |
− | Save changes, power down IGEP, unplug MicroSD card and power up your board.
| + | | - |
− | | + | | - |
− | = Install and configure Codeblocks for IGEP devices <br> =
| |
− | | |
− | == Overview ==
| |
− | | |
− | Codeblocks is a free and open source, cross-platform IDE which supports multiple compilers including GCC and MSVC. It is developed in C++ using wxWidgets as the GUI toolkit. Using a plugin architecture, its capabilities and features are defined by the provided plugins. Currently, Codeblocks is oriented towards C and C++. It can also be used for creating ARM, AVR, D, DirectX, FLTK, Fortran, GLFW, GLUT, GTK+, Irrlicht, Lightfeather, MATLAB, OGRE, OpenGL, Qt, SDL, SFML, STL, SmartWin and wx programs and applications, although in some cases installing third-party SDKs or frameworks is necessary. More information [http://en.wikipedia.org/wiki/Codeblocks here].<br>
| |
− | | |
− | Codeblocks is not installed by default in IGEP SDK VM, because Eclipse IDE is full integrated with IGEP Firmware. If you don't like Eclipse IDE or you want to use Codeblocks anyway this How-to can be helpful to install, set up and use it.<br>
| |
− | | |
− | == Requirements == | |
− | | |
− | There are some requisites to follow this guide:
| |
− | | |
− | *[http://isee.biz/component/zoo/item/igep-virtual-machine-sdk-yocto IGEP SDK VM]: follow the IGEP SDK SOFTWARE USER MANUAL (chapter 2.3 "Setting up and running the VM")<br>
| |
− | *[http://isee.biz/component/zoo/item/igep-firmware-yocto-1-2 IGEP Firmware]: follow the IGEP SDK SOFTWARE USER MANUAL (chapter 6.1 "Create IGEP firmware bootable micro-sd card") <br>
| |
− | *IGEP Board
| |
− | *[http://downloads.isee.biz/pub/files/CodeBlocks_examples.tar.bz2 Codeblocks examples]
| |
− | *MicroSD Card (optional)
| |
− | | |
− | == Install Codeblocks in VM ==
| |
− | <pre>sudo apt-get install codeblocks codeblocks-contrib </pre>
| |
− | == Configure Codeblocks ==
| |
− | | |
− | === Startup script ===
| |
− | | |
− | Codeblocks startup script (Codeblocks.sh) will let you to load IGEP SDK YOCTO environtment variables to IDE. Don't execute this script if you want to compile with other environtment like x86.<br>
| |
− | <pre>cd Desktop/IGEP\ development/
| |
− | gedit Codeblocks.sh</pre>
| |
− | Copy this code to Codeblocks.sh
| |
− | <pre>#! /bin/bash
| |
− | source /opt/poky/1.2/environment-setup-armv7a-vfp-neon-poky-linux-gnueabi
| |
− | exec codeblocks </pre>
| |
− | Give execute privileges to script:
| |
− | <pre>chmod a+x ~/Desktop/IGEP\ development/Codeblocks.sh
| |
− | </pre>
| |
− | {| border="1" width="200" cellspacing="1" cellpadding="1"
| |
| |- | | |- |
− | | [[Image:Opencodeblocks1.png|331px]]<br> | + | | omapfb.debug |
− | | [[Image:Opencodeblocks2.png|331px]]<br> | + | | Configure frame buffer debug output |
− | |} | + | | - |
− | | + | | - |
− | <br>
| |
− | | |
− | === Add IGEP SDK Compiler and Debugger ===
| |
− | | |
− | Follow the next instructions to add IGEP SDK Yocto support:
| |
− | | |
− | {| border="1" width="200" cellspacing="1" cellpadding="1"
| |
| |- | | |- |
− | | [[Image:Addsdkcodeblocks1.png|250px]] | + | | omapdss.debug |
− | | [[Image:Addsdkcodeblocks2.png|250px]] | + | | Configure DSS Video debug output |
− | | [[Image:Addsdkcodeblocks3.png|250px]] | + | | - |
| + | | - |
| |- | | |- |
− | | [[Image:Addsdkcodeblocks4.png|250px]] | + | | smsc911x.mac0 |
− | | [[Image:Addsdkcodeblocks5.png|250px]]
| + | | Configure Board Ethernet Mac Address |
− | | [[Image:Addsdkcodeblocks6.png|250px]] | + | | =0xb2,0xb0,0x14,0xb5,0xcd,0xde |
− | |} | + | | For IGEP BERLIN |
− | | |
− | '''<sup>Click to enlarge image</sup>'''
| |
− | | |
− | Save all changes
| |
− | | |
− | == Using Codeblocks == | |
− | | |
− | You can create two types of projects on Codeblocks: custom Makefile or managed by Codeblocks. These examples can be used as a template for your project. The examples are:<br>
| |
− | | |
− | *C_example, Codeblocks-based “Hello World” program written in C.
| |
− | *Cairo_example, generates a png file named hello.png.
| |
− | *Cpp_example, Codeblocks-based “Hello World” program written in C++
| |
− | *Dbus_example, sends "Hello Wolrd!" using D-Bus message system.
| |
− | *Glib_example, simple “Hello World" written using Glib library.
| |
− | *Gstreamer_example, ogg audio player using Gstreamer.
| |
− | *Gtk_example, Hello World in GTK.
| |
− | *C_example_without_autotools, custom Makefile “Hello World” program written in C.
| |
− | | |
− | === Build programs ===
| |
− | | |
− | '''NOTE:''' Use Debug build if you want to debug later
| |
− | | |
− | Compile with: Build->Rebuild (Ctrl+F11).
| |
− | | |
− | === Run programs ===
| |
− | | |
− | Once you compiled the program pass it from VM to IGEP via SSH, launch a terminal and type:
| |
− | <pre>scp "pathtobinary" root@"IGEP IP for example: 192.168.5.1":/home/root</pre>
| |
− | Get a remote shell prompt and run your program: <br>
| |
− | <pre>ssh root@"IGEP IP for example: 192.168.5.1"
| |
− | ./"binary" "optional:arguments"</pre>
| |
− | === Debug programs ===
| |
− | | |
− | '''NOTE''': When you debug programs using CodeBlocks "Step into" and "Step out" are not supported, because dinamic libraries symbols are not loaded by gdb.
| |
− | | |
− | Once you compiled the program pass it from VM to IGEP via SSH, launch a terminal and type:
| |
− | <pre>scp "pathtobinary" root@"IGEP IP for example: 192.168.5.1":/home/root</pre>
| |
− | Get a remote shell prompt and run gdbserver:
| |
− | <pre>ssh root@"IGEP IP for example: 192.168.5.1"
| |
− | gdbserver "VM IP for example: 192.168.5.10":1000 "pathtobinary" "optional:armguments"
| |
− | </pre>
| |
− | Now use the followings steps to debug program:<br>
| |
− | | |
− | {| border="1" width="200" cellspacing="1" cellpadding="1"
| |
| |- | | |- |
− | | [[Image:Debugcodeblocks1.png|331px]] | + | | smsc911x.mac1 |
− | | [[Image:Debugcodeblocks2.png|331px]] | + | | Configure Board Ethernet Mac Address |
| + | | =0xb2,0xb0,0x14,0xb5,0xcd,0xdf |
| + | | For IGEP BERLIN (only with IGEP PROTON) |
| |- | | |- |
− | | [[Image:Debugcodeblocks3.png|331px]] | + | | smsc911x.mac |
− | | [[Image:Debugcodeblocks4.png|331px]] | + | | Configure Board Ethernet Mac Address |
− | |} | + | | =0xb2,0xb0,0x14,0xb5,0xcd,0xde |
− | | + | | For IGEPv2, IGEP PROTON, IGEP PARIS and IGEP BERLIN |
− | Image 1: set breakpoints in your source code
| |
− | | |
− | '''NOTE:''' You cant use igep-remote-x program with IGEP firmware (chapter 3.3 "Remote X")<br>
| |
− | | |
− | = How to use SPI (prove with new firmware, under construction) = | |
− | | |
− | == Overview ==
| |
− | | |
− | This How-To is meant to be a starting point for people to learn use SPI for IGEP devices as quickly and easily as possible. In this how-to, we run an example program that reads and writes registers from 3-axis accelerometer ([http://www.st.com/internet/analog/product/250725.jsp LIS3DH]) included on the board IGEP New York. This program was tested in Poky firmware with Kernel 2.6.37.y.
| |
− | | |
− | == Feedback and Contributing ==
| |
− | | |
− | At any point, if you see a mistake you can contribute to this How-To.
| |
− | | |
− | == Requirements ==
| |
− | | |
− | There are a few requisites to follow this tutorial:
| |
− | | |
− | *[http://isee.biz/component/zoo/item/igep-yocto-toolcahin-sdk IGEP YOCTO 1.2 Toolchain SDK]
| |
− | *[http://isee.biz/component/zoo/item/igep-firmware-yocto-1-2 IGEP Firmware yocto 1.2]
| |
− | *IGEP MODULE with IGEP New York
| |
− | *SPI example Program '''''(link program)'''''
| |
− | | |
− | == How Works ==
| |
− | | |
− | '''LIS3DH accelerometer:''' It is the accelerometer mounted in IGEP New York.
| |
− | | |
− | '''Omap3 SPI Peripheral:''' It is the hardware used to communicated with accelerometer and other SPI devices.
| |
− | | |
− | '''Omap2_mcspi:''' It is a bus driver than controls Omap3 SPI Peripheral.
| |
− | | |
− | '''Spi:''' It is a protocol driver that defines functions and strucs used in SPI bus.
| |
− | | |
− | '''Spidev:''' It is a device driver that export spi driver functionalities to userspace.
| |
− | | |
− | '''Lis3lv02d_spi:''' SPI glue layer for lis3lv02d
| |
− | | |
− | '''Lis31v02d:''' Device driver for LIS3DH accelerometer.
| |
− | | |
− | '''Exp_ilms0015:''' It is a startup program for IGEP New York. It attach lis31v02d with Spi driver.
| |
− | | |
− | {| border="1" width="200" cellspacing="1" cellpadding="1"
| |
| |- | | |- |
− | | [[Image:Spi linux schematic.png|501x600px]] | + | | ubi.mtd |
− | |} | + | | Fot UBI FS boot |
− | | + | | - |
− | <br> More information about Linux Kernel SPI at:
| + | | - |
− | | |
− | *[http://git.isee.biz/?p=pub/scm/linux-omap-2.6.git;a=blob;f=Documentation/spi/spi-summary;h=4884cb33845d7629987f60610eeedb863561006e;hb=refs/heads/linux-2.6.37.y SPI Overview]
| |
− | | |
− | *[http://git.isee.biz/?p=pub/scm/linux-omap-2.6.git;a=blob;f=Documentation/spi/spidev;h=ed2da5e5b28a4490a3b03787b02df66d083692be;hb=refs/heads/linux-2.6.37.y SPIDEV]
| |
− | | |
− | == Attach Spidev to SPI driver ==
| |
− | | |
− | === Modify Linux Kernel Sources ===
| |
− | | |
− | To read accelerometer registers from spidev, we need to attach spidev driver to spi driver at start up. So it is necessary to modify spi_board.
| |
− | | |
− | Go to $(Kernel path)/arch/arm/mach-omap2/exp-ilms0015.c and edit the next fields in bold words.
| |
− | | |
− | {| border="1" width="500" cellspacing="1" cellpadding="1"
| |
| |- | | |- |
− | | | + | | root |
− | static struct spi_board_info lis3lv02d_spi_board_info __initdata = {
| + | | Configure root directory for MMC, NFS or UBI |
− | | + | | ;For mmc memory<br>=/dev/mmcblk0p2 rw rootwait |
− | '''.modalias = "spidev",'''
| + | | ;For flash memory<br>=/dev/mtdblock2 |
− | | |
− | '''//.modalias = "lis3lv02d_spi",''' | |
− | | |
− | .bus_num = -EINVAL,
| |
− | | |
− | .chip_select = -EINVAL,
| |
− | | |
− | .max_speed_hz = 1*1000*1000,
| |
− | | |
− | .irq = -EINVAL,
| |
− | | |
− | .mode = SPI_MODE_0,
| |
− | | |
− | '''//.platform_data = &lis3lv02d_pdata,'''
| |
− | | |
− | };
| |
− | | |
− | inline void __init ilms0015_lis3lv02d_init(int bus_num, int cs, int irq)
| |
− | | |
− | {
| |
− | | |
− | struct spi_board_info *spi = &lis3lv02d_spi_board_info;
| |
− | | |
− | if ((gpio_request(irq, "LIS3LV02D IRQ") == 0)
| |
− | | |
− | && (gpio_direction_input(irq) == 0))
| |
− | | |
− | gpio_export(irq, 0);
| |
− | | |
− | else { | |
− | | |
− | pr_err("IGEP: Could not obtain gpio LIS3LV02D IRQ\n");
| |
− | | |
− | return;
| |
− | | |
− | }
| |
− | | |
− | spi->bus_num = bus_num;
| |
− | | |
− | spi->chip_select = cs;
| |
− | | |
− | spi->irq = OMAP_GPIO_IRQ(irq),
| |
− | | |
− | spi_register_board_info(&lis3lv02d_spi_board_info, 1);
| |
− | | |
− | }
| |
− | | |
− | ...
| |
− | | |
− | void __init ilms0015_init(void)
| |
− | | |
− | {
| |
− | | |
− | mux_partition = omap_mux_get("core");
| |
− | | |
− | /* Mux initialitzation for ilms0015 */
| |
− | | |
− | omap_mux_write_array(mux_partition, ilms0015_mux);
| |
− | | |
− | /* 3-axis accelerometer */
| |
− | | |
− | ilms0015_lis3lv02d_init(1, 2, 174);
| |
− | | |
− | /* Export some GPIO */
| |
− | | |
− | ilms0015_gpio_init();
| |
− | | |
− | }
| |
− | | |
− | |}
| |
− | | |
− | Now spi_register_board_info has all information necessary to attach spidev driver instead lis3lv02d_spi.
| |
− | | |
− | Once we edit code, compile your modified Kernel, you can follow [http://labs.isee.biz/index.php/Linux_Kernel_2.6.37.y#Build_kernel_from_sources this tutorial] for this purpose.
| |
− | | |
− | === Enable ilms0015 support ===
| |
− | | |
− | “ilms0015” is the technical name of IGEP New York.
| |
− | | |
− | By default, poky-media-create (See: [http://labs.isee.biz/index.php/How_to_create_a_SD-card_with_the_latest_software_image Poky firmware with Kernel 2.6.37.y]) configured as igep0030, gives support only for IGEP Expansions Paris and Berlin. We need to configure igep.ini and gives support to IGEP New York:
| |
− | | |
− | {| border="1" width="500" cellspacing="1" cellpadding="1"
| |
| |- | | |- |
− | | ; Machine configuration | + | | nfsroot |
− | ''' ;buddy=base0010 buddy.revision=B '''
| + | | For NFS boot |
− | | + | | - |
− | ''' buddy=ilms0015'''
| + | | - |
− | | |
− | |} | |
− | | |
− | === Test changes ===
| |
− | | |
− | Once you copy your new Kernel binaries and edit igep.ini. Power up your board, log in and check your changes:
| |
− | | |
− | {| border="1" width="500" cellspacing="1" cellpadding="1"
| |
| |- | | |- |
− | | | + | | rootfstype |
− | root@igep00x0:/dev# lsmod
| + | | For UBI FS boot |
− | | + | | - |
− | Module Size Used by
| + | | - |
− | | |
− | rfcomm 48522 0
| |
− | | |
− | hidp 13311 0
| |
− | | |
− | l2cap 49001 4 rfcomm,hidp
| |
− | | |
− | bluetooth 67643 3 rfcomm,hidp,l2cap
| |
− | | |
− | libertas_sdio 13887 0
| |
− | | |
− | libertas 99318 1 libertas_sdio
| |
− | | |
− | option 13044 0
| |
− | | |
− | usb_wwan 7196 1 option
| |
− | | |
− | usbserial 23870 2 option,usb_wwan
| |
− | | |
− | '''spidev 4898 0 '''
| |
− | | |
− | root@igep00x0:/dev# ls /dev/spidev1.2
| |
− | | |
− | /dev/spidev1.2
| |
− | | |
− | |} | |
− | | |
− | “spidev1.2”: refers at McSPI1 bus 2. Now we can communicate to accelerometer using spi driver functions.
| |
− | | |
− | == SPI Test program ==
| |
− | | |
− | === Overview ===
| |
− | | |
− | This program is based in [http://git.isee.biz/?p=pub/scm/linux-omap-2.6.git;a=blob;f=Documentation/spi/spidev_test.c;h=16feda9014692a87a4996bf51d759ab9e7500ee5;hb=refs/heads/linux-2.6.37.y spidev_test] and it was edited to run with LIS3DH accelerometer, program can be explained in four parts:
| |
− | | |
− | '''Connection properties:''' program lets change via parameters SPI configurations like: device, max speed, delay, bits per word, clock phase, clock polarity, etc. If you don't use any of this parameters program will use default options for LIS3DH communication.
| |
− | | |
− | '''Read mode: '''Reads a word from a register.
| |
− | | |
− | '''Write mode: '''Writes a word in a register.
| |
− | | |
− | '''Test mode:''' Reads X, Y and Z axes from accelerometer.
| |
− | | |
− | We recommend to read peripheral datasheet before use or modify program.
| |
− | | |
− | === Compile program ===
| |
− | | |
− | The program source was compiled with Poky SDK but you can use other compilers like Linaro Toolchain:
| |
− | <pre>arm-poky-linux-gnueabi-gcc spiexamplebeta2.c -o spiexampleb2 </pre>
| |
− | Copy your final binary to rootfs.
| |
− | | |
− | == Test program<br> ==
| |
− | | |
− | === Read WHO_AM_I register(0Fh) ===
| |
− | | |
− | LIS3DH has this dummy register (See 8.6 chapter) as a device identification. Its value is 0x33:
| |
− | <pre>root@igep00x0:~# ./spiexampleb2 -R 0F
| |
− | spi mode: 0
| |
− | bits per word: 8
| |
− | max speed: 1000000 Hz (1000 KHz)
| |
− | Value from 0F is: 33
| |
− | root@igep00x0:~# </pre>
| |
− | === Read and Write CTRL_REG1 (20h) ===
| |
− | | |
− | This register is used to enable/disable: accelerometer and XYZ axes (See 8.8 chapter). The default value at startup is:
| |
− | <pre>root@igep00x0:~# ./spiexampleb2 -R 20
| |
− | spi mode: 0
| |
− | bits per word: 8
| |
− | max speed: 1000000 Hz (1000 KHz)
| |
− | Value from 20 is: 07
| |
− | root@igep00x0:~# </pre>
| |
− | It means that accelerometer was disabled and X, Y and Z axes was enabled. For example we can disable X axe typing:
| |
− | <pre>root@igep00x0:~# ./spiexampleb2 -W 20 -V 06
| |
− | spi mode: 0
| |
− | bits per word: 8
| |
− | max speed: 1000000 Hz (1000 KHz)
| |
− | Register to write 20 with value 06
| |
− | root@igep00x0:~# ./spiexampleb2 -R 20
| |
− | spi mode: 0
| |
− | bits per word: 8
| |
− | max speed: 1000000 Hz (1000 KHz)
| |
− | Value from 20 is: 06
| |
− | root@igep00x0:~#
| |
− | </pre>
| |
− | === Read accelerometer axes ===
| |
− | | |
− | {| border="1" width="500" cellspacing="1" cellpadding="1"
| |
| |- | | |- |
− | | Finally we are going to read gravity force: LIS3DH has ±2g/±4g/±8g/±16g dynamically selectable full scale (See chapter 8.11). The axes values are expressed in two’s complement in 16 bits (See chapters 8.16, 8.17 and 8.18). | + | | ip |
− | | [[Image:Lis3dhxyzaxes.png|150x159px]] | + | | For NFS boot |
− | |} | + | | - |
− | <pre>root@igep00x0:~# ./spiexampleb2 -T
| + | | - |
− | spi mode: 0
| |
− | bits per word: 8
| |
− | max speed: 1000000 Hz (1000 KHz)
| |
− | Accelerometer TEST
| |
− | Values from X -64, Values from Y -15872 and Values from Z -256
| |
− | root@igep00x0:~#
| |
− | </pre>
| |
− | The next table shows results at different positions:
| |
− | | |
− | {| border="1" width="600" cellspacing="1" cellpadding="1"
| |
| |- | | |- |
− | | Position | + | | init |
− | | ±2g scale | + | | Assign init program |
− | | ±4g scale | + | | - |
− | | ±8g scale | + | | - |
− | | ±16g scale
| |
| |- | | |- |
− | | [[Image:NYtopimagetest.png|center|100x100px]] | + | | musb_hdrc.debug |
− | | X = 832 | + | | USB debug |
− | Y = 1024
| + | | - |
− | | + | | - |
− | Z = 15680
| |
− | | |
− | |
| |
− | X = 256
| |
− | | |
− | Y = 128
| |
− | | |
− | Z = 7872
| |
− | | |
− | | | |
− | X = 128
| |
− | | |
− | Y = 128
| |
− | | |
− | Z = 4032
| |
− | | |
− | | | |
− | X = 64
| |
− | | |
− | Y = 128
| |
− | | |
− | Z = 1280
| |
− | | |
| |- | | |- |
− | | [[Image:NYbotimagetest.png|center|100x100px]] | + | | musb_hdrc.use_dma |
− | | | + | | USB over network |
− | X = 256
| + | | - |
− | | + | | - |
− | Y = 704
| |
− | | |
− | Z = -17216
| |
− | | |
− | |
| |
− | X = 256
| |
− | | |
− | Y = 256
| |
− | | |
− | Z = -8320
| |
− | | |
− | | | |
− | X = 64
| |
− | | |
− | Y = 128
| |
− | | |
− | Z = -4096
| |
− | | |
− | | | |
− | X = 128
| |
− | | |
− | Y = 128
| |
− | | |
− | Z = -1344
| |
− | | |
| |- | | |- |
− | | [[Image:NYtophoritzontalimagetest.png|center|100x100px]] | + | | libertas.libertas_debug |
− | | | + | | Configure libertas debug |
− | X = -15872
| + | | - |
− | | + | | - |
− | Y = 64
| |
− | | |
− | Z = -320
| |
− | | |
− | |
| |
− | X = -7936
| |
− | | |
− | Y = 64
| |
− | | |
− | Z = -512
| |
− | | |
− | | | |
− | X = -3968
| |
− | | |
− | Y = 128
| |
− | | |
− | Z = -192
| |
− | | |
− | | | |
− | X = -1280
| |
− | | |
− | Y = 64
| |
− | | |
− | Z = -128
| |
− | | |
| |- | | |- |
− | | [[Image:NYbothoritzontalimagetest.png|center|100x100px]] | + | | board.ei485 |
− | | | + | | Enable/disable RS485 |
− | X = 16448
| + | | ;Enable RS485<br>=yes |
− | | + | | ;Disable RS485<br>=no |
− | Y = 640
| |
− | | |
− | Z = 640
| |
− | | |
− | |
| |
− | X = 8128
| |
− | | |
− | Y = 192
| |
− | | |
− | Z = 384
| |
− | | |
− | | | |
− | X = 4032
| |
− | | |
− | Y = 64
| |
− | | |
− | Z = 64
| |
− | | |
− | | | |
− | X = 1344
| |
− | | |
− | Y = 64
| |
− | | |
− | Z = 192
| |
− | | |
| |- | | |- |
− | | [[Image:NYtopverticalimagetest.png|center|100x100px]] | + | | board.modem |
− | | | + | | Enable/disable GPRS modem |
− | X = 896
| + | | ;Enable modem (IGEPv2 Expansion)<br>=no |
− | | + | | ;Enable modem (IGEPv2 Expansion)<br>=yes |
− | Y = 16512
| |
− | | |
− | Z = -576
| |
− | | |
− | |
| |
− | X = 320
| |
− | | |
− | Y = 8128
| |
− | | |
− | Z = -128
| |
− | | |
− | | | |
− | X = 192
| |
− | | |
− | Y = 4096
| |
− | | |
− | Z = -64
| |
− | | |
− | | | |
− | X = 128
| |
− | | |
− | Y = 1344
| |
− | | |
− | Z = -128
| |
− | | |
| |- | | |- |
− | | [[Image:NYbotverticalimagetest.png|center|100x100px]] | + | | buddy.revision |
− | |
| + | | Enable hardware buddy revision [A or B] |
− | X = -64
| + | | Only for base0010<br>=A |
− | | + | | Only for base0010<br>=B |
− | Y = -15872
| |
− | | |
− | Z = -256
| |
− | | |
− | |
| |
− | X = -512
| |
− | | |
− | Y = -7808
| |
− | | |
− | Z = -384
| |
− | | |
− | | | |
− | X = -64
| |
− | | |
− | >Y = -3840
| |
− | | |
− | Z = -384
| |
− | | |
− | | | |
− | X = -128
| |
− | | |
− | Y = -1216
| |
− | | |
− | Z = -128
| |
− | | |
| |} | | |} |
− |
| |
− | = How to install Qt Creator (under construction) =
| |
− |
| |
− | = How to install Eclipse (under construction) =
| |
gst-launch --gst-debug-level=2 filesrc location=sampleaache.m4a ! TIAuddec1 codecName=aachedec engineName=codecServer ! volume volume=0.25 ! alsasink sync=false
- Followed README file from ISEE - IGEP DSP - GST + DMAI Support Package 3.40.00
gst-launch --gst-debug-level=2 filesrc location=Canon.mp3 ! TIAuddec1 codecName=mp3dec engineName=codecServer ! volume volume=0.25 ! alsasink sync=false
gst-launch --gst-debug-level=3 filesrc location=sample.ra ! rmdemux ! volume volume=0.25 ! alsasink
libgstrtsp-0.10-0-0.10.36-r3.armv7a.rpm:
libgstrtsp-0.10-0
libgstrtsp-0.10.so.0
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
EXTRA_OECONF += "--disable-examples --disable-experimental --disable-sdl --disable-cdaudio --disable-directfb \
gst-launch --gst-debug-level=3 filesrc location=sample.aac ! faad ! volume volume=0.10 ! alsasink
gst-launch -v filesrc location=sample.ogg ! oggdemux ! vorbisdec ! audioconvert ! volume volume=0.25 ! alsasink
IGEP Firmware Yocto uses the following Ethernet network configuration (IP addresses)
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)
The kernel command line syntax is name=value1. These next parameters are supported in igep.ini since IGEP-X_Loader 2.4.0-2: