i.MX处理器知识库

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

i.MX Processors Knowledge Base

讨论

排序依据:
1. Making information easier for our members to find, and make the community more effective: If you submit a discussion and it is a question, check the “Mark this discussion as a question” box when you are creating the discussion. This will highlight the discussion as a request for help. Acknowledge a reply as “Answer” when it answers your question, or identify it as “Helpful” if a reply was helpful. This will recognize the members who are taking the time to help other members. Select applicable categories when entering your discussions. This makes it easy to filter on and view related content in the “Content” tab. Tag everything. This helps surface the most relevant search results and it helps to bring appropriate content to your “What Matters” Activity stream. 2. Getting FSL help: Even though you can have and use multiple accounts in the community, It is generally good practice to use a single account.  Furthermore, it behooves community members to use your primary Freescale.com account when submitting community questions.  This allows Freescale support to see more information about you that you may not expose in your community profile, such as your company name and location.  This information helps us to assign the proper support resources to your issue.
查看全文
Introduction This guide provides a step by step explanation of what is involved in adding a new WiFi driver and making a new WiFi card work well in a custom Android build. (This guide was written for Android 4.1 but should be applicable to previous Android releases and hopefully future releases.) Contents Understand how Android WiFi works Port WiFi driver. Compile a proper wpa_supplicant in your BoardConfig.mk Modify your wifi.c in HAL. Launch wpa_supplicant and dhcpcd services in init.rc. Several debug tips. Understand How Android WiFi Works As the following figure, Android wireless architecture can be divided into three parts: Java Framework(WifiManager, WifiMonitor etc..), HAL(wifi.c,wpa_supplicant,netd) kernel space modules(wireless stack, wifi drivers) Java Framework communicate with wpa_supplicant using native interface (wifi.c). Wpa_supplicant and netd uses wireless extension or nl80211 to control WiFi drivers. Port WiFi driver Usually WiFi driver is provided as a kernel module. There are mainly two types of Android WiFi architecture:nl80211 and wext. With the implementation of nl80211/cfg80211 many wireless drivers in main line kernel  support nl80211 interface instead of wireless extension. For different vendors’ WiFi drivers, writing one Android.mk to add its compile into Android is what you should do. Here take atheros’s AR6kl as an example: ath6kl_module_file :=drivers/net/wireless/ath/ath6kl/ath6kl_sdio.ko $(ATH_ANDROID_SRC_BASE)/$(ath6kl_module_file):$(mod_cleanup) $(TARGET_PREBUILT_KERNEL) $(ACP)         $(MAKE) -C $(ATH_ANDROID_SRC_BASE) O=$(ATH_LINUXPATH) ARCH=arm CROSS_COMPILE=$(ARM_EABI_TOOLCHAIN)/arm-eabi- KLIB=$(ATH_\ LINUXPATH) KLIB_BUILD=$(ATH_LINUXPATH)         $(ACP) -fpt $(ATH_ANDROID_SRC_BASE)/compat/compat.ko $(TARGET_OUT)/lib/modules/         $(ACP) -fpt $(ATH_ANDROID_SRC_BASE)/net/wireless/cfg80211.ko $(TARGET_OUT)/lib/modules/ include $(CLEAR_VARS) LOCAL_MODULE := ath6kl_sdio.ko LOCAL_MODULE_TAGS := optional LOCAL_MODULE_CLASS := ETC LOCAL_MODULE_PATH := $(TARGET_OUT)/lib/modules LOCAL_SRC_FILES := $(ath6kl_module_file) include $(BUILD_PREBUILT) Compile a proper wpa_supplicant in your BoardConfig.mk In Android’s external directory, there are two wpa_supplicant_* projects. For wext-based wifi driver, wpa_supplicant_6 can be used. For nl80211-based WiFi driver, wpa_supplicnat_8 can only be used. But if WiFi vendors supply their own customized wpa_supplicant, it will be much easier to debug the communication between wpa_supplicant and WiFi drivers. No matter which supplicant  you choose, just control their compile in your BoardConfig.mk. Take atheros’s ath6kl as an example: ifeq ($(BOARD_WLAN_VENDOR),ATHEROS) BOARD_WLAN_DEVICE                        := ar6003 BOARD_HAS_ATH_WLAN                      := true WPA_SUPPLICANT_VERSION                  := VER_0_8_ATHEROS WIFI_DRIVER_MODULE_PATH                  := "/system/lib/modules/ath6kl_sdio.ko" WIFI_DRIVER_MODULE_NAME                  := "ath6kl_sdio" WIFI_DRIVER_MODULE_ARG                  := "suspend_mode=3 wow_mode=2 ar6k_clock=26000000 ath6kl_p2p=1" WIFI_DRIVER_P2P_MODULE_ARG              := "suspend_mode=3 wow_mode=2 ar6k_clock=26000000 ath6kl_p2p=1 debug_mask=0x2413" WIFI_SDIO_IF_DRIVER_MODULE_PATH          := "/system/lib/modules/cfg80211.ko" WIFI_SDIO_IF_DRIVER_MODULE_NAME          := "cfg80211" WIFI_SDIO_IF_DRIVER_MODULE_ARG          := "" WIFI_COMPAT_MODULE_PATH                  := "/system/lib/modules/compat.ko" WIFI_COMPAT_MODULE_NAME                  := "compat" WIFI_COMPAT_MODULE_ARG                  := "" endif then you need to provide a proper wpa_supplicant.conf  for your device. wpa_supplicant.conf  is very important because the control socket for android is specified in this file(ctrl_interface=). This file should be copied to /system/etc/wifi. Minimum required config options in wpa_supplicant.conf : There are two different ways in which wpa_supplicant can be configured, one is to use a "private" socket in android namespace, created by socket_local_client_connect() function in wpa_ctrl.c and another is by using a standard UNIX socket. Android private socket ctrl_interface=wlan0 update_config=1 - Unix standard socket ctrl_interface=DIR=/data/system/wpa_supplicant GROUP=wifi update_config=1 Modify your wifi.c in HAL Here what you should do is modifying some codes like wifi_load_driver and wifi_unload_driver. For Broadcom or CSR’s wifi driver, you can directly use the original wifi.c. But for atheros’s ath6kl driver, there are total three  .ko modules to install. So some micro variables and codes need to be changed to adapt it. Launch wpa_supplicant and dhcpcd services in init.rc If you have configured to use android private socket, you should do like this: service wpa_supplicant /system/bin/wpa_supplicant -Dwext -iwlan0 -c / data/misc/wifi /wpa_supplicant.conf socket wpa_wlan0 dgram 660 wifi wifi disabled oneshot or if you have configured to use unix standard socket, you should do like this: service wpa_supplicant /system/bin/wpa_supplicant -Dwext -iwlan0  -c/data/misc/wifi/wpa_supplicant.conf disabled oneshot If WiFi driver is not “wext” but “nl80211”, you should change it to –Dnl80211. For dhcpcd, you should lunch it like the following: service dhcpcd_wlan0 /system/bin/dhcpcd -ABKL     class late_start     disabled oneshot The parameters “-ABKL” can largely enhance wifi connection speed.  About what “ABKL” stand for, you can refer to dhcpcd’s GNU manual. Several debug tips Incorrect permissions will result in wpa_supplicant not being able to create/open the control socket andlibhardware_legacy/wifi/wifi.c won't connect. Since Google modified wpa_supplicant to run as wifi user/group the directory structure and file ownership should belong to wifi user/group (see os_program_init() function in wpa_supplicant/os_unix.c ). Otherwise errors like: E/WifiHW  (  😞 Unable to open connection to supplicant on "/data/system/wpa_supplicant/wlan0": No such file or directory will appear. Also wpa_supplicant.conf should belong to wifi user/group because wpa_supplicant will want to modify this file. How to Enable debug for wpa_supplicant.               By default wpa_supplicant is set to MSG_INFO that doesn't tell much.                    To enable more messages:                 modify common.c and set wpa_debug_level = MSG_DEBUG                 modify common.h and change #define wpa_printf from if ((level) >= MSG_INFO) to if ((level) >= MSG_DEBUG)         3. WiFi driver’s softmac.               For most vendors’ WiFi driver, the mac address is fixed. We should add one softmac rule to let WiFi driver’s mac is unique for each board.
查看全文
This ppt provides a tutorial about how to add 24bit LVDS support in Android for iMX6QD.
查看全文
Instruction On Linux OS, we have two major audio system API to play/record audio pcm, alsa-lib and pulseaudio. Pulseaudio is in Freescale Ubuntu root fs release, while alsa-lib is used by default in LTIB release. This article is to tell how to configure alsa-lib by configuration file. Architecture Alsa-lib has a set of standard API which allows application to develop easily. At the same time, it provides a scalable mechanism to fulfill its features, including resample, channels remix, sound mixing from different applications, and so on. As above figure describes, alsa plugin provide fundamental function, and the whole pipeline makes customization possible. Alsa-lib API pretend to be an alsa device and provide a name for caller to open. What kind of plugin the name represents for is decided by configuration. For example, pcm.card0 {    type hw    card 0 } card0 is the fake alsa device name, with type hw, which represents for the first real alsa device. pcm.plug {     @args [ SLAVE ]     @args.SLAVE {         type string     }     type plug     slave.pcm $SLAVE } plug is the fake alsa device name, with type plug, which represents for audio conversion processor. In addition, it's also receive arguments from application that make it more flexible. When we call snd_pcm_open(.., "plug:card0",..); in the application, we create a pipeline which will first convert the source pcm to sound card 0 capable pcm if necessary in "plug" plugin, then play it to sound card 0 in "card0" plugin.  "slave.pcm" is the key to link different plugins. The number of arguments could be more than one, with definition pcm.xxx {     @args [ arg1 arg2 arg3 ]     @args.arg1 { type string }     @args.arg2 { type string }     @args.arg3 { type string }     ... } The argument could also have default value, please refer to /usr/share/alsa/alsa.conf. To pass the arguments, use snd_pcm_open(.., "xxx:arg1,arg2,arg3",..); From the name, we can always follow the pipeline to the last plugin, which type might be hw(to alsa driver), file(to file), or others (pulse, bluetooth...) to network, protocol stack and so on. The Configuration Files In configuration file, we mainly define the fake alsa device name. The root configuration file is /usr/share/alsa/alsa.conf, which will load additional configuration files which might overwrite previous name definition in the previously loaded file. The load sequence is: 1. /usr/share/alsa/alsa.conf 2. /usr/share/alsa/alsa.conf.d/* 3. /etc/asound.conf for administrator 4. $(HOME)/.asoundrc for certain user In practice, alsa applications (e.g. aplay or speaker-test) are always using "default" as the fake device name, so that the most important thing to customize your own pipeline is to overwirte "default". For example, pcm.dmix_44100{     type dmix     ipc_key 5678293     ipc_key_add_uid yes     slave{         pcm "hw:0,0"         period_time 10000         format S16_LE         rate 44100     } } pcm.!default{     type plug     route_policy "average"     slave.pcm "tee:dmix_44100,/home/wayne/a.pcm" } The "!" in "pcm.!default" means forcing overwrite. The pipeline defined above is as following figure: The next example is the "default" definition on ubuntu root fs. pcm.!default {     type pulse     hint {         show on         description "Playback/recording through the PulseAudio sound server"     } } The only alsa plugin is "pulse", and the pipeline is as following: Additional Resources There are a lot of alsa plugins developed, with various configuration parameters, I won't list them in detail. Please refer to .asoundrc - ALSA wiki for more details.
查看全文
System Memory Usage and Configuration Introduction This document describes i.MX android memory usage, layout and configuration for the entire system. Total DDR memory usage When i.MX Android is running, the DDR memory will be used by the following components: Linux Kernel reserved space, including: kernel text, data section and initrd kernel page tables       Normal zone space managed by kernel’s MM (high memory zone is also included) Used by application by brk() or malloc() in libc Used by kernel by mm api, like: kmalloc, dma_alloc, vmalloc       Reserved memory for GPU drivers, used by GPU libs, drivers Android surface view, normal surface buffers VPUs working buffer and bitstream (we allocate the VPU buffer from GPU driver to make a unify method of allocation) Reserved space for framebuffer BG triple buffers Framebuffer display are always required to have triple and large buffers       Memory layout The following diagram shows the default memory usage and layout on i.MX6Q/DL platform. Memory configuration According to different type of product and different hardware configurations (ddr size, screen resolution, camera), customer may do some configurations to the memory layout and usage to optimize their system. Some memory reservation can be configured by command line or modifying the code. The kernel reserved space cannot be adjusted. It is controlled by the kernel and the Normal zone size and it depends on the total DDR size and the reserved spaces. Reserved GPU memory size can be adjusted by adding "gpumem=" parameters in kernel commandline. It's size is highly depends on the screen resolution, the video stream decoding requirement and the camera resolution, fps. gpumem=<size>M Reserved memory size for BG (background) framebuffer can be configured by command line fbmem=<fb0 size>,<fb2 size>,<fb4 size>,<fb5 size> For example: If you have two display devices, one is XGA LVDS, the other is HDMI 1080p device (default 32bpp), you have to specify the BG buffer size for them: fbmem=10M,24M The size is calculated by xres*yres*bpp*3: 10M ~= 1024x768x4(32bpp)x3(triple buffer) 24M ~= 1920x1080x4(32bpp)x3(triple buffer)
查看全文
U-Boot 2009.08 (Sep 24 2011 - 22:18:53) CPU:   Freescale i.MX53 family 2.1V at 800 MHz mx53 pll1: 800MHz mx53 pll2: 400MHz mx53 pll3: 432MHz mx53 pll4: 455MHz ipg clock     : 66666666Hz ipg per clock : 33333333Hz uart clock    : 66666666Hz cspi clock    : 108000000Hz ahb clock     : 133333333Hz axi_a clock   : 400000000Hz axi_b clock   : 200000000Hz emi_slow clock: 133333333Hz ddr clock     : 400000000Hz esdhc1 clock  : 80000000Hz esdhc2 clock  : 80000000Hz esdhc3 clock  : 80000000Hz esdhc4 clock  : 80000000Hz nfc clock     : 26666666Hz Board: MX53-LOCO 1.0 Rev. A Boot Reason: [POR] Boot Device: SD I2C:   ready DRAM:   1 GB MMC:   FSL_ESDHC: 0,FSL_ESDHC: 1 In:    serial Out:   serial Err:   serial da9052_i2c_is_connected - i2c write success.... Serial reinitilized! Net:   got MAC address from IIM: 00:04:9f:01:dc:48 FEC0 [PRIME] Hit any key to stop autoboot:  2     1     0 Unknown command 'mem=64M' - try 'help' FEC: enable RMII gasket PHY indentify @ 0x0 = 0x0007c0f1 Using FEC0 device TFTP from server 192.168.0.50; our IP address is 192.168.0.150 Filename 'uImage'. Load address: 0x70800000 Loading: * FEC: Link is down 7809 FEC: Link is down 7809 FEC: Link is down 7809 FEC: Link is down 7809 FEC: Link is down 7809 FEC: Link is down 7809 FEC: Link is down 7809 FEC: Link is down 7809 FEC: Link is down 7809 #################################################################   #################################################################   #################################################################   #################################################################   #################################################################   #################################################################   #################################################################   #################################################################   #################################################################   ######################### done Bytes transferred = 3121348 (2fa0c4 hex) ## Booting kernel from Legacy Image at 70800000 ...    Image Name:   Linux-2.6.35.3-g4b94fa6-dirty    Image Type:   ARM Linux Kernel Image (uncompressed)    Data Size:    3121284 Bytes =  3 MB    Load Address: 70008000    Entry Point:  70008000    Verifying Checksum ... OK    Loading Kernel Image ... OK OK Starting kernel ... Éñ)Áä)Éùñ&æ'ÑÎޝÔÑ,ÂÅÄæ—X;Ù!É!ÉÑ/6ç)1)å/6ç)1)éäé×Þöæùé$ä4ÉE,ØØ ì)ÉùñÆäÌ/à&öÄ6Ex ä))á) )ÉEÐ,1'ù))É4é×/ÜØ1æÉô–ÉÉ É!)&ö ÖÑŽ0ÑEÑdÎvÀE¥¡…e%¥@9E—»@¥\ á¡QfÎ=à±&ôQ YÔ–À™$ÔÁ))Ï )/' ù)ù6 'ä1ÔÔ fÞ1ìÉÉùñÖE $éÅ—'Ø6Üá4—'ÌØ'.w”)öæ)–”Àyùñ á É Éñ9Æ—XzÁ4—XØèÉá‘)& ! f××XîÑ Éñ9×Üöä)!Éùñ4—XØèÉéˆp'ÁÁÉñ)Ñ™(Ü1É á )Ö—çÄÔÔÐÈAß !éˆ0'ÉéùÉùáÉÉÑQ(ÐÐ ÈÉ á)!á(0è 4—XØèÉôÉ!) ÙéˆpÐ9Ñá!‘_×.wÑ! È]ßñ)ôÞæÉáQר4ØÉ!ÉôÜ×/žÙq9ö,,ˆ (ù! á 9)ÑYf'ÌìedpÑ1äñ)á4—×××XïÈÆ×]wÉÑY ×.7ù±ÄÖˆØ×Ü×.è!ÉéÁÆÑŽé‘‘^×/,Üöñ)éä,Þ Ñé$äÑÎwðyäÑÎàÙ$æÑŽwðqäÑ'ö…$äÑÎwðqäÑÎ=ä¥ÖæÌé y$ÖÔäŽ=öÑö,,ÑñÉ!éöÑÞaÑñù×]zÀ‘ùù!éô,/.Ü Ü1ùù!é&äÑÎwðyæÑ'˜ô}×××,Ñ/6ç)1)ùæ.Üyßù!ù×_ sçáä×××ØÙ æ9éÈ0(!2ºÁÁÄ á)Ö/Þ4ÉÑ™fîÑÜÆÉÑQÌ.À…&Ä™\<è)ÉÖÁ )ñ!É6—XØèÉ×XÜèÀ¡ á)Ö/Þ4ÉÑ gñ™EÜæÉÑÑfÀ&öä‘\<è)ÉÖÁñù!)é4—XØèÉ×XÞèÀ¡ á)Ô/Ü6ÉÑ'˜ñ¹EÜÆÉÑ‘FÀ…ä6Ä™\<è)ÉÔÁ )éùÉÑ™'¢ ì¡ÔÐ èù! áéˆ0'ÉéùÉÑY'ð…&4×Ñ'ð…$4È0î Éá á)áQG'Îv×$))1)!á FÑ ÐÉ9Áé)ééÈ0)4æ!) á4×,ÞïÉáÔ×,7ßÉÄ×X<ß)!ÑÔÁÀD/1Ç!ù™gàÁ1111Qˆ0ð1111 dÐD;À]%Ñ ÁÀd,4ðé ‘GàÁ111YÈ0ð111)DÐæÑ]AÑed0À('dÀÙF|ÌÉÔÌ0àQÈ0ð11)DÐYg'%ÑÁÀD/7Áááù&f|ð¡Yˆ 0ð1!dÐ…öÄYÐQÌ ÀÆ××/7Éé‘GàÁÁYÈ0ðÁÄDБ'@eE”‹YŒ ÀÙé DÏ àÁ9æ—,˜àQÈ0ðÁdÐdÎ % ÑÁÀD7ß!)á)&f|ï9Yˆ0ð9ä—,àdÐQF;ÀeE”‹YÌ ÀDÑ]wÑ!$F|ðYÈ0ðÁ44DÐô&Ñ]AÑedpÀdÜ¡)Á!&f|ð 64Yˆ0ðÁ6dÐÁ&äÙ]AÑeDpÀDÞ! ! $F|ðäQÈ0ðÁ$—ØÎ0àdÀæÑ]AÑeDpÔŽ)EÑ(1Üá é ÄÈÈ/ áÉ9ñé4&ÆÈÞæÉéÖÑÎ.Àe%רeÉ!éĈÐP)éÆˆß!)éÔÁÉ) ÁÉ á$é()ÀEéá)é)ñ! ! ÉùññÖÁ‘e”)Ä )!Æ—.œÅ!Éùñö.ç! áá)!4”)ç×Þ ÈÉ á)!ñÔÁ¹¥Þaß)4! áá)!é6”) çÄ—,œÅ!Éùñ×Þ ÈÉ á)!ñÖÁé)Ö('Ñ4äÖÁÁé()ÔˆèÁ!9 )éˆ0'0¢¢²…²ºîÑ!É áÉÑ)!éÈ0 '0å)(0äáÉ6)É á6—×Þ×,Á!ÔÖÔQÈ0ð)4æØØ0àE^zÑùñöYFé‘öQEg—×/Ø×Ü×.7!!ÉéÁÔ f1Þ á )!éÈðùñùá)ÑÙ\××/Ü È)ééÉÄ—./6Ç)ÔÁ áÉ !Éñ9Ä—,wÁÉÆ××^/ÞqññÅæ'Ì ù9ùé%–Ö ÐaÑéÄö&ÑÁàÉ!ù)×X|öÆ—.,0éá!ÑÑfÎ''žÀeÉñÉé)éÑÙFáedðù)ñ!é4—XØèÉ×XÞèÀ¡ á)Ô/Ü6ÉÑ Y'äedð))Ï ()!Éñ9öÉ!)$—/.,1ä4—]1ä)ñÉÑùßÙéÈðæ)9)á !ùÑÑ\Ü1À±)ÉùñæÑ'ÿ)…%Ï $)9É!))!ù! ùùáæ—X7ÑáÉäÔÁÑñÖ—`EE¥ ùùáÑYFÌ8À]EP0ðÁÆÄÖÁ)('À‘¥”PB1éˆðùe”É%ÖY&É%ÔQ$É%ÖÙY_ØÉ.×XqÈ ù)×]zYü))ÑÑ—ç$),/4çÉùñ&äÑ·ÔÖÐÉ%ÔQ$É%ÖY&É%ÔÑQ_çý…×ר×)××)×]zQü)Éñ94 ('ÑPPéˆð Áé( é%È  É¢ºîÑ!É áÉÑ)!éˆðé F9çô Ù))ù)éˆðé F9çô Ù))ù)éÈðÄÉùÑÑ\qÉ ! )4á Æ$—»ïفäQ\zÀÔÁ'e¥²@)É!)é×]zÑ áÉÑ)!éÈð)) á)Ôé%Ð !é( É1)Æ××XbÉ!á&Ô1 ìÉÉùñÑQfÑ'À!ÔÁQÉ%ÖQ&É%ÔY$É%ÖQ&É%ÔY$É%ÖQ&É%ÔY$ˆÏ!)ÖÐ!ÀQ$É%ÖQ&É%ÔY$É%ÖQ&É%ÔY$É%ÖQ& É%Y\K×/Ð 1)4))ñÆÁÉä×/4Ç)—Þ ñù)×X{ÉÔ×XaØ)!ô)(ÈÉ1)æ—Ü ÙÁ)6ÔÔЈaß !éˆp(Ü Ù Á)4×רÈaß !á/vÉö)(Î)ñ!Éùñ×Ü éñ 1 Éá á)Ä—/1À¡ù×XyÈ9 )Ä×]7Ñ! ! ÉùñéÈpÖˆ×_ ßñ)Öä—/רöÑùñ.1ìÉ)ôÜ Ðù!ÉÙ\0Þ$—,Á1 Éá á)æ—Ü Ç)! Éñ××X,1Y JvÉ )4—.4Ïù)6×.ÜïÉáÆùÆ—»ãá)ö)(Áñ!ÄÁ)Öæ—/רöÑùñù)Æ—×$œ@œ ñ!ÆùÖ)éˆp Ü!&)é É ñÄÁ)ô/vÉÔä—/רöÑùñù)ôù)á!Æ×]Ù1À¡ùÔ)éˆ0G”.wß9ô)(Çùñ1É96Áù)á!$—,ä)éù1)!ÑÔÁùÅ($ù)— Ðé)(Àå($ù))ÔA?ù…¥(—ÁÁùù)ö×,ß1&—.wß94—,6Ïä—Ü Ðù!öÞ È)1É)æ—/רöÑùñéÈ0Ð9èÆ–È! f Øèßù)ÄÁ)éÄù9)!Á)éÈ0÷)(Ðù!4—.4ÏéÈ0Ð(&ù))ÖA?)ÖÐ&? E¥Ðé)(—Á!é(È)1É)6—.4ÏéÈ0Ð(&ù))ÖA ?9%((!(éˆpÿéù)Ñ‘^1ÏÉ!))!ä×./Ññ!)1 )ÆÞ4ì)Ö1éˆðéù)Ñ‘^1ÏÉ!))!ä×,/Ññ!)1 ) ÆÞ4î)×/Øÿéù)Ñ‘^1ÏÉ!))!æ×./È)1É)ÆÜ6ì)ÔéÈðÈ ÉÔ$ö)ÌØ)×Üé.×,ØöÉ!ÔÈ6ä&) ! 4))ñæÑÁä)9)á !ùÑ( ñÔ$ö (ÔŽ=À±ÔÑQfàY)Á!4Q)Þùé áÔÁä)9)á !ùÑ( ñÔ $ö (Î=À±ÔÑYfàQ)Á!4Q)Þùé áÔÁä)9)á !ùÑ( ñÔ$ö (ÔÎ=À…ô$ÖÖÑÙFÌ0à Ô)Á!44Y)Üùé áÖÁä)9)á !ùÑ( ñÔ$ö ('Ï áœ$ÖÖÑÙFÌ0àÔ)Á!$ôöÔY)Üùé á ÖÁä)9)á !ùÑ( ñÔ$ö (Ô'Ï á‘ÔÑÙF'˜àÔ)Á!4Q)Þùé áÔÁä)9)á !ùÑ( ñÔ &ö ('Ï á™ÖÑÑF'˜àÔ)Á!6Y)Üùé áÖÁæ)9)á !ùÑ( ñÖ$ô (Ö'Ï á‘Ô ÑÙf'àÔ)Á!&ôÔQ)Þùé áÔÁä)9)á !ùÑ( ñÔ$ö (=À…$ÖÑÙF'˜àÔ)Á!Y)Üùé á ÖÁæ)9)á !ùÑ( ñÖ&ô (ÖÏ=À…&ÖÔÑÑf'àÖ)Á!ÖQ)Üùé áÔÁæ)9)á !ùÑ( ñÖ &ô (ÖÎ0ö&ÔÑÙf'˜àÔ)Á!4Q)Þùé áÔÁä)9)á !ùÑ( ñÔ$öÉ()Ùåé(Ô!ôÔÖÑ™F˜ï¥Q)Á! &ÖY)Üùé áÖÁæ)9)á !ùÑ( ñÖ&ôÉ()Ùå %ÔÏ éÖÑ‘F˜ï¥Y)Á!6Y)Üùé á ÖÁä)9)á !ùÑ( ñÔ&öÉ()Ùå)Ô('ô$ÖÖÑ™FàQ)Á!ÔY)Üùé áÖÁä)9)á !ùÑ( ñÔ&öÉ()Ùå ¥ ¡¢EEQfàÔÑÑf'àÖ)Á!äôÖQ)Þùé áÔÁ  %Ô4Ù\ìÑ(æ)9$) !é 1GÐ ì)Éùñù)!éÈð) ),!%ÈYÉ9ÔG;ð1ÔÁ))é"Ô1ÏÖg;ðÁæÖÁ))2Ö1ÏÔG;ðÁŒ0àedp$ ) F$ é%”Ð $)9ÔG;ðÁÔÌ0àeDð))  F Ô1ÏÖg;ðÅ$ÖÁ)) "Ô1ÏÖg;ðÅæÖÁ)) éŔР&)9Ög;ðÅŒ0àeDp$ ) FC™J1ÏÔG;ðÅÖÌ0àed𑁥%˜ É% #ÈYÉ9ÔG;ðÔÁÀE¥¥@¥(Ð $)9ÔG;ð1ÔÁ)))Ž $)9ÔG;ð ÔÁ)))ÔŽ &)9Ög;ð)ÖÁ)))Ö,7ÀåG;ðÔÁ ))()Ô.7Àåg;ñÖÁ)) 2¥Åeá !)ÔÔ.7Àåg;ñ¡ÖÁ)) Éá É$),.4ßñYÔ.7Àåg;ðÔÁÑ)ùé.w×Ö‘fàÔ Á)) éŔРùE¥£a²»ïÈ)ÑYfàù ÈÁÆÄÑ'ØÖæ‹vØœÑÁ!1 ñ)!ÄÖ]wéÁ6é×/.ÁÉ!)!))ÆÞ4î)æ).ÜÞ 4ßñäÎ/ææÑÁá))!ùù!ÁÑÑXÞ1À±)$äÑÎQü)…%Ï &)9É!))!ù!ùùáä—X7ÑáÉ4ÔÁá))!ùù!ÁÑQÐ&À!)1É), Çùññ)!ÉùñÖ×XïÁ9)×]zÑ áÉÑ)!éˆðá))!ùù!ÁÑQÐ$ÀùÙ)!Æ×X>É×]zÑ áÉÑ)!éÈð'9É!ÁÉñ9 Äù4×רÙÞ×/ÞØ1ÀeÁù /4Ù) ÖÁ)…%Ï $)9É!))!ù!ùùáæ—X7ÑáÉ$ÔÁ fÞ×/œÅ6—XØèÉ×XÞè À¡ á)Ö/Ü6ÉÑQf˜ä¡EÜæÉÑFÀ¡ä™\<è)ÉÔÁ(%É! áÉÁ)!×XÜèÀ¡ á)Ô/Þ4ÉÑ™FèÁEÞæÉ Ñ™fÀ…æ4Æ‘\>è)ÉÔÁ(%ÆÉñ!×XÜèÀ¡ á)Ô/Ü6ÉÑ™FèÁEÞÆÉÑYFÀÁ&‘\>è)ÉÖÁ(%Ï ÁÄ á )4—.4Ï))!Ñ,ÞöÁáÉÁ)!$Æ™\4Þ!$ÆÑÁ(%æ)ñù&)9É!))!éÈð)  FtÁÁÆ á)Ô/Ü6ÉÑ‘FìÑÞÆÉÑFÀ¡ä‘\<è )ÉÖÁ)!¥‹ŒÑ!)×XÞèÀ¡ á)Ô/Ü6ÉÑ‘FìÑÞÆÉÑfÀ¡ä‘\<è)ÉÖÁ)…%Ï &)9É!))!ù!ùùáä—X7ÑáÉÔÁ$ é(Ï &)9É!))!Ö!Æ ñù!Ö×,9Ø)ñÔÁ&é(Ï $)9É!))!ÄÄ ñù!Ô×.9Ø)ñÔÁ&é(Ï $)9É!))!Æä(Ö÷èy ‘\0ÇÙÁ ññ)áÄ ñù!Ö×,9Ø)ñÔÁ)Ö.1À!É1)Ö×,9Ø)Æ××XbÉ!éˆpÖöÁ!Éé×/1æÖÔXïÁ9)é)ñ!ä—Þ )) á )Ñ—Yü é"¹âE1)Ô×.9Ø)Ä××XbÉ!éÈðç! é—/œß9 !Éñ9ÄÞ6î)Ô×.9Ø)Ä××XbÉ!éˆð)æÞ1áÄÜ6ì)Ô×,9Ø )Ä××XrÉ!éÈpBQ]Þ àÉé ÉéˆðÙÁù ,/,Üé.Þ1?ù)éÈð 1É(Ö ÈÉ1)Ö×,9Ø)Æ××XbÉ!éˆðÑñÔ—Ð ))Ì ) ))ñÉÆÜ6ì)éˆð 1É(Ö  )E%ÈÉ1)Ô×.9Ø)Æ××XbÉ!éˆð1Å”Ô9À±)Éùñ&äÌ/ÀAæÔPÏ É‘xÖÀ™ÖÎ0౑ J1ÈÔXzØ×Ø/QüÙ9éñÉ×XÜ Ä))ñ4)!ÄùÔÁÁá9Ñ™ÔÈöÉ!ä—Þ ç!!ñ9ÑÙqÞ9ÉÔÁÇÉ!ù!)1Ñ,Þ4î)Æ××XbÉ!ñ ÖÁÑù4Á)!)á)ä××^ æ)9É!))!éˆp6ß6Á)!)á)Æ—.0ÈáÉñ)$)9É!))!éˆðÑù6Á)!)á)6,8À‘)9É!))!,1Î ) á!ÉÖÁä)9)á !ùÑÙ.1èÁÈ/4èÁä׈4È)ñ!É1É)éÈðÉ6)!!Éñ9á(Ð ÈÉ1)öÉááä×/Ä)Ô×XaØ)!éˆð ÙÁ1ùé/1è)ÑQ×.1À!ÔÔÑXŽ ¥Ñ))( QüÙÁù)^9ÀeÁù)^9ô4»Áyñ)áÜ1Á!ÉÄ—»óá)!ÔÁÙÁù)^9ÀeÁù)^9 ô4»Áqñ)áÜ1Á!ÉÖñÉñÉ!É áÉÑ)!ÔÁùñùá)ÑÙ^/4èÁÉñ9Æù6—××/Ü Ì é)$—/.,1䯗./6Ç) ÔÁÙÁ1ùé/1è)ÑY×,1À!ÔÖ‘)( ÙÁå”PÿÙÁù)^9ÀeÁù)^9ô4»Áqñ)áÜ1Á!ÉÆ—»ãá)!öÖÁÙÁù)^9ÀeÁù)^9 ö6»Áqñ)áÞ1Á!ÉÖñÉñÉ!É áÉÑ)!öÔÁÙÁ1ùé/1è)ё׈7ß!)6!éˆðÙÁù)^9ÀeÁù)^9ô4»Áyñ)áÜ1Á!É Ä—»óá)!ÖÁÙÁù)^9ÀeÁù)^9ô4»Áyñ)áÜ1Á!ÉÔñÉñÉ!É áÉÑ)!ÖÁ')É áÑQ—Ð ñ!)ñ á Ô)(Ö–À!É1)éˆðÙÁÉñ!) !ñ&/œùeÁY\zÀe¥ÔYˆ0ð)4䨨0àE6ä ÖÑfÑ×Ü ÁäÜ1É á)Ñ—ÿcon sole [ttymxc0] enabled, bootconsole disabled console [ttymxc0] enabled, bootconsole disabled mxcintuart.1: ttymxc1 at MMIO 0x53fc0000 (irq = 32) is a Freescale i.MX mxcintuart.2: ttymxc2 at MMIO 0x5000c000 (irq = 33) is a Freescale i.MX mxcintuart.3: ttymxc3 at MMIO 0x53ff0000 (irq = 13) is a Freescale i.MX mxcintuart.4: ttymxc4 at MMIO 0x63f90000 (irq = 86) is a Freescale i.MX loop: module loaded MXC MTD nand Driver 3.0 i.MX GPMI NFC vcan: Virtual CAN interface driver Freescale FlexCAN Driver FEC Ethernet Driver fec_enet_mii_bus: probed ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1 fsl-ehci fsl-ehci.0: irq 18, io base 0x53f80000 fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00 hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2 fsl-ehci fsl-ehci.1: irq 14, io base 0x53f80200 fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00 hub 2-0:1.0: USB hub found hub 2-0:1.0: 1 port detected usbcore: registered new interface driver cdc_acm cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapter s Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. ARC USBOTG Device Controller driver (1 August 2005) mice: PS/2 mouse device common for all mice input: gpio-keys as /devices/platform/gpio-keys/input/input0 MXC keypad loaded egalax_ts 2-0004: request gpio failed:-16 egalax_ts 2-0004: egalax_ts: failed to read firmware version egalax_ts: probe of 2-0004 failed with error -5 p1003_fwv33 2-0041: couldn't read panel infomation. p1003_fwv33: probe of 2-0041 failed with error -5 DA9052 TSI Device Driver, v1.0 da9052_tsi da9052_tsi: da9052_tsi_init_drv: error getting regulator VDD_A input: da9052_tsi as /devices/virtual/input/input1 TSI Drv Successfully Inserted da9052_tsi, 4-wire input: da9052-onkey as /devices/platform/imx-i2c.0/i2c-0/0-0048/da9052-onkey/inp ut/input2 mxc_rtc mxc_rtc.0: rtc core: registered mxc_rtc as rtc0 i2c /dev entries driver IR NEC protocol handler initialized IR RC5(x) protocol handler initialized IR RC6 protocol handler initialized IR JVC protocol handler initialized IR Sony protocol handler initialized Linux video capture interface: v2.00 OVIYA  init_camera_struct   2597 OV5640***: ioctl_s_power on=1    Setting mclk to 24 MHz ov5640_init_mode:write frame_rate=1, frame_rate=0 ov5640_init_mode:write frame rate=1, modee=0 OV5640***: ov5640_init_mode OV5640****: write reg=3103 val=11 ov5640_write_reg:write reg error:reg=3103,val=11 OV5640****: read reg=3103 val=11 OV5640****: write reg=3008 val=82 ov5640_write_reg:write reg error:reg=3008,val=82 OV5640****: read reg=3008 val=2 OV5640****: write reg=3008 val=42 ov5640_write_reg:write reg error:reg=3008,val=42 OV5640****: read reg=3008 val=42 OV5640****: write reg=3103 val=3 ov5640_write_reg:write reg error:reg=3103,val=3 OV5640****: read reg=3103 val=3 OV5640****: write reg=3017 val=7f ov5640_write_reg:write reg error:reg=3017,val=7f OV5640****: read reg=3017 val=7f OV5640****: write reg=3018 val=fc ov5640_write_reg:write reg error:reg=3018,val=fc OV5640****: read reg=3018 val=fc OV5640****: write reg=503d val=0 ov5640_write_reg:write reg error:reg=503d,val=0 OV5640****: read reg=503d val=0 OV5640****: write reg=3034 val=18 ov5640_write_reg:write reg error:reg=3034,val=18 OV5640****: read reg=3034 val=18 OV5640****: write reg=3035 val=11 ov5640_write_reg:write reg error:reg=3035,val=11 OV5640****: read reg=3035 val=11 OV5640****: write reg=3036 val=48 ov5640_write_reg:write reg error:reg=3036,val=48 OV5640****: read reg=3036 val=48 OV5640****: write reg=3037 val=13 ov5640_write_reg:write reg error:reg=3037,val=13 OV5640****: read reg=3037 val=13 OV5640****: write reg=303d val=32 ov5640_write_reg:write reg error:reg=303d,val=32 OV5640****: read reg=303d val=32 OV5640****: write reg=3108 val=1 ov5640_write_reg:write reg error:reg=3108,val=1 OV5640****: read reg=3108 val=1 OV5640****: write reg=3630 val=2e ov5640_write_reg:write reg error:reg=3630,val=2e OV5640****: read reg=3630 val=2e OV5640****: write reg=3632 val=e2 ov5640_write_reg:write reg error:reg=3632,val=e2 OV5640****: read reg=3632 val=e2 OV5640****: write reg=3633 val=23 ov5640_write_reg:write reg error:reg=3633,val=23 OV5640****: read reg=3633 val=23 OV5640****: write reg=3621 val=e0 ov5640_write_reg:write reg error:reg=3621,val=e0 OV5640****: read reg=3621 val=e0 OV5640****: write reg=3704 val=a0 ov5640_write_reg:write reg error:reg=3704,val=a0 OV5640****: read reg=3704 val=a0 OV5640****: write reg=3703 val=5a ov5640_write_reg:write reg error:reg=3703,val=5a OV5640****: read reg=3703 val=5a OV5640****: write reg=3715 val=78 ov5640_write_reg:write reg error:reg=3715,val=78 OV5640****: read reg=3715 val=78 OV5640****: write reg=3717 val=1 ov5640_write_reg:write reg error:reg=3717,val=1 OV5640****: read reg=3717 val=1 OV5640****: write reg=370b val=60 ov5640_write_reg:write reg error:reg=370b,val=60 OV5640****: read reg=370b val=60 OV5640****: write reg=3705 val=1a ov5640_write_reg:write reg error:reg=3705,val=1a OV5640****: read reg=3705 val=1a OV5640****: write reg=3905 val=2 ov5640_write_reg:write reg error:reg=3905,val=2 OV5640****: read reg=3905 val=2 OV5640****: write reg=3906 val=10 ov5640_write_reg:write reg error:reg=3906,val=10 OV5640****: read reg=3906 val=10 OV5640****: write reg=3901 val=a ov5640_write_reg:write reg error:reg=3901,val=a OV5640****: read reg=3901 val=a OV5640****: write reg=3731 val=12 ov5640_write_reg:write reg error:reg=3731,val=12 OV5640****: read reg=3731 val=12 OV5640****: write reg=3600 val=8 ov5640_write_reg:write reg error:reg=3600,val=8 OV5640****: read reg=3600 val=8 OV5640****: write reg=3601 val=33 ov5640_write_reg:write reg error:reg=3601,val=33 OV5640****: read reg=3601 val=33 OV5640****: write reg=302d val=60 ov5640_write_reg:write reg error:reg=302d,val=60 OV5640****: read reg=302d val=60 OV5640****: write reg=3620 val=52 ov5640_write_reg:write reg error:reg=3620,val=52 OV5640****: read reg=3620 val=52 OV5640****: write reg=371b val=20 ov5640_write_reg:write reg error:reg=371b,val=20 OV5640****: read reg=371b val=20 OV5640****: write reg=471c val=50 ov5640_write_reg:write reg error:reg=471c,val=50 OV5640****: read reg=471c val=50 OV5640****: write reg=3a18 val=0 ov5640_write_reg:write reg error:reg=3a18,val=0 OV5640****: read reg=3a18 val=0 OV5640****: write reg=3a19 val=f8 ov5640_write_reg:write reg error:reg=3a19,val=f8 OV5640****: read reg=3a19 val=f8 OV5640****: write reg=3635 val=1c ov5640_write_reg:write reg error:reg=3635,val=1c OV5640****: read reg=3635 val=1c OV5640****: write reg=3634 val=40 ov5640_write_reg:write reg error:reg=3634,val=40 OV5640****: read reg=3634 val=40 OV5640****: write reg=3622 val=1 ov5640_write_reg:write reg error:reg=3622,val=1 OV5640****: read reg=3622 val=1 OV5640****: write reg=3c01 val=34 ov5640_write_reg:write reg error:reg=3c01,val=34 OV5640****: read reg=3c01 val=34 OV5640****: write reg=3c04 val=28 ov5640_write_reg:write reg error:reg=3c04,val=28 OV5640****: read reg=3c04 val=28 OV5640****: write reg=3c05 val=98 ov5640_write_reg:write reg error:reg=3c05,val=98 OV5640****: read reg=3c05 val=98 OV5640****: write reg=3c06 val=0 ov5640_write_reg:write reg error:reg=3c06,val=0 OV5640****: read reg=3c06 val=0 OV5640****: write reg=3c07 val=8 ov5640_write_reg:write reg error:reg=3c07,val=8 OV5640****: read reg=3c07 val=8 OV5640****: write reg=3c08 val=0 ov5640_write_reg:write reg error:reg=3c08,val=0 OV5640****: read reg=3c08 val=0 OV5640****: write reg=3c09 val=1c ov5640_write_reg:write reg error:reg=3c09,val=1c OV5640****: read reg=3c09 val=1c OV5640****: write reg=3c0a val=9c ov5640_write_reg:write reg error:reg=3c0a,val=9c OV5640****: read reg=3c0a val=9c OV5640****: write reg=3c0b val=40 ov5640_write_reg:write reg error:reg=3c0b,val=40 OV5640****: read reg=3c0b val=40 OV5640****: write reg=3820 val=41 ov5640_write_reg:write reg error:reg=3820,val=41 OV5640****: read reg=3820 val=41 OV5640****: write reg=3821 val=7 ov5640_write_reg:write reg error:reg=3821,val=7 OV5640****: read reg=3821 val=7 OV5640****: write reg=3814 val=31 ov5640_write_reg:write reg error:reg=3814,val=31 OV5640****: read reg=3814 val=31 OV5640****: write reg=3815 val=31 ov5640_write_reg:write reg error:reg=3815,val=31 OV5640****: read reg=3815 val=31 OV5640****: write reg=3800 val=0 ov5640_write_reg:write reg error:reg=3800,val=0 OV5640****: read reg=3800 val=0 OV5640****: write reg=3801 val=0 ov5640_write_reg:write reg error:reg=3801,val=0 OV5640****: read reg=3801 val=0 OV5640****: write reg=3802 val=0 ov5640_write_reg:write reg error:reg=3802,val=0 OV5640****: read reg=3802 val=0 OV5640****: write reg=3803 val=4 ov5640_write_reg:write reg error:reg=3803,val=4 OV5640****: read reg=3803 val=4 OV5640****: write reg=3804 val=a ov5640_write_reg:write reg error:reg=3804,val=a OV5640****: read reg=3804 val=a OV5640****: write reg=3805 val=3f ov5640_write_reg:write reg error:reg=3805,val=3f OV5640****: read reg=3805 val=3f OV5640****: write reg=3806 val=7 ov5640_write_reg:write reg error:reg=3806,val=7 OV5640****: read reg=3806 val=7 OV5640****: write reg=3807 val=9f ov5640_write_reg:write reg error:reg=3807,val=9f OV5640****: read reg=3807 val=9f OV5640****: write reg=3808 val=2 ov5640_write_reg:write reg error:reg=3808,val=2 OV5640****: read reg=3808 val=2 OV5640****: write reg=3809 val=80 ov5640_write_reg:write reg error:reg=3809,val=80 OV5640****: read reg=3809 val=80 OV5640****: write reg=380a val=1 ov5640_write_reg:write reg error:reg=380a,val=1 OV5640****: read reg=380a val=1 OV5640****: write reg=380b val=e0 ov5640_write_reg:write reg error:reg=380b,val=e0 OV5640****: read reg=380b val=e0 OV5640****: write reg=380c val=b ov5640_write_reg:write reg error:reg=380c,val=b OV5640****: read reg=380c val=b OV5640****: write reg=380d val=1c ov5640_write_reg:write reg error:reg=380d,val=1c OV5640****: read reg=380d val=1c OV5640****: write reg=380e val=7 ov5640_write_reg:write reg error:reg=380e,val=7 OV5640****: read reg=380e val=7 OV5640****: write reg=380f val=b0 ov5640_write_reg:write reg error:reg=380f,val=b0 OV5640****: read reg=380f val=b0 OV5640****: write reg=3810 val=0 ov5640_write_reg:write reg error:reg=3810,val=0 OV5640****: read reg=3810 val=0 OV5640****: write reg=3811 val=10 ov5640_write_reg:write reg error:reg=3811,val=10 OV5640****: read reg=3811 val=10 OV5640****: write reg=3812 val=0 ov5640_write_reg:write reg error:reg=3812,val=0 OV5640****: read reg=3812 val=0 OV5640****: write reg=3813 val=6 ov5640_write_reg:write reg error:reg=3813,val=6 OV5640****: read reg=3813 val=6 OV5640****: write reg=3811 val=10 ov5640_write_reg:write reg error:reg=3811,val=10 OV5640****: read reg=3811 val=10 OV5640****: write reg=3812 val=0 ov5640_write_reg:write reg error:reg=3812,val=0 OV5640****: read reg=3812 val=0 OV5640****: write reg=3813 val=6 ov5640_write_reg:write reg error:reg=3813,val=6 OV5640****: read reg=3813 val=6 OV5640****: write reg=3814 val=11 ov5640_write_reg:write reg error:reg=3814,val=11 OV5640****: read reg=3814 val=11 OV5640****: write reg=3815 val=11 ov5640_write_reg:write reg error:reg=3815,val=11 OV5640****: read reg=3815 val=11 OV5640****: write reg=3618 val=0 ov5640_write_reg:write reg error:reg=3618,val=0 OV5640****: read reg=3618 val=0 OV5640****: write reg=3612 val=29 ov5640_write_reg:write reg error:reg=3612,val=29 OV5640****: read reg=3612 val=29 OV5640****: write reg=3708 val=62 ov5640_write_reg:write reg error:reg=3708,val=62 OV5640****: read reg=3708 val=62 OV5640****: write reg=3709 val=52 ov5640_write_reg:write reg error:reg=3709,val=52 OV5640****: read reg=3709 val=52 OV5640****: write reg=370c val=3 ov5640_write_reg:write reg error:reg=370c,val=3 OV5640****: read reg=370c val=3 OV5640****: write reg=3a02 val=3 ov5640_write_reg:write reg error:reg=3a02,val=3 OV5640****: read reg=3a02 val=3 OV5640****: write reg=3a03 val=d8 ov5640_write_reg:write reg error:reg=3a03,val=d8 OV5640****: read reg=3a03 val=d8 OV5640****: write reg=3a08 val=1 ov5640_write_reg:write reg error:reg=3a08,val=1 OV5640****: read reg=3a08 val=1 OV5640****: write reg=3a09 val=27 ov5640_write_reg:write reg error:reg=3a09,val=27 OV5640****: read reg=3a09 val=27 OV5640****: write reg=3a0a val=0 ov5640_write_reg:write reg error:reg=3a0a,val=0 OV5640****: read reg=3a0a val=0 OV5640****: write reg=3a0b val=f6 ov5640_write_reg:write reg error:reg=3a0b,val=f6 OV5640****: read reg=3a0b val=f6 OV5640****: write reg=3a0e val=3 ov5640_write_reg:write reg error:reg=3a0e,val=3 OV5640****: read reg=3a0e val=3 OV5640****: write reg=3a0d val=4 ov5640_write_reg:write reg error:reg=3a0d,val=4 OV5640****: read reg=3a0d val=4 OV5640****: write reg=3a14 val=3 ov5640_write_reg:write reg error:reg=3a14,val=3 OV5640****: read reg=3a14 val=3 OV5640****: write reg=3a15 val=d8 ov5640_write_reg:write reg error:reg=3a15,val=d8 OV5640****: read reg=3a15 val=d8 OV5640****: write reg=4000 val=1 ov5640_write_reg:write reg error:reg=4000,val=1 OV5640****: read reg=4000 val=1 OV5640****: write reg=4001 val=2 ov5640_write_reg:write reg error:reg=4001,val=2 OV5640****: read reg=4001 val=2 OV5640****: write reg=4004 val=2 ov5640_write_reg:write reg error:reg=4004,val=2 OV5640****: read reg=4004 val=2 OV5640****: write reg=3000 val=0 ov5640_write_reg:write reg error:reg=3000,val=0 OV5640****: read reg=3000 val=0 OV5640****: write reg=3002 val=1c ov5640_write_reg:write reg error:reg=3002,val=1c OV5640****: read reg=3002 val=1c OV5640****: write reg=3004 val=ff ov5640_write_reg:write reg error:reg=3004,val=ff OV5640****: read reg=3004 val=ff OV5640****: write reg=3006 val=c3 ov5640_write_reg:write reg error:reg=3006,val=c3 OV5640****: read reg=3006 val=c3 OV5640****: write reg=300e val=58 ov5640_write_reg:write reg error:reg=300e,val=58 OV5640****: read reg=300e val=58 OV5640****: write reg=302e val=0 ov5640_write_reg:write reg error:reg=302e,val=0 OV5640****: read reg=302e val=0 OV5640****: write reg=4300 val=30 ov5640_write_reg:write reg error:reg=4300,val=30 OV5640****: read reg=4300 val=30 OV5640****: write reg=501f val=0 ov5640_write_reg:write reg error:reg=501f,val=0 OV5640****: read reg=501f val=0 OV5640****: write reg=5027 val=1 ov5640_write_reg:write reg error:reg=5027,val=1 OV5640****: read reg=5027 val=1 OV5640****: write reg=5028 val=4 ov5640_write_reg:write reg error:reg=5028,val=4 OV5640****: read reg=5028 val=4 OV5640****: write reg=5029 val=90 ov5640_write_reg:write reg error:reg=5029,val=90 OV5640****: read reg=5029 val=90 OV5640****: write reg=502a val=5 ov5640_write_reg:write reg error:reg=502a,val=5 OV5640****: read reg=502a val=5 OV5640****: write reg=502b val=90 ov5640_write_reg:write reg error:reg=502b,val=90 OV5640****: read reg=502b val=90 OV5640****: write reg=502c val=3 ov5640_write_reg:write reg error:reg=502c,val=3 OV5640****: read reg=502c val=3 OV5640****: write reg=4713 val=3 ov5640_write_reg:write reg error:reg=4713,val=3 OV5640****: read reg=4713 val=3 OV5640****: write reg=4407 val=4 ov5640_write_reg:write reg error:reg=4407,val=4 OV5640****: read reg=4407 val=4 OV5640****: write reg=502d val=6c ov5640_write_reg:write reg error:reg=502d,val=6c OV5640****: read reg=502d val=6c OV5640****: write reg=502e val=4 ov5640_write_reg:write reg error:reg=502e,val=4 OV5640****: read reg=502e val=4 OV5640****: write reg=502f val=2c ov5640_write_reg:write reg error:reg=502f,val=2c OV5640****: read reg=502f val=2c OV5640****: write reg=5034 val=80 ov5640_write_reg:write reg error:reg=5034,val=80 OV5640****: read reg=5034 val=80 OV5640****: write reg=5035 val=2a ov5640_write_reg:write reg error:reg=5035,val=2a OV5640****: read reg=5035 val=2a OV5640****: write reg=5036 val=14 ov5640_write_reg:write reg error:reg=5036,val=14 OV5640****: read reg=5036 val=14 OV5640****: write reg=460b val=35 ov5640_write_reg:write reg error:reg=460b,val=35 OV5640****: read reg=460b val=35 OV5640****: write reg=460c val=22 ov5640_write_reg:write reg error:reg=460c,val=22 OV5640****: read reg=460c val=22 OV5640****: write reg=3824 val=2 ov5640_write_reg:write reg error:reg=3824,val=2 OV5640****: read reg=3824 val=2 OV5640****: write reg=5000 val=a7 ov5640_write_reg:write reg error:reg=5000,val=a7 OV5640****: read reg=5000 val=a7 OV5640****: write reg=5001 val=23 ov5640_write_reg:write reg error:reg=5001,val=23 OV5640****: read reg=5001 val=23 OV5640****: write reg=5005 val=36 ov5640_write_reg:write reg error:reg=5005,val=36 OV5640****: read reg=5005 val=36 OV5640****: write reg=5180 val=ff ov5640_write_reg:write reg error:reg=5180,val=ff OV5640****: read reg=5180 val=ff OV5640****: write reg=5181 val=f2 ov5640_write_reg:write reg error:reg=5181,val=f2 OV5640****: read reg=5181 val=f2 OV5640****: write reg=5182 val=0 ov5640_write_reg:write reg error:reg=5182,val=0 OV5640****: read reg=5182 val=0 OV5640****: write reg=5183 val=90 ov5640_write_reg:write reg error:reg=5183,val=90 OV5640****: read reg=5183 val=90 OV5640****: write reg=5184 val=25 ov5640_write_reg:write reg error:reg=5184,val=25 OV5640****: read reg=5184 val=25 OV5640****: write reg=5185 val=24 ov5640_write_reg:write reg error:reg=5185,val=24 OV5640****: read reg=5185 val=24 OV5640****: write reg=5186 val=9 ov5640_write_reg:write reg error:reg=5186,val=9 OV5640****: read reg=5186 val=9 OV5640****: write reg=5187 val=9 ov5640_write_reg:write reg error:reg=5187,val=9 OV5640****: read reg=5187 val=9 OV5640****: write reg=5188 val=9 ov5640_write_reg:write reg error:reg=5188,val=9 OV5640****: read reg=5188 val=9 OV5640****: write reg=5189 val=75 ov5640_write_reg:write reg error:reg=5189,val=75 OV5640****: read reg=5189 val=75 OV5640****: write reg=518a val=54 ov5640_write_reg:write reg error:reg=518a,val=54 OV5640****: read reg=518a val=54 OV5640****: write reg=518b val=e0 ov5640_write_reg:write reg error:reg=518b,val=e0 OV5640****: read reg=518b val=e0 OV5640****: write reg=518c val=b2 ov5640_write_reg:write reg error:reg=518c,val=b2 OV5640****: read reg=518c val=b2 OV5640****: write reg=518d val=42 ov5640_write_reg:write reg error:reg=518d,val=42 OV5640****: read reg=518d val=42 OV5640****: write reg=518e val=3d ov5640_write_reg:write reg error:reg=518e,val=3d OV5640****: read reg=518e val=3d OV5640****: write reg=518f val=56 ov5640_write_reg:write reg error:reg=518f,val=56 OV5640****: read reg=518f val=56 OV5640****: write reg=5190 val=46 ov5640_write_reg:write reg error:reg=5190,val=46 OV5640****: read reg=5190 val=46 OV5640****: write reg=5191 val=f8 ov5640_write_reg:write reg error:reg=5191,val=f8 OV5640****: read reg=5191 val=f8 OV5640****: write reg=5192 val=4 ov5640_write_reg:write reg error:reg=5192,val=4 OV5640****: read reg=5192 val=4 OV5640****: write reg=5381 val=1c ov5640_write_reg:write reg error:reg=5381,val=1c OV5640****: read reg=5381 val=1c OV5640****: write reg=5382 val=5a ov5640_write_reg:write reg error:reg=5382,val=5a OV5640****: read reg=5382 val=5a OV5640****: write reg=5383 val=6 ov5640_write_reg:write reg error:reg=5383,val=6 OV5640****: read reg=5383 val=6 OV5640****: write reg=5384 val=a ov5640_write_reg:write reg error:reg=5384,val=a OV5640****: read reg=5384 val=a OV5640****: write reg=5385 val=7e ov5640_write_reg:write reg error:reg=5385,val=7e OV5640****: read reg=5385 val=7e OV5640****: write reg=5386 val=88 ov5640_write_reg:write reg error:reg=5386,val=88 OV5640****: read reg=5386 val=88 OV5640****: write reg=5387 val=7c ov5640_write_reg:write reg error:reg=5387,val=7c OV5640****: read reg=5387 val=7c OV5640****: write reg=5388 val=6c ov5640_write_reg:write reg error:reg=5388,val=6c OV5640****: read reg=5388 val=6c OV5640****: write reg=5389 val=10 ov5640_write_reg:write reg error:reg=5389,val=10 OV5640****: read reg=5389 val=10 OV5640****: write reg=538a val=1 ov5640_write_reg:write reg error:reg=538a,val=1 OV5640****: read reg=538a val=1 OV5640****: write reg=538b val=98 ov5640_write_reg:write reg error:reg=538b,val=98 OV5640****: read reg=538b val=98 OV5640****: write reg=5300 val=8 ov5640_write_reg:write reg error:reg=5300,val=8 OV5640****: read reg=5300 val=8 OV5640****: write reg=5301 val=30 ov5640_write_reg:write reg error:reg=5301,val=30 OV5640****: read reg=5301 val=30 OV5640****: write reg=5302 val=10 ov5640_write_reg:write reg error:reg=5302,val=10 OV5640****: read reg=5302 val=10 OV5640****: write reg=5303 val=0 ov5640_write_reg:write reg error:reg=5303,val=0 OV5640****: read reg=5303 val=0 OV5640****: write reg=5304 val=8 ov5640_write_reg:write reg error:reg=5304,val=8 OV5640****: read reg=5304 val=8 OV5640****: write reg=5305 val=30 ov5640_write_reg:write reg error:reg=5305,val=30 OV5640****: read reg=5305 val=30 OV5640****: write reg=5306 val=8 ov5640_write_reg:write reg error:reg=5306,val=8 OV5640****: read reg=5306 val=8 OV5640****: write reg=5307 val=16 ov5640_write_reg:write reg error:reg=5307,val=16 OV5640****: read reg=5307 val=16 OV5640****: write reg=5309 val=8 ov5640_write_reg:write reg error:reg=5309,val=8 OV5640****: read reg=5309 val=8 OV5640****: write reg=530a val=30 ov5640_write_reg:write reg error:reg=530a,val=30 OV5640****: read reg=530a val=30 OV5640****: write reg=530b val=4 ov5640_write_reg:write reg error:reg=530b,val=4 OV5640****: read reg=530b val=4 OV5640****: write reg=530c val=6 ov5640_write_reg:write reg error:reg=530c,val=6 OV5640****: read reg=530c val=6 OV5640****: write reg=5480 val=1 ov5640_write_reg:write reg error:reg=5480,val=1 OV5640****: read reg=5480 val=1 OV5640****: write reg=5481 val=8 ov5640_write_reg:write reg error:reg=5481,val=8 OV5640****: read reg=5481 val=8 OV5640****: write reg=5482 val=14 ov5640_write_reg:write reg error:reg=5482,val=14 OV5640****: read reg=5482 val=14 OV5640****: write reg=5483 val=28 ov5640_write_reg:write reg error:reg=5483,val=28 OV5640****: read reg=5483 val=28 OV5640****: write reg=5484 val=51 ov5640_write_reg:write reg error:reg=5484,val=51 OV5640****: read reg=5484 val=51 OV5640****: write reg=5485 val=65 ov5640_write_reg:write reg error:reg=5485,val=65 OV5640****: read reg=5485 val=65 OV5640****: write reg=5486 val=71 ov5640_write_reg:write reg error:reg=5486,val=71 OV5640****: read reg=5486 val=71 OV5640****: write reg=5487 val=7d ov5640_write_reg:write reg error:reg=5487,val=7d OV5640****: read reg=5487 val=7d OV5640****: write reg=5488 val=87 ov5640_write_reg:write reg error:reg=5488,val=87 OV5640****: read reg=5488 val=87 OV5640****: write reg=5489 val=91 ov5640_write_reg:write reg error:reg=5489,val=91 OV5640****: read reg=5489 val=91 OV5640****: write reg=548a val=9a ov5640_write_reg:write reg error:reg=548a,val=9a OV5640****: read reg=548a val=9a OV5640****: write reg=548b val=aa ov5640_write_reg:write reg error:reg=548b,val=aa OV5640****: read reg=548b val=aa OV5640****: write reg=548c val=b8 ov5640_write_reg:write reg error:reg=548c,val=b8 OV5640****: read reg=548c val=b8 OV5640****: write reg=548d val=cd ov5640_write_reg:write reg error:reg=548d,val=cd OV5640****: read reg=548d val=cd OV5640****: write reg=548e val=dd ov5640_write_reg:write reg error:reg=548e,val=dd OV5640****: read reg=548e val=dd OV5640****: write reg=548f val=ea ov5640_write_reg:write reg error:reg=548f,val=ea OV5640****: read reg=548f val=ea OV5640****: write reg=5490 val=1d ov5640_write_reg:write reg error:reg=5490,val=1d OV5640****: read reg=5490 val=1d OV5640****: write reg=5580 val=2 ov5640_write_reg:write reg error:reg=5580,val=2 OV5640****: read reg=5580 val=2 OV5640****: write reg=5583 val=40 ov5640_write_reg:write reg error:reg=5583,val=40 OV5640****: read reg=5583 val=40 OV5640****: write reg=5584 val=10 ov5640_write_reg:write reg error:reg=5584,val=10 OV5640****: read reg=5584 val=10 OV5640****: write reg=5589 val=10 ov5640_write_reg:write reg error:reg=5589,val=10 OV5640****: read reg=5589 val=10 OV5640****: write reg=558a val=0 ov5640_write_reg:write reg error:reg=558a,val=0 OV5640****: read reg=558a val=0 OV5640****: write reg=558b val=f8 ov5640_write_reg:write reg error:reg=558b,val=f8 OV5640****: read reg=558b val=f8 OV5640****: write reg=5800 val=23 ov5640_write_reg:write reg error:reg=5800,val=23 OV5640****: read reg=5800 val=23 OV5640****: write reg=5801 val=15 ov5640_write_reg:write reg error:reg=5801,val=15 OV5640****: read reg=5801 val=15 OV5640****: write reg=5802 val=10 ov5640_write_reg:write reg error:reg=5802,val=10 OV5640****: read reg=5802 val=10 OV5640****: write reg=5803 val=10 ov5640_write_reg:write reg error:reg=5803,val=10 OV5640****: read reg=5803 val=10 OV5640****: write reg=5804 val=15 ov5640_write_reg:write reg error:reg=5804,val=15 OV5640****: read reg=5804 val=15 OV5640****: write reg=5805 val=23 ov5640_write_reg:write reg error:reg=5805,val=23 OV5640****: read reg=5805 val=23 OV5640****: write reg=5806 val=c ov5640_write_reg:write reg error:reg=5806,val=c OV5640****: read reg=5806 val=c OV5640****: write reg=5807 val=8 ov5640_write_reg:write reg error:reg=5807,val=8 OV5640****: read reg=5807 val=8 OV5640****: write reg=5808 val=5 ov5640_write_reg:write reg error:reg=5808,val=5 OV5640****: read reg=5808 val=5 OV5640****: write reg=5809 val=5 ov5640_write_reg:write reg error:reg=5809,val=5 OV5640****: read reg=5809 val=5 OV5640****: write reg=580a val=8 ov5640_write_reg:write reg error:reg=580a,val=8 OV5640****: read reg=580a val=8 OV5640****: write reg=580b val=c ov5640_write_reg:write reg error:reg=580b,val=c OV5640****: read reg=580b val=c OV5640****: write reg=580c val=7 ov5640_write_reg:write reg error:reg=580c,val=7 OV5640****: read reg=580c val=7 OV5640****: write reg=580d val=3 ov5640_write_reg:write reg error:reg=580d,val=3 OV5640****: read reg=580d val=3 OV5640****: write reg=580e val=0 ov5640_write_reg:write reg error:reg=580e,val=0 OV5640****: read reg=580e val=0 OV5640****: write reg=580f val=0 ov5640_write_reg:write reg error:reg=580f,val=0 OV5640****: read reg=580f val=0 OV5640****: write reg=5810 val=3 ov5640_write_reg:write reg error:reg=5810,val=3 OV5640****: read reg=5810 val=3 OV5640****: write reg=5811 val=7 ov5640_write_reg:write reg error:reg=5811,val=7 OV5640****: read reg=5811 val=7 OV5640****: write reg=5812 val=7 ov5640_write_reg:write reg error:reg=5812,val=7 OV5640****: read reg=5812 val=7 OV5640****: write reg=5813 val=3 ov5640_write_reg:write reg error:reg=5813,val=3 OV5640****: read reg=5813 val=3 OV5640****: write reg=5814 val=0 ov5640_write_reg:write reg error:reg=5814,val=0 OV5640****: read reg=5814 val=0 OV5640****: write reg=5815 val=0 ov5640_write_reg:write reg error:reg=5815,val=0 OV5640****: read reg=5815 val=0 OV5640****: write reg=5816 val=3 ov5640_write_reg:write reg error:reg=5816,val=3 OV5640****: read reg=5816 val=3 OV5640****: write reg=5817 val=7 ov5640_write_reg:write reg error:reg=5817,val=7 OV5640****: read reg=5817 val=7 OV5640****: write reg=5818 val=b ov5640_write_reg:write reg error:reg=5818,val=b OV5640****: read reg=5818 val=b OV5640****: write reg=5819 val=8 ov5640_write_reg:write reg error:reg=5819,val=8 OV5640****: read reg=5819 val=8 OV5640****: write reg=581a val=5 ov5640_write_reg:write reg error:reg=581a,val=5 OV5640****: read reg=581a val=5 OV5640****: write reg=581b val=5 ov5640_write_reg:write reg error:reg=581b,val=5 OV5640****: read reg=581b val=5 OV5640****: write reg=581c val=7 ov5640_write_reg:write reg error:reg=581c,val=7 OV5640****: read reg=581c val=7 OV5640****: write reg=581d val=b ov5640_write_reg:write reg error:reg=581d,val=b OV5640****: read reg=581d val=b OV5640****: write reg=581e val=2a ov5640_write_reg:write reg error:reg=581e,val=2a OV5640****: read reg=581e val=2a OV5640****: write reg=581f val=16 ov5640_write_reg:write reg error:reg=581f,val=16 OV5640****: read reg=581f val=16 OV5640****: write reg=5820 val=11 ov5640_write_reg:write reg error:reg=5820,val=11 OV5640****: read reg=5820 val=11 OV5640****: write reg=5821 val=11 ov5640_write_reg:write reg error:reg=5821,val=11 OV5640****: read reg=5821 val=11 OV5640****: write reg=5822 val=15 ov5640_write_reg:write reg error:reg=5822,val=15 OV5640****: read reg=5822 val=15 OV5640****: write reg=5823 val=29 ov5640_write_reg:write reg error:reg=5823,val=29 OV5640****: read reg=5823 val=29 OV5640****: write reg=5824 val=bf ov5640_write_reg:write reg error:reg=5824,val=bf OV5640****: read reg=5824 val=bf OV5640****: write reg=5825 val=af ov5640_write_reg:write reg error:reg=5825,val=af OV5640****: read reg=5825 val=af OV5640****: write reg=5826 val=9f ov5640_write_reg:write reg error:reg=5826,val=9f OV5640****: read reg=5826 val=9f OV5640****: write reg=5827 val=af ov5640_write_reg:write reg error:reg=5827,val=af OV5640****: read reg=5827 val=af OV5640****: write reg=5828 val=df ov5640_write_reg:write reg error:reg=5828,val=df OV5640****: read reg=5828 val=df OV5640****: write reg=5829 val=6f ov5640_write_reg:write reg error:reg=5829,val=6f OV5640****: read reg=5829 val=6f OV5640****: write reg=582a val=8e ov5640_write_reg:write reg error:reg=582a,val=8e OV5640****: read reg=582a val=8e OV5640****: write reg=582b val=ab ov5640_write_reg:write reg error:reg=582b,val=ab OV5640****: read reg=582b val=ab OV5640****: write reg=582c val=9e ov5640_write_reg:write reg error:reg=582c,val=9e OV5640****: read reg=582c val=9e OV5640****: write reg=582d val=7f ov5640_write_reg:write reg error:reg=582d,val=7f OV5640****: read reg=582d val=7f OV5640****: write reg=582e val=4f ov5640_write_reg:write reg error:reg=582e,val=4f OV5640****: read reg=582e val=4f OV5640****: write reg=582f val=89 ov5640_write_reg:write reg error:reg=582f,val=89 OV5640****: read reg=582f val=89 OV5640****: write reg=5830 val=86 ov5640_write_reg:write reg error:reg=5830,val=86 OV5640****: read reg=5830 val=86 OV5640****: write reg=5831 val=98 ov5640_write_reg:write reg error:reg=5831,val=98 OV5640****: read reg=5831 val=98 OV5640****: write reg=5832 val=6f ov5640_write_reg:write reg error:reg=5832,val=6f OV5640****: read reg=5832 val=6f OV5640****: write reg=5833 val=4f ov5640_write_reg:write reg error:reg=5833,val=4f OV5640****: read reg=5833 val=4f OV5640****: write reg=5834 val=6e ov5640_write_reg:write reg error:reg=5834,val=6e OV5640****: read reg=5834 val=6e OV5640****: write reg=5835 val=7b ov5640_write_reg:write reg error:reg=5835,val=7b OV5640****: read reg=5835 val=7b OV5640****: write reg=5836 val=7e ov5640_write_reg:write reg error:reg=5836,val=7e OV5640****: read reg=5836 val=7e OV5640****: write reg=5837 val=6f ov5640_write_reg:write reg error:reg=5837,val=6f OV5640****: read reg=5837 val=6f OV5640****: write reg=5838 val=de ov5640_write_reg:write reg error:reg=5838,val=de OV5640****: read reg=5838 val=de OV5640****: write reg=5839 val=bf ov5640_write_reg:write reg error:reg=5839,val=bf OV5640****: read reg=5839 val=bf OV5640****: write reg=583a val=9f ov5640_write_reg:write reg error:reg=583a,val=9f OV5640****: read reg=583a val=9f OV5640****: write reg=583b val=bf ov5640_write_reg:write reg error:reg=583b,val=bf OV5640****: read reg=583b val=bf OV5640****: write reg=583c val=ec ov5640_write_reg:write reg error:reg=583c,val=ec OV5640****: read reg=583c val=ec OV5640****: write reg=5025 val=0 ov5640_write_reg:write reg error:reg=5025,val=0 OV5640****: read reg=5025 val=0 OV5640****: write reg=3a0f val=30 ov5640_write_reg:write reg error:reg=3a0f,val=30 OV5640****: read reg=3a0f val=30 OV5640****: write reg=3a10 val=28 ov5640_write_reg:write reg error:reg=3a10,val=28 OV5640****: read reg=3a10 val=28 OV5640****: write reg=3a1b val=30 ov5640_write_reg:write reg error:reg=3a1b,val=30 OV5640****: read reg=3a1b val=30 OV5640****: write reg=3a1e val=26 ov5640_write_reg:write reg error:reg=3a1e,val=26 OV5640****: read reg=3a1e val=26 OV5640****: write reg=3a11 val=60 ov5640_write_reg:write reg error:reg=3a11,val=60 OV5640****: read reg=3a11 val=60 OV5640****: write reg=3a1f val=14 ov5640_write_reg:write reg error:reg=3a1f,val=14 OV5640****: read reg=3a1f val=14 OV5640****: write reg=3008 val=2 ov5640_write_reg:write reg error:reg=3008,val=2 OV5640****: read reg=3008 val=2 OV5640****: write reg=3035 val=21 ov5640_write_reg:write reg error:reg=3035,val=21 OV5640****: read reg=3035 val=21 OV5640****: write reg=4741 val=1 ov5640_write_reg:write reg error:reg=4741,val=1 OV5640****: read reg=4741 val=1 OV5640****: read reg=3000 val=0 OV5640****: read reg=3001 val=8 OV5640****: read reg=3002 val=1c OV5640****: read reg=3003 val=0 OV5640****: read reg=3004 val=ff OV5640****: read reg=3005 val=f7 OV5640****: read reg=3006 val=c3 OV5640****: read reg=3007 val=ff OV5640****: read reg=3008 val=2 OV5640****: read reg=3009 val=1 OV5640****: read reg=300a val=56 OV5640****: read reg=300b val=40 OV5640****: read reg=300c val=22 OV5640****: read reg=300d val=0 OV5640****: read reg=300e val=58 OV5640****: read reg=300f val=0 OV5640****: read reg=3010 val=0 OV5640****: read reg=3011 val=0 OV5640****: read reg=3012 val=0 OV5640****: read reg=3013 val=0 OV5640****: read reg=3014 val=0 OV5640****: read reg=3015 val=7 OV5640****: read reg=3016 val=0 OV5640****: read reg=3017 val=7f OV5640****: read reg=3018 val=fc OV5640****: read reg=3019 val=f0 OV5640****: read reg=301a val=0 OV5640****: read reg=301b val=0 OV5640****: read reg=301c val=0 OV5640****: read reg=301d val=0 OV5640****: read reg=301e val=0 OV5640****: read reg=301f val=0 OV5640****: read reg=3020 val=0 OV5640****: read reg=3021 val=0 OV5640****: read reg=3022 val=0 OV5640****: read reg=3023 val=0 OV5640****: read reg=3024 val=0 OV5640****: read reg=3025 val=0 OV5640****: read reg=3026 val=0 OV5640****: read reg=3027 val=0 OV5640****: read reg=3028 val=0 OV5640****: read reg=3029 val=0 OV5640****: read reg=302a val=b0 OV5640****: read reg=302b val=0 OV5640****: read reg=302c val=2 OV5640****: read reg=302d val=60 OV5640****: read reg=302e val=0 OV5640****: read reg=302f val=2 OV5640****: read reg=3030 val=b OV5640****: read reg=3031 val=0 OV5640****: read reg=3032 val=0 OV5640****: read reg=3033 val=3 OV5640****: read reg=3034 val=18 OV5640****: read reg=3035 val=21 OV5640****: read reg=3036 val=48 OV5640****: read reg=3037 val=13 OV5640****: read reg=3038 val=0 OV5640****: read reg=3039 val=0 OV5640****: read reg=303a val=0 OV5640****: read reg=303b val=19 OV5640****: read reg=303c val=11 OV5640****: read reg=303d val=32 OV5640****: read reg=303e val=0 OV5640****: read reg=303f val=0 OV5640****: read reg=3040 val=10 OV5640****: read reg=3041 val=ff OV5640****: read reg=3042 val=0 OV5640****: read reg=3043 val=ff OV5640****: read reg=3044 val=9 OV5640****: read reg=3045 val=0 OV5640****: read reg=3046 val=0 OV5640****: read reg=3047 val=0 OV5640****: read reg=3048 val=0 OV5640****: read reg=3049 val=0 OV5640****: read reg=304a val=0 OV5640****: read reg=304b val=0 OV5640****: read reg=304c val=0 OV5640****: read reg=304d val=0 OV5640****: read reg=304e val=0 OV5640****: read reg=304f val=0 OV5640****: read reg=3050 val=7 OV5640****: read reg=3051 val=1 OV5640****: read reg=3052 val=b2 mxc_v4l2_output mxc_v4l2_output.0: Registered device video1 usbcore: registered new interface driver uvcvideo USB Video Class driver (v0.1.0) APM Battery Driver   oviya check mma8450 chip ID ovi MMA8450 ACCELEROMETER and RESUL:0xf 0xc6 mma8450 0-001c: build time Sep  6 2012 13:18:44 input: mma8450 as /devices/virtual/input/input3 add mma8450 i2c driver OVIYA MMA8452 INIT OK 0x0 MXC WatchDog Driver 2.0 MXC Watchdog # 0 Timer: initial timeout 60 sec Bluetooth: Virtual HCI driver ver 1.3 Bluetooth: HCI UART driver ver 2.2 Bluetooth: HCIATH3K protocol initialized Bluetooth: Generic Bluetooth USB driver ver 0.6 usbcore: registered new interface driver btusb VPU initialized mxc_asrc registered gpu mmu disabled mxsdhci: MXC Secure Digital Host Controller Interface driver mxsdhci: MXC SDHCI Controller Driver. mmc0: SDHCI detect irq 0 irq 1 INTERNAL DMA mxsdhci: MXC SDHCI Controller Driver. mmc1: SDHCI detect irq 203 irq 3 INTERNAL DMA usbcore: registered new interface driver usbhid usbhid: USB HID core driver Cirrus Logic CS42888 ALSA SoC Codec Driver mxc_spdif mxc_spdif.0: MXC SPDIF Audio Transmitter No device for codec mxc spdif No device for DAI mxc spdif No device for DAI imx-ssi-1-0 No device for DAI imx-ssi-1-1 No device for DAI imx-ssi-2-0 No device for DAI imx-ssi-2-1 No device for DAI imx-spdif-dai DMA Sound Buffer Allocated: Playback UseIram=1 ext_ram=1 buf->addr=73268000 buf- >area=fabfa000 size=24576 asoc: mxc spdif <-> imx-spdif-dai mapping ok ALSA device list:   #0: imx-3stack-spdif (mxc spdif) TCP cubic registered NET: Registered protocol family 17 can: controller area network core (rev 20090105 abi 😎 NET: Registered protocol family 29 can: raw protocol (rev 20090105) can: broadcast manager protocol (rev 20090105 t) Bluetooth: L2CAP ver 2.14 Bluetooth: L2CAP socket layer initialized Bluetooth: SCO (Voice Link) ver 0.6 Bluetooth: SCO socket layer initialized Bluetooth: RFCOMM TTY layer initialized Bluetooth: RFCOMM socket layer initialized Bluetooth: RFCOMM ver 1.11 Bluetooth: BNEP (Ethernet Emulation) ver 1.3 Bluetooth: BNEP filters: protocol multicast Bluetooth: HIDP (Human Interface Emulation) ver 1.2 VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 2 regulator_init_complete: incomplete constraints, leaving DA9052_BUCK_PERI on regulator_init_complete: incomplete constraints, leaving DA9052_BUCK_MEM on regulator_init_complete: incomplete constraints, leaving DA9052_BUCK_PRO on regulator_init_complete: incomplete constraints, leaving DA9052_BUCK_CORE on regulator_init_complete: incomplete constraints, leaving DA9052_LDO10 on regulator_init_complete: incomplete constraints, leaving DA9052_LDO9 on regulator_init_complete: incomplete constraints, leaving DA9052_LDO8 on regulator_init_complete: incomplete constraints, leaving DA9052_LDO6 on regulator_init_complete: incomplete constraints, leaving DA9052_LDO5 on regulator_init_complete: incomplete constraints, leaving DA9052_LDO3 on regulator_init_complete: incomplete constraints, leaving DA9052_LDO2 on regulator_init_complete: incomplete constraints, leaving DA9052_LDO1 on mxc_rtc mxc_rtc.0: setting system clock to 1970-01-01 00:00:04 UTC (4) mmc0: new SDHC card at address e624 mmcblk0: mmc0:e624 SU16G 14.8 GiB mmcblk0: p1 eth0: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=0:00, irq=-1) IP-Config: Complete:      device=eth0, addr=192.168.0.150, mask=255.255.255.0, gw=192.168.0.1,      host=192.168.0.150, domain=, nis-domain=(none),      bootserver=192.168.0.50, rootserver=192.168.0.50, rootpath= Looking up port of RPC 100003/2 on 192.168.0.50 PHY: 0:00 - Link is Up - 100/Full Looking up port of RPC 100005/1 on 192.168.0.50 VFS: Mounted root (nfs filesystem) on device 0:11. Freeing init memory: 172K starting pid 1188, tty '': '/etc/rc.d/rcS' Mounting /proc and /sys Starting the hotplug events dispatcher udevd Synthesizing initial hotplug events Setting the hostname to freescale Mounting filesystems mount: mounting usbfs on /proc/bus/usb failed: No such file or directory Starting the dropbear ssh server: Failed to start message bus: Failed to close "/usr/var/run/dbus/pid": No space l eft on device D-Bus per-session daemon address is: unix:abstract=/tmp/dbus-lOokyNGFL0,guid=fd2 236101ed5855d5d79f7b20000000c gtk: creating gdk-pixbuf.loaders pango: creating module list chown: /home/user/.rhosts: Operation not permitted chown: /home/user: Operation not permitted chown: /home/user: Operation not permitted starting pid 2227, tty '': '/sbin/getty -L ttymxc0 115200 vt100' _XSERVTransSocketOpenCOTSServer: Unable to open socket for inet6 _XSERVTransOpen: transport open failed for inet6/freescale:0 _XSERVTransMakeAllCOTSServerListeners: failed to open listener for inet6 _XSERVTransmkdir: Owner of /tmp/.X11-unix should be set to root (EE) XKB: Couldn't open rules file /usr/share/X11/xkb/rules/base (EE) XKB: No components provided for device Virtual core keyboard arm-none-linux-gnueabi-gcc (4.4.4_09.06.2010) 4.4.4 root filesystem built on Thu, 29 Sep 2011 15:54:39 +0800 Freescale Semiconductor, Inc. freescale login: root login[2227]: root login on 'ttymxc0' BusyBox v1.18.5 () built-in shell (ash) Enter 'help' for a list of built-in commands. root@freescale ~$ root@freescale ~$ root@freescale ~$ matchbox: keyboard does not appear to have a <alt> key. matchbox: ignoring key shortcut <Alt>n=next matchbox: keyboard does not appear to have a <alt> key. matchbox: ignoring key shortcut <Alt>p=prev matchbox: keyboard does not appear to have a <alt> key. matchbox: ignoring key shortcut <Alt>c=close matchbox: keyboard does not appear to have a <alt> key. matchbox: ignoring key shortcut <Alt>d=desktop matchbox: keyboard does not appear to have a <alt> key. matchbox: ignoring key shortcut <Alt>m=!matchbox-remote -mbmenu matchbox: keyboard does not appear to have a <alt> key. matchbox: ignoring key shortcut <ctrl><alt>x=!xterm matchbox: keyboard does not appear to have a <alt> key. matchbox: ignoring key shortcut <ctrl><alt>r=!rxvt matchbox: keyboard does not appear to have a <alt> key. matchbox: ignoring key shortcut <ctrl><alt>e=!!gpe-calender matchbox: keyboard does not appear to have a <alt> key. matchbox: ignoring key shortcut <alt>Tab=next matchbox: keyboard does not appear to have a <alt> key. matchbox: ignoring key shortcut <alt><shift>Tab=prev matchbox: keyboard does not appear to have a <alt> key. matchbox: ignoring key shortcut <alt>space=taskmenu matchbox: keyboard does not appear to have a <alt> key. matchbox: ignoring key shortcut <alt>escape=!matchbox-remote -mbmenu matchbox: keyboard does not appear to have a <alt> key. matchbox: ignoring key shortcut <alt>f4=close matchbox: Cant find a keycode for keysym 65480 matchbox: ignoring key shortcut f11=fullscreen matchbox-desktop: loading /usr/lib/matchbox/desktop/tasks.so with args ( None ) matchbox-desktop: loading /usr/lib/matchbox/desktop/dotdesktop.so with args ( No ne ) user_overides is (nil) mb-desktop-dotdesktop: failed to open /usr/local/share/applications mb-desktop-dotdesktop: failed to open //.applications root@freescale ~$ root@freescale ~$ root@freescale ~$ root@freescale ~$ root@freescale ~$ root@freescale ~$ root@freescale ~$ root@freescale ~$ root@freescale ~$ root@freescale ~$ gst-launch rtspsrc location=rtsp://192.168.0.50:1935/media/vid eo0 ! decodebin ! mfw_mpeg4aspdecoder ! filesink location=file MPEG4_ASP_D_01.02.01  build on Apr 19 2011 19:13:51. MFW_GST_MPEG4ASP_DECODER_PLUGIN 2.0.3 build on Sep 29 2011 15:41:19. Setting pipeline to PAUSED ... ERROR: Pipeline doesn't want to pause. ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Resource not fou nd. Additional debug info: gstrtspsrc.c(3832): gst_rtspsrc_send (): /GstPipeline:pipeline0/GstRTSPSrc:rtsps rc0: Not Found Setting pipeline to NULL ... (gst-launch-0.10:2233): GStreamer-CRITICAL **: gst_mini_object_unref: assertion `mini_object != NULL' failed Freeing pipeline ... root@freescale ~$ root@freescale ~$
查看全文
In this article, some experiments are done to verify the capability of i.MX6DQ on video playback under different VPU clocks. 1. Preparation Board: i.MX6DQ SD Bitstream: 1080p sunflower with 40Mbps, it is considered as the toughest H264 clip. The original clip is copied 20 times to generate a new raw video (repeat 20 times of sun-flower clip) and then encapsulate into a mp4 container. This is to remove and minimize the influence of startup workload of gstreamer compared to vpu unit test. Kernels: Generate different kernel with different VPU clock setting: 270MHz, 298MHz, 329MHz, 352MHz, 382MHz. test setting: 1080p content decoding and display with 1080p device. (no resize) 2. Test command for VPU unit test and Gstreamer The tiled format video playback is faster than NV12 format, so in below experiment, we choose tiled format during video playback. Unit test command: (we set the frame rate -a 70, higher than 1080p 60fps HDMI refresh rate)     /unit_tests/mxc_vpu_test.out -D "-i /media/65a78bbd-1608-4d49-bca8-4e009cafac5e/sunflower_2B_2ref_WP_40Mbps.264 -f 2 -y 1 -a 70" Gstreamer command: (free run to get the highest playback speed)     gst-launch filesrc location=/media/65a78bbd-1608-4d49-bca8-4e009cafac5e/sunflower_2B_2ref_WP_40Mbps.mp4 typefind=true ! aiurdemux ! vpudec framedrop=false ! queue max-size-buffers=3 ! mfw_v4lsink sync=false 3. Video playback framerate measurement During test, we enter command "echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor" to make sure the CPU always work at highest frequency, so that it can respond to any interrupt quickly. For each testing point with different VPU clock, we do 5 rounds of tests. The max and min values are removed, and the remaining 3 data are averaged to get the final playback framerate. #1 #2 #3 #4 #5 Min Max Avg Dec Playback Dec Playback Dec Playback Dec Playback Dec Playback Playback Playback Playback 270M unit test 57.8 57.3 57.81 57.04 57.78 57.3 57.87 56.15 57.91 55.4 55.4 57.3 56.83 GST 53.76 54.163 54.136 54.273 53.659 53.659 54.273 54.01967 298M unit test 60.97 58.37 60.98 58.55 60.97 57.8 60.94 58.07 60.98 58.65 57.8 58.65 58.33 GST 56.755 49.144 53.271 56.159 56.665 49.144 56.755 55.365 329M unit test 63.8 59.52 63.92 52.63 63.8 58.1 63.82 58.26 63.78 59.34 52.63 59.52 58.56667 GST 57.815 55.857 56.862 58.637 56.703 55.857 58.637 57.12667 352M unit test 65.79 59.63 65.78 59.68 65.78 59.65 66.16 49.21 65.93 57.67 49.21 59.68 58.98333 GST 58.668 59.103 56.419 58.08 58.312 56.419 59.103 58.35333 382M unit test 64.34 56.58 67.8 58.73 67.75 59.68 67.81 59.36 67.77 59.76 56.58 59.76 59.25667 GST 59.753 58.893 58.972 58.273 59.238 58.273 59.753 59.03433 Note: Dec column means the vpu decoding fps, while Playback column means overall playback fps. Some explanation: Why does the Gstreamer performance data still improve while unit test is more flat? On Gstreamer, there is a vpu wrapper which is used to make the vpu api more intuitive to be called. So at first, the overall GST playback performance is constrained by vpu (vpu dec 57.8 fps). And finally, as vpu decoding performance goes to higher than 60fps when vpu clock increases, the constraint becomes the display refresh rate 60fps. The video display overhead of Gstreamer is only about 1 fps, similar to unit test. Based on the test result, we can see that for 352MHz, the overall 1080p video playback on 1080p display can reach ~60fps. Or if time sharing by two pipelines with two displays, we can do 2 x 1080p @ 30fps video playback. However, this experiment is valid for 1080p video playback on 1080p display. If for interlaced clip and display with size not same as 1080p, the overall playback performance is limited by some postprocessing like de-interlacing and resize.
查看全文
When streaming, if you want to play a streaming URL, it can be inconvenient if the browser cannot recognize the URL as a media stream and downloads the content rather than using Gallery to play it. To create this kind of media streaming, you need to write an apk to use VideoView to play the URL/media stream from the console. Here is the command of how to play a media file or network stream from console. Gingerbread am start -n com.cooliris.media/com.cooliris.media.MovieView -d "<URL>"       The URL can be file position or network stream URL, such as: you can play a local file by: am start -n com.cooliris.media/com.cooliris.media.MovieView -d "/mnt/sdcard/test.mp4" You can also play a http stream by: am start -n com.cooliris.media/com.cooliris.media.MovieView -d "http://v.iask.com/v_play_ipad.php?vid=76710932" Or play a rtsp stream by: am start -n com.cooliris.media/com.cooliris.media.MovieView -d "rtsp://10.0.2.1:554/stream" ICS am start -n com.android.gallery3d/com.android.gallery3d.app.MovieActivity -d "<URL>"        The URL has the same definition of Gingerbread.
查看全文
Sometimes we need to use proxy to access network with Ethernet. Here are the steps for how to set proxy in Gingerbread and ICS. Gingerbread 1. Enable http proxy >  sqlite3 /data/data/com.android.providers.settings/databases/settings.db "INSERT INTO secure VALUES (99, 'http_proxy', 'wwwgate0.freescale.net:1080');" With this setting, you can access network for web browsing. If you want to play some http streaming content, you need to set a property for the player, > setprop rw.HTTP_PROXY http://wwwgate0-az.freescale.net:1080 2. Disable http proxy >  sqlite3 /data/data/com.android.providers.settings/databases/settings.db "delete from secure where name='http_proxy'" >  setprop rw.HTTP_PROXY "" ICS 1. Enable http proxy >  setprop net.proxy wwwgate0-az.freescale.net:1080 With this setting, you can access network for web browsing. If you want to play some http streaming content, you need to set a proxy property for the player, >  setprop rw.HTTP_PROXY http://wwwgate0-az.freescale.net:1080 2. Disable http proxy >  setprop net.proxy "" >  setprop rw.HTTP_PROXY ""
查看全文
hi daiane       find the attached log of gstreamer
查看全文
This section for all Freescale i.MX users ranging from customers to designers to help provide the best solution to the most frequently encountered questions related to Freescale i.MX products. Products Below are links to pages containing links to documentation related to that product. i.MX Family i.MX6 Multimedia Applications Processors i.MX53 Multimedia Applications Processors i.MX51 Multimedia Applications Processors i.MX35 Multimedia Applications Processors i.MX31 Multimedia Applications Processors i.MX28 Multimedia Applications Processors i.MX27 Multimedia Applications Processors i.MX25 Multimedia Applications Processors i.MX21 Multimedia Applications Processors Topics Below are links to pages containing links to documentation related to that topic. 19-iMX_Serial_Download_Protocol.py All Boards 2D/3D Graphics All Boards Accessing Registers All Boards Audio All Boards Bluetooth Dongle All Boards Compiling RedBoot All Boards Configuring RedBoot All Boards Creating App Video All Boards Deploy NFS All Boards DirectFB All Boards FlexCAN All Boards Hardware Software All Boards How To Convert RVICE CP15 To OpenOCD All Boards How To Understand JTAG BSDL All Boards I2C-tools All Boards Java All Boards JTAG All Boards LTIB All Boards LTIB Config Ubuntu All Boards LTIB Creating Uimage Uboot All Boards NFS on Fedora All Boards NFS on Slackware All Boards NFS on Ubuntu All Boards OpenEmbedded All Boards Pdfreader All Boards PMIC Registers All Boards Qtopia All Boards Qtopia on Ubuntu All Boards Qt v2 All Boards RedBoot All Boards Serial Console All Boards TCP All Boards Tethering All Boards TFTP All Boards TFTP Fedora All Boards TFTP on OpenSuse All Boards TFTP on Ubuntu All Boards Theora Encoder All Boards Transfer Serial RedBoot All Boards U-boot All Boards Updating RedBoot Through RedBoot All Boards Video All Boards Video Host All Boards VMWare All Boards Wi-Fi All Boards X11 Android Demonstration Platform Exercising the i.MX Serial Download Protocol with a Python Script Gstreamer GTK How to Enable Second Display Showing Different Things on JB4.2.2 SabreSD How to Measure Signal Frequency by Using the Camera Sensor Interface of an i.MX i.MX as a USB Playback/Capture Device on One OTG Port i.MX Bootlets (i.MX233 EVK) i.MX USB Loader i.MXS Development Kit InternalI2C Linux Kernel Mxuart patch New Release of the i.MX OTP Tools V1.3.3 NFS OpenEmbedded Redboot Running ATK on Linux Script to Flash a Linux System into a SD card U-Boot Yoctoproject
查看全文
Script which patches the ltib folder on Ubuntu 12.04. Steps: $ cp patch-ltib-ubuntu12.04.sh <your ltib folder> $ cd <your ltib folder> $ chmod +x patch-ltib-ubuntu12.04.sh $ ./patch-ltib-ubuntu12.04.sh
查看全文
Dumping the pipeline elements into a image file # On target, run the pipeline $ export GST_DEBUG_DUMP_DOT_DIR=<folder where dot files are created> $ gst-launch playbin2 uri=file://${avi} $ # Move the .dot files to a host machine (scp, etc) # On Host dot <dot file> -Tpng -o out.png # dot command is part the the graphviz package Querying which elements are being used on a gst-launch command GST_DEBUG=GST_ELEMENT_FACTORY:3 gst-launch playbin2 uri=file://`pwd`/<media file> Interrupting a gst-launch process running in the background kill -INT $PID # where $PID is the process ID Using only SW codecs # Backup and remove $ find /usr/lib/gstreamer-0.10 -name "libmfw*" | grep -v sink | xargs tar cvf /libmfw_gst.tar $ find /usr/lib/gstreamer-0.10 -name "libmfw*" | grep -v sink | xargs rm # Run your pipeline. This time SW codecs are used $ gst-launch playbin2 uri=file://`pwd`/media_file # To 'install' FSL plugins again, just untar the file $ cd / && tar xvf libmfw_gst.tar && cd - # then run your pipeline. This time HW codecs are used $ gst-launch playbin2 uri=file://`pwd`/media_file
查看全文
Video decoding gst-launch filesrc location=sample.mp4 ! qtdemux ! ffdec_h264 ! mfw_v4lsink Notes: On LTIB BSP 3.0.35_4.0.0, prep the package and apply the attached patch on top, then build. On Yocto, the easy way to add the gst-ffmpeg package is by adding these two lines on the conf/local.conf file: IMAGE_INSTALL_append = " gst-ffmpeg" LICENSE_FLAGS_WHITELIST = 'commercial'
查看全文
Multiple-Display means video playback on multiple screens. In case playback needs to be in a unique screen, the mfw_isink element must be used and some pipelines examples can be found on this link: GStreamer iMX6 Multi-Overlay. Number of Displays Display type Kernel parameters Pipelines # Set these shells variables before running the pipelines alias gl=gst-launch SINK_1="\"mfw_v4lsink device=/dev/video17\"" SINK_2="\"mfw_v4lsink device=/dev/video18\"" SINK_3="\"mfw_v4lsink device=/dev/video20\"" media1=file:///root/media1 media2=file:///root/media2 media3=file:///root/media3 2 hdmi + lvds video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24 video=mxcfb1:dev=ldb,LDB-XGA,if=RGB666 gl playbin2 uri=$media1 video-sink=$SINK_1 playbin2 uri=$media2 video-sink=$SINK_2 2 lvds + lvds video=mxcfb0:dev=ldb,LDB-XGA,if=RGB666 video=mxcfb1:dev=ldb,LDB-XGA,if=RGB666 gl playbin2 uri=$media1 video-sink=$SINK_1 playbin2 uri=$media2 video-sink=$SINK_2 2 lcd + lvds video=mxcfb0:dev=lcd,800x480M@55,if=RGB565 video=mxcfb1:dev=ldb,LDB-XGA,if=RGB666 gl playbin2 uri=$media1 video-sink=$SINK_1 playbin2 uri=$media2 video-sink=$SINK_2 3 hdmi + lvds + lvds video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24 video=mxcfb1:dev=ldb,LDB-XGA,if=RGB6 video=mxcfb2:dev=ldb,LDB-XGA,if=RGB666 gl playbin2 uri=$media1 video-sink=$SINK_1 playbin2 uri=$media2 video-sink=$SINK_2 playbin2 uri=$media3 video-sink=$SINK_3
查看全文
Audio transcoding # Transcode the input file into MP3 gst-launch filesrc location=media_file typefind=true ! beepdec ! mfw_mp3encoder ! matroskamux ! filesink location=output_audio_file.mk Audio transcoding + streaming # Transcode the input file into MP3 and stream it # On host, get the transcoded audio data gst-launch udpsrc port=8880 ! <CAPS_FROM_THE_TARGET> ! queue ! ffdec_mp3 ! alsasink # where <CAPS_FROM_THE_TARGET> can be something like 'audio/mpeg, mpegversion=(int)1, layer=(int)3, rate=(int)44100, channels=(int)2' # run the pipeline and check the caps gst-launch filesrc location=media_file typefind=true ! queue ! beepdec ! mfw_mp3encoder ! udpsink host=10.112.103.77 port=8880 -v Video Transcoding* # Transcode the input file into AVC (H-264) gst-launch filesrc location=media_file typefind=true ! aiurdemux name=demux ! queue ! vpudec ! vpuenc codec=avc ! matroskamux name=mux ! filesink location=output_media_file.mk Video Transcoding + scaling* # Transcode the input file into AVC (H264) and rescale video to 480p gst-launch filesrc location=media_file typefind=true ! aiurdemux name=demux ! queue ! vpudec ! mfw_ipucsc ! 'video/x-raw-yuv, width=(int)720, height=(int)480' ! vpuenc codec=avc ! matroskamux name=mux ! filesink location=output_media_file.mk Video transcoding + scaling + streaming* # NOTE: Run the pipelines in the presented order # On host, get the transcoded+scaled video data $ gst-launch udpsrc port=8888 ! <CAPS_FROM_THE_TARGET> ! queue ! ffdec_h264 ! xvimagesink # On target, run the pipeline and check the caps gst-launch filesrc location=media_file typefind=true ! aiurdemux name=demux ! queue ! vpudec ! mfw_ipucsc ! 'video/x-raw-yuv, width=(int)720, height=(int)480' ! vpuenc codec=avc ! udpsink host=$HOST_IP port=8888 -v * There is a limit for the number of pipelines which can be run simultaneously, for high resolution input files, at most two for 1080p and four for 720p.
查看全文
Audio, from a file gst-launch filesrc location=test.wav ! wavparse ! mfw_mp3encoder ! filesink location=output.mp3 Audio Recording gst-launch alsasrc num-buffers=$NUMBER blocksize=$SIZE ! mfw_mp3encoder ! filesink location=output.mp3 # where #     duration = $NUMBER*$SIZE*8 / (samplerate *channel *bitwidth) # Example: 60 seconds recording # gst-launch alsasrc num-buffers=240 blocksize=44100 ! mfw_mp3encoder ! filesink location=output.mp3 # # To verify that is correct, do a normal audio playback gst-launch filesrc location=output.mp3 typefind=true ! beepdec ! audioconvert ! 'audio/x-raw-int,channels=2' ! alsasink Video, from a test source gst-launch videotestsrc ! queue ! vpuenc ! matroskamux ! filesink location=./test.avi Video, from a file gst-launch filesrc location=sample.yuv blocksize=$BLOCK_SIZE ! 'video/x-raw-yuv,format=(fourcc)I420, width=$WIDTH, height=$HEIGHT, framerate=(fraction)30/1' ! vpuenc codec=$CODEC ! matroskamux ! filesink location=output.mkv sync=false # where #     BLOCK_SIZE = WIDTH * HEIGHT * 1.5 #     CODEC = 0(MPEG4), 5(H263), 6(H264) or 12(MJPG). # # For example, encoding a CIF raw file gst-launch filesrc location=sample.yuv blocksize=152064 ! 'video/x-raw-yuv,format=(fourcc)I420, width=352, height=288, framerate=(fraction)30/1' ! vpuenc codec=0 ! matroskamux ! filesink location=sample.mkv sync=false Video, from Web camera # when the web cam is connected, the device node /dev/video0 should be present. In order to test the camera, without encoding gst-launch v4l2src ! mfw_v4lsink # in recording, run: # gst-launch v4l2src num-buffers=-1 ! queue max-size-buffers=2 ! vpuenc codec=0 ! matroskamux ! filesink location=output.mkv sync=false # # where sync=false indicates filesink to to use a clock sync # # In case a specific width/height is needed, just add the filter caps gst-launch v4l2src num-buffers=-1  ! 'video/x-raw-yuv,format=(fourcc)I420, width=352, height=288, framerate=(fraction)30/1' ! queue ! vpuenc codec=0 ! matroskamux ! filesink location=output.mkv sync=false # # In case you want to see in the screen what the camera is capturing, add a tee element # gst-launch v4l2src num-buffers=-1 ! tee name=t ! queue ! mfw_v4lsink t. ! queue ! vpuenc codec=0 ! matroskamux ! filesink location=output.mkv sync=false Video, from Parallel/MIPI camera # The camera driver needs to be loaded before executing the pipeline, refer to the BSP document to see which driver to load # MIPI (J5 port): modprobe ov5640_camera_mipi modprobe mxc_v4l2_capture   # Parallel (J9 port): modprobe ov5642_camera modprobe mxc_v4l2_capture   gst-launch mfw_v4lsrc ! queue ! vpuenc codec=0 ! matroskamux ! filesink location=output.mkv sync=false   # Do a 'gst-inspect mfw_v4lsrc' or 'gst-inspect vpuenc' to see other possible settings (resolution, fps, codec, etc.)
查看全文
Video, bad performance gst-launch filesrc location=test.mp4 typefind=true ! aiurdemux ! vpudec ! mfw_v4lsink Video, better performance gst-launch filesrc location=sample.mp4 typefind=true ! aiurdemux ! queue max-size-time=0 ! vpudec ! mfw_v4lsink # typefind=true allows to 'type find' the source file before negotiating # max-size-time=0 indicates to ignore possible blocking issues # In case of ASF files gst-launch filesrc location=sample.asf typefind=true ! aiurdemux ! queue max-size-time=0 ! mfw_wmvdecoder ! mfw_v4lsink Audio gst-launch filesrc location=sample.mp3  typefind=true ! beepdec ! audioconvert  ! 'audio/x-raw-int, channels=2' ! alsasink Audio with visualization gst-launch filesrc location=sample.mp3 typefind=true ! beepdec ! tee name=t ! queue ! audioconvert  ! 'audio/x-raw-int, channels=2' ! alsasink t. ! queue ! audioconvert ! goom ! autovideoconvert ! autovideosink Video/Audio long version gst-launch filesrc location=sample.avi typefind=true ! aiurdemux name=demux demux. ! queue max-size-buffers=0 max-size-time=0 ! vpudec ! mfw_v4lsink demux. ! queue max-size-buffers=0 max-size-time=0 ! beepdec ! audioconvert ! 'audio/x-raw-int, channels=2' ! alsasink # queue properties, max-size-buffers=0 and max-size-time=0, allows a smoother playback; type 'gst-inspect queue' for more info VA short version gplay sample.avi VA short version gst-launch playbin2 uri=file://<full path to sample file>
查看全文
Header 1 Header 2 Video rendering gst-launch videotestsrc ! mfw_v4lsink Audio rendering gst-launch audiotestsrc ! alsasink WAV Audio rendering gst-launch filesrc location=test.wav ! wavparse ! alsasink Video rendering selecting caps gst-launch videotestsrc ! capsfilter name='video/x-raw-yuv,format=(fourcc)I420' ! mfw_v4lsink gst-launch videotestsrc ! 'video/x-raw-yuv,format=(fourcc)I420' ! mfw_v4lsink
查看全文
gst-inspect is a tool to to get documentation about GStreamer elements. Pipeline Check installed GST elements gst-inspect | tail -1 Check installed FSL GST elements gst-inspect | grep imx Element documentation gst-inspect <gst element>
查看全文