This guide is for the latest version of Matrix that is included inProcessor SDK Linux. If you are looking for information about the oldMatrix then this can be found at the following link **Previous VersionofMatrix****
When you first boot up a target system which has display device attached(e.g., AM335x, AM437x, and AM57x platforms), Matrix should beautomatically started. Matrix can be either operated by touchscreen ormouse. Default startup for most SDK platforms is touchscreen. Should youencounter any problems below are some tips to get everything runningsmoothly. See **Matrix Startup Debug**
When you boot up a target system without display (e.g., K2H/K2K, K2E,and K2L platforms), Matrix will not be automatically started duringbooting, and onlyRemote_Matrixis available for use after the booting.
Local Matrix refers to Matrix being displayed on a display deviceattached to the target system. The launcher for Matrix is just asimple QT application that displays a Webkit base browser that pointsto the URL :80
With Remote Matrix you can interact with Matrix on your PC, cellphone,tablet, or any device with a modern web browser. You can now launch textbased applications or scripts and have the output streamed back to yourweb browser! Launching a gui application from Matrix requires you tostill look at the display device connected to the target system.
Now in either local or remote Matrix go to the Settings directory andclick on and then run the Refresh Matrix application. This will deleteall the cache files that Matrix generates and regenerates all the neededfiles which will include any updates that you have made.
Now in either local or remote Matrix go to the Settings directory andclick and then run the Refresh Matrix application. This will delete allthe cache files that Matrix generates and regenerate all the neededfiles which will include any updates that you have made.
Other power examples are provided which may be useful for powermanagement developers and power users. These have been included inMatrix in part to make users aware that these valuable debugging toolsexist, in addition to the convenience of executing each application fromthe GUI. In depth descriptions for each application follow. Similardescriptions are also given via description pages in Matrix, which willbe displayed when clicking the button. Where appropriate, thedocumentation will point out the corresponding command line operation.
Please note that the order of applications which appear on your screenmay differ from the picture below, due to devices with different screensizes, and differences between different versions of Matrix. Screen shotis from SDK 06.00.
The SmartReflex driver requires the use of either the TPS65217 orTPS65910 PMIC. Furthermore, SmartReflex is currently supported only onthe ZCZ package. Please note that SmartReflex may not operate on AM335xsample devices which were not programmed with voltage targets. Todisable SmartReflex, type the following commands at the target terminal:
Certain systems are unable to scale voltage, either because they employa fixed voltage regulator, or use the ZCE package of AM335x. Withoutbeing able to scale voltage, the power savings enabled via DVFS arelost. This is because the current version of the omap-cpufreq driverrequires a valid MPU voltage regulator in order to operate. The purposeof this DFS feature is to enable additional power savings for systemswith these sort of limitations.
When using the ZCE package of AM335x, the CORE and MPU voltage domainsare tied together. Due to Advisory 1.0.22, you are not allowed todynamically modify the CORE frequency/voltage because the EMIF cannotsupport it. However, to achieve maximum power savings, it may still bedesirable to use a PMIC which supports dynamic voltage scaling, in orderto use Adaptive Voltage Scaling (aka SmartReflex or AVS). Thisimplementation of DFS does not affect the ability of AVS to optimize thevoltage and save additional power.
The patch presented here has been developed for and tested on the SDK05.07. It modifies the omap-cpufreq driver to operate without requiringa valid MPU voltage regulator. From a user perspective, changingfrequency via cpufreq is accomplished with exactly the same commands astypical DVFS. For example, switching to 300 MHz is accomplished with thefollowing command:
This patch, which was developed against the u-boot source tree from theSDK 05.07, configures the bootloader to statically program the system toCORE OPP50 voltage (0.95V) and frequencies. It also configures the MPUto OPP50 voltage (0.95V) and frequency (300MHz). DDR2 is configured withoptimized timings to run at 125MHz.
Standby for AM335x is a inactive (system suspended) power saving mode inwhich the power savings achieved would be lesser than that achievedthrough DeepSleep0 mode but with lesser resume latency and additionalwake-up sources.
Multimedia codecs on ARM based platforms could be optimised for betterperformance using the tightly coupled**Neon** co-processor. Neonarchitecture works with its own independent pipeline and register file.Neon technology is a 128 bit SIMD architecture extension for ARMCortex-A series processors. It is designed to provide acceleration formultimedia applications.
On AM57xx processor, ARM offloads H.264, VC1, MPEG-4, MPEG-2 and MJPEGcodecs processing to IVA-HD hardware accelerator. Please refer toAM57xx MultimediaTrainingguide to learn more on AM57xx multimedia capabilities, demos, softwarestack, gstreamer plugins and pipelines. Also refer to AM57xx GraphicsDisplay Getting StartedGuideto learn on AM57xx graphics software architecture, demos, tools anddisplay applications.
Processor SDK includes ARM based multimedia using opensource GPLv2+FFmpeg/Libav codecs, the codec portfolio includes MPEG-4, H.264 forvideo in VGA/WQVGA/480p resolution and AAC codec for audio. Codecportforlio for Processor SDK on AM57xx device is listedhere
The multimedia pipeline is constructed using gst-launch, GStreamerelements such as qtdemux is used for demuxing AV content. Parsers areelements with single source pad and can be used to cut streams intobuffers, they do not modify the data otherwise.
Audio/Video data can be streamed from a server using souphttpsrc. Forexample to stream audio content, if you set-up an apache server on yourhost machine you can stream the audio file HistoryOfTI.aac located inthe files directory using the pipeline
FFmpeg libraries include LGPL, GPLv2, GPLv3 and other license basedcodecs, enabling GPLv3 codecs subjects the entire framework to GPLv3license. In the Sitara SDK GPLv2+ licensed codecs are enabled. EnablingAdditional details of **legal andlicense** of these codecs can be foundon the FFmpeg/libav webpage.
Starting with version 05.05.01.00, mp3 and mpeg2 codecs are no longerdistributed as part of the SDK. These plugins can be re-enabled by theend user through rebuilding the gst-plugins-ugly package. The followinginstructions have been tested with gst-plugins-ugly-0.10.19 which can befound at**gstreamer.freedesktop.org**.Note that these instructions will work for any of the gstreamer pluginpackages found in the sdk.
Camera example application demonstrates streaming of YUV 4:2:2 paralleldata from Leopard Imaging LI-3M02 daughter card with MT9T111 sensor onAM37x EVM. Here, driver allocated buffers are used to capture data fromthe sensor and display to any active display device (LCD/DVI/TV) in VGAresolution (640x480).
Smart sensor modules have control algorithms such as AE, AWB and AF areimplemented in the module. Third parties like Leopard Imaging and E-ConSystems provide smart sensor solutions for OMAP35x/AM37x Rev G EVM andBeagle Board. SDK 5.02 integrates support for LI-3M02 daughter cardwhich has MT9T111 sensor, the sensor is configured in 8-bit YUV4:2:2mode. LeopardImagingdaughter card LI-3M02 can be ordered from their website.
LI-3M02 daughter card is connected to the 26-pin J31 connector on theEVM. 24MHz oscillator on the LI daughter card is used to drive thesensor device, alternatively camera clock output generated by processorISP block can be used to drive the sensor pixel clock. Horizontal sync(HS) and vertical sync (VS) lines are used to detect end of line andfield respectively. Sensor data line CMOS D4:D11 are connected to theprocessor D4:D11.
This lab is going to give you a hands on tutorial on QT, the GUIdevolpment tool, which is a component of the Sitara SDK. Each of thefollowing sections below will walk you through a particular Labexercise, the key points to take away, and the step-by-stepinstructions to complete the lab. The labs in this section willutilize both a command line build approach and a IDE approach using QTCreator.
The following are the hardware and software configurations for this lab.The steps in this lab are written against this configuration. Theconcepts of the lab will apply to other configurations but will need tobe adapted accordingly.
NOTEThe AM335x EVM uses a standard DB9 connector and serial cable. NewWin7 based Host PCs may require a USB-to-Serial cable since newerlaptops do not have serial ports. Additionally, since the serialconnection is not required for these labs, you can telnet or sshinto the target over ethernet instead of using a serial terminal fortarget interaction.
IMPORTANTBy bringing QT Creator up manually, you will pass in theenvironment setup. If you double click on the Qt Creator Icon fromthe Desktop, you will not have the enviroment setup correctly andyour lab will not work later on.
IMPORTANTYou can find pre-written files in the in the/home/sitara/sitara-training-helper-files/QT_Lab/lab2directory. You can just copy those files to your directoryinstead of typing the contents if you want to
NOTENotice how all four keyboard files are now part of the Terminalproject. Click on the keyboard.ui and take a look. It ismade up mainly of QPushButtons and one QLineEdit and layoutcontrols
NOTEThis is the QT application which displays matrix for all Sitaraplatforms. As you can see it uses a QWebView just like we did inthe Terminal Enhancements Lab. The main differences are that youpass in the url as an argument, and all window framing wasremoved.
b37509886e