0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MPSoC VCU調(diào)試方法和調(diào)試流程

笑過(guò)就走 ? 來(lái)源:笑過(guò)就走 ? 作者:笑過(guò)就走 ? 2022-08-02 09:29 ? 次閱讀

概要介紹
MPSoC VCU在很多產(chǎn)品中得到了應(yīng)用。在不同產(chǎn)品的調(diào)試過(guò)程中,有一些共同的辦法。

首先看看Video子系統(tǒng)的簡(jiǎn)單框圖,其中包含視頻輸入、編解碼、視頻輸出等模塊。視頻輸入模塊,硬件可能是HDMI-RX和FrmBufWrite; 軟件一般是Linux V4L2。編解碼模塊是VCU,配套的軟件是GStreamer,或者Ctrl-SW。視頻輸出模塊,硬件可能是HDMI-TX和FrmBufRead; 軟件一般是Linux DRM。

pYYBAGGYHP2AKmn9AACMyWnjsGU738.png

調(diào)試時(shí),根據(jù)上述框圖,逐個(gè)檢查其中的模塊的輸入輸出。

視頻輸入模塊
檢查視頻輸入源
調(diào)試VCU時(shí),首先檢查視頻輸入模塊的輸出是否正常。如果Linux V4L2管理視頻輸入模塊的硬件,則會(huì)創(chuàng)建Linux的media/video設(shè)備,可以使用工具media-ctl查看它們的信息。對(duì)于HDMI-Rx,可以看到有沒(méi)有連接源設(shè)備,視頻輸入源的分辨率、格式等。

#media-ctl -p -d /dev/media0 
 
Media controller API version 0.1.0
  
Media device information
------------------------
driver          xilinx-video
model           Xilinx Video Composite Device
serial
bus info
hw revision     0x0
driver version  0.0.0
  
Device topology
- entity 1: vcap_hdmi output 0 (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video0
        pad0: Sink
                <- "a0000000.v_hdmi_rx_ss":0 [ENABLED]
  
- entity 5: a0000000.v_hdmi_rx_ss (1 pad, 1 link)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev0
        pad0: Source
                [fmt:RBG24/1920x1080 field:none]
                [dv.caps:BT.656/1120 min:0x0@25000000 max:4096x2160@297000000 stds:CEA-861,DMT,CVT,GTF caps:progressive,reduced-blanking,custom]
                [dv.detect:BT.656/1120 1920x1080p60 (2200x1125) stds:CEA-861 flags:CE-video]
                -> "vcap_hdmi output 0":0 [ENABLED]

抓取原始圖像
在確保視頻輸入源的工作正常、分辨率和格式正確后,可以再繼續(xù)使用yavta來(lái)抓取原始圖像,從而檢查圖像內(nèi)容。

#yavta -n 3 -c10 -f UYVY -f UYVY -s 1920x1080 --skip 7 -F /dev/video0
Device /dev/video0 opened.
Device `vcap_hdmi output 0' on `platform:vcap_hdmi:0' is a video output (without mplanes)[63898.159475] xilinx-frmbuf a0010000.v_frmbuf_wr: Framebuffer not configured for fourcc 0x59565955
 device.
Video format set: UYVY (59565955) 1920x1080 field none[63898.173868] xilinx-frmbuf a0010000.v_frmbuf_wr: Framebuffer not configured for fourcc 0x59565955
, 1 planes:
 * Stride 3840, buffer size 4147200
Video format:[63898.188189] xilinx-frmbuf a0010000.v_frmbuf_wr: Framebuffer not configured for fourcc 0x59565955
 UYVY (59565955) 1920x1080 field none, 1 planes:
 * Stride 3840, buffer size 4147200
3 buffers requested.
length: 1 offset: 3444933696 timestamp type/source: mono/EoF
Buffer 0/0 mapped at address 0x7fa84b0000.
length: 1 offset: 3444933696 timestamp type/source: mono/EoF
Buffer 1/0 mapped at address 0x7fa80bb000.
length: 1 offset: 3444933696 timestamp type/source: mono/EoF
Buffer 2/0 mapped at address 0x7fa7cc6000.
Unable to start streaming: Invalid argument (22).
3 buffers released.

檢查原始圖像
接下來(lái)再使用YUV Player或者YUV Player github 分支檢查原始圖像是否正確。需要根據(jù)圖像源,正確設(shè)置分辨率和YUV格式。如果圖像輪廓就時(shí)錯(cuò)誤的,這表明Y數(shù)據(jù)就是錯(cuò)誤的,或者分辨率的行寬是錯(cuò)誤的,如果輪廓正確、顏色錯(cuò)誤,這表明Y數(shù)據(jù)是對(duì)的,分辨率的高不對(duì),或色彩格式不對(duì)。大塊的連續(xù)色彩錯(cuò)誤,有可能是把Y數(shù)據(jù),當(dāng)成了UV數(shù)據(jù)。

Encoder
得到了正確的YUV數(shù)據(jù)后,繼續(xù)使用Encoder編碼。如果有問(wèn)題,保存Encoder輸出的碼流,傳送到PC機(jī)上,使用FFMpeg檢查。首先可以使用ffplay播放,用肉眼觀察圖像。

Microsoft Windows [Version 10.0.18363.1801]
(c) 2019 Microsoft Corporation. All rights reserved.
C:\prj>ffplay vcu_example.h265
ffplay version N-89369-g5a93a85fd0 Copyright (c) 2003-2017 the FFmpeg developers
  built with gcc 7.2.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx
  libavutil      56.  4.100 / 56.  4.100
  libavcodec     58.  6.102 / 58.  6.102
  libavformat    58.  2.103 / 58.  2.103
  libavdevice    58.  0.100 / 58.  0.100
  libavfilter     7.  6.100 /  7.  6.100
  libswscale      5.  0.101 /  5.  0.101
  libswresample   3.  0.101 /  3.  0.101
  libpostproc    55.  0.100 / 55.  0.100
[hevc @ 000001b016710180] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, hevc, from 'vcu_example.h265':=    0KB sq=    0B f=0/0
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: hevc (Main), yuv420p(tv, unknown/bt709/unknown), 3840x2160, 45 fps, 45 tbr, 1200k tbn, 45 tbc
    nan M-V:    nan fd=   2 aq=    0KB vq=  844KB sq=    0B f=0/0

其次可以使用ffprobe導(dǎo)出碼流信息,查看各幀的類(lèi)型和大小。

C:\prj>ffprobe vcu_example.h265 > vcu_example.h265.txt
ffprobe version N-89369-g5a93a85fd0 Copyright (c) 2007-2017 the FFmpeg developers
  built with gcc 7.2.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx
  libavutil      56.  4.100 / 56.  4.100
  libavcodec     58.  6.102 / 58.  6.102
  libavformat    58.  2.103 / 58.  2.103
  libavdevice    58.  0.100 / 58.  0.100
  libavfilter     7.  6.100 /  7.  6.100
  libswscale      5.  0.101 /  5.  0.101
  libswresample   3.  0.101 /  3.  0.101
  libpostproc    55.  0.100 / 55.  0.100
[hevc @ 0000019dfe94cd80] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, hevc, from 'vcu_example.h265':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: hevc (Main), yuv420p(tv, unknown/bt709/unknown), 3840x2160, 45 fps, 45 tbr, 1200k tbn, 45 tbc

還可以使用ffmpeg把每一幀轉(zhuǎn)換成bmp圖片,仔細(xì)查看。

C:\prj>ffmpeg  -i vcu_example.h265  -frames 10 vcu_example.%04d.bmp
ffmpeg version N-89369-g5a93a85fd0 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 7.2.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx
  libavutil      56.  4.100 / 56.  4.100
  libavcodec     58.  6.102 / 58.  6.102
  libavformat    58.  2.103 / 58.  2.103
  libavdevice    58.  0.100 / 58.  0.100
  libavfilter     7.  6.100 /  7.  6.100
  libswscale      5.  0.101 /  5.  0.101
  libswresample   3.  0.101 /  3.  0.101
  libpostproc    55.  0.100 / 55.  0.100
[hevc @ 000002bda8bd9880] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, hevc, from 'vcu_example.h265':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: hevc (Main), yuv420p(tv, unknown/bt709/unknown), 3840x2160, 45 fps, 45 tbr, 1200k tbn, 45 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (hevc (native) -> bmp (native))
Press [q] to stop, [?] for help
Output #0, image2, to 'vcu_example.%04d.bmp':
  Metadata:
    encoder         : Lavf58.2.103
    Stream #0:0: Video: bmp, bgr24, 3840x2160, q=2-31, 200 kb/s, 45 fps, 45 tbn, 45 tbc
    Metadata:
      encoder         : Lavc58.6.102 bmp
frame=   10 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.22 bitrate=N/A speed=0.568x
video:243001kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

有問(wèn)題時(shí),再使用保存的YUV文件,使用xilinx發(fā)布的ctrlsw_encoder在ZCU106單板上編碼,對(duì)比效果。也可以試試Xilinx提供的配置文件。如果有區(qū)別,再對(duì)比實(shí)際代碼和xilinx發(fā)布的ctrlsw_encoder、配置文件的區(qū)別。

Decoder
檢查完encoder的輸出,再檢查decoder的輸出。ctrlsw_decoder默認(rèn)輸出I420(YUV420)/I422(YUV422)格式的YUV輸出。如果需要,可以參考VCU Ctrl-SW 2020.2輸出 NV12 的 YUV 文件,使ctrlsw_decoder輸出NV12/NV16的文件。輸出后,也可以使用YUV Player或者YUV Player github 分支檢查解碼后的YUV圖像是否正確。

圖像質(zhì)量
如果圖像質(zhì)量有問(wèn)題,建議使用大的顯示器或電視機(jī)查看。顯示器或電視機(jī)要真實(shí)支持檢查的分辨率,在顯示中不能有縮放,避免縮放引起新的問(wèn)題。也可以使用ffmpeg的下面命令,將碼流轉(zhuǎn)換為bmp圖片,一幀一幀查看。

C:\prj>ffmpeg  -i vcu_example.h265  -frames 10 vcu_example.%04d.bmp
ffmpeg version N-89369-g5a93a85fd0 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 7.2.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx
  libavutil      56.  4.100 / 56.  4.100
  libavcodec     58.  6.102 / 58.  6.102
  libavformat    58.  2.103 / 58.  2.103
  libavdevice    58.  0.100 / 58.  0.100
  libavfilter     7.  6.100 /  7.  6.100
  libswscale      5.  0.101 /  5.  0.101
  libswresample   3.  0.101 /  3.  0.101
  libpostproc    55.  0.100 / 55.  0.100
[hevc @ 000001bb953e9880] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, hevc, from 'vcu_example.h265':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: hevc (Main), yuv420p(tv, unknown/bt709/unknown), 3840x2160, 45 fps, 45 tbr, 1200k tbn, 45 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (hevc (native) -> bmp (native))
Press [q] to stop, [?] for help
Output #0, image2, to 'vcu_example.%04d.bmp':
  Metadata:
    encoder         : Lavf58.2.103
    Stream #0:0: Video: bmp, bgr24, 3840x2160, q=2-31, 200 kb/s, 45 fps, 45 tbn, 45 tbc
    Metadata:yo
      encoder         : Lavc58.6.102 bmp
frame=   10 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.22 bitrate=N/A speed=0.553x
video:243001kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

通常,增大碼率、減小QP值、使用VBR、使用跳幀等,可以?xún)?yōu)化圖像質(zhì)量。

VCU性能
如果檢查VCU性能,建議使用實(shí)際視頻輸入輸出,因?yàn)槲募僮饔泻臅r(shí)內(nèi)存拷貝。如果用文件,也一定要把文件放在Linux的ramdisk上,不能使用sd等存放。

測(cè)試性能時(shí),千萬(wàn)記住,不能使用軟件復(fù)制Video數(shù)據(jù),包括Gstreamer的tee插件。

案例
使用VBR優(yōu)化圖像質(zhì)量
有項(xiàng)目反應(yīng)圖像質(zhì)量與參考的視頻有差距。拿到VCU編碼的視頻碼流和參考視頻碼流后,使用ffprobe分析,得到每一幀的大小。發(fā)現(xiàn)VCU的視頻碼流的I幀小于150KByte,而參考視頻碼流的視頻碼流的I幀有400KByte。建議使用VBR。應(yīng)用VBR后,圖像質(zhì)量明顯改善。

解決I幀小導(dǎo)致的圖像質(zhì)量問(wèn)題
有項(xiàng)目反應(yīng)圖像質(zhì)量與參考的視頻有差距。拿到VCU編碼的視頻碼流和參考視頻碼流后,使用ffprobe分析,得到每一幀的大小。發(fā)現(xiàn)VCU的視頻碼流的I幀大約時(shí)是180KByte,而參考視頻碼流的視頻碼流的I幀有1000KByte。該項(xiàng)目使用VBR后,I幀圖像也沒(méi)有增大。檢查VCU的配置,發(fā)現(xiàn)配置文件了有“MaxPictureSize = 1500”,相當(dāng)于180KByte。建議客戶(hù)設(shè)置“MaxPictureSize = 20000”,或者移除這一條后,圖像質(zhì)量明顯改善。MaxPictureSize用于限制幀編碼后的最大大小,目的是減少碼率波動(dòng),會(huì)限制I幀的質(zhì)量。

建議
分析VCU的問(wèn)題時(shí),請(qǐng)?zhí)峁¬CU的視頻碼流、參考視頻碼流、原始碼流、配置文件。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 調(diào)試
    +關(guān)注

    關(guān)注

    7

    文章

    564

    瀏覽量

    33835
  • MPSoC
    +關(guān)注

    關(guān)注

    0

    文章

    195

    瀏覽量

    24212
  • VCU
    VCU
    +關(guān)注

    關(guān)注

    17

    文章

    79

    瀏覽量

    20371
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何調(diào)試Zynq UltraScale+ MPSoC VCU DDR控制器

      如何調(diào)試Zynq UltraScale+ MPSoC VCU DDR控制器  Zynq UltraScale+ MPSoC VCU DD
    發(fā)表于 01-07 16:02

    如何調(diào)試Zynq UltraScale+ MPSoC VCU DDR控制器

    如何調(diào)試 Zynq UltraScale+ MPSoC VCU DDR 控制器?
    發(fā)表于 01-22 06:29

    嵌入式軟件開(kāi)發(fā)流程及ARM的中斷調(diào)試方法介紹

    本內(nèi)容主要介紹了嵌入式軟件開(kāi)發(fā)流程及ARM的中斷調(diào)試方法,在整個(gè)流程中,用戶(hù)首先需要建立工程并對(duì)工程做初步的配置,包括配置處理器和配置調(diào)試設(shè)
    發(fā)表于 11-09 17:03 ?2540次閱讀

    Profibus調(diào)試方法

    Profibus調(diào)試方法
    發(fā)表于 04-27 08:50 ?9次下載

    Xilinx Zynq UltraScale+ MPSoC的同步調(diào)試和跟蹤演示

    Lauterbach演示了Zynq UltraScale + MPSoC上的ARM Cortex-A53和Cortex-R5內(nèi)核在2015年嵌入式世界中首次使用其TRACE32產(chǎn)品進(jìn)行同步調(diào)試和跟蹤。
    的頭像 發(fā)表于 11-27 06:48 ?3868次閱讀

    linux中程序調(diào)試方法

    這是一個(gè)基本的調(diào)試問(wèn)題的方法。 我們?cè)诔绦蛑袘岩傻牡胤讲迦雙rint語(yǔ)句來(lái)了解程序的運(yùn)行流程控制流和變量值的改變。
    發(fā)表于 06-16 09:34 ?1936次閱讀
    linux中程序<b class='flag-5'>調(diào)試</b>的<b class='flag-5'>方法</b>

    FPGA設(shè)計(jì)與調(diào)試教程說(shuō)明

    FPGA概述FPGA調(diào)試介紹調(diào)試挑戰(zhàn)設(shè)計(jì)流程概述■FPGA調(diào)試方法概述嵌入式邏輯分析儀外部測(cè)試設(shè)備■使用 FPGAVIEW改善外部測(cè)試設(shè)備
    發(fā)表于 09-22 17:43 ?9次下載
    FPGA設(shè)計(jì)與<b class='flag-5'>調(diào)試</b>教程說(shuō)明

    淺談Xilinx MPSoC常見(jiàn)的調(diào)試思路

    在嵌入式系統(tǒng)里,以太網(wǎng)是一個(gè)基本的接口,既用于調(diào)試,也用于數(shù)據(jù)傳輸。所以在單板調(diào)試過(guò)程中,以太網(wǎng)是一個(gè)基本的任務(wù)。如果以太網(wǎng)工作正常,也可以說(shuō)是一個(gè)重要的里程碑。 Xilinx MPSoC支持多個(gè)
    的頭像 發(fā)表于 11-06 15:07 ?2975次閱讀

    DDR PHY 與電路板調(diào)試

    UltraScale+ MPSoC VCU(H.264/H.265 視頻編解碼器)連用。 因此,調(diào)試將不同于 MIG 等傳統(tǒng) Xilinx DDR 控制器。 DDR PHY 與電路板調(diào)試
    的頭像 發(fā)表于 02-08 15:51 ?1712次閱讀

    如何調(diào)試 Zynq UltraScale+ MPSoC VCU DDR 控制器?

    UltraScale+ MPSoC VCU(H.264/H.265 視頻編解碼器)連用。 因此,調(diào)試將不同于 MIG 等傳統(tǒng) Xilinx DDR 控制器。 DDR PHY 與電路板調(diào)試
    發(fā)表于 02-23 06:00 ?15次下載
    如何<b class='flag-5'>調(diào)試</b> Zynq UltraScale+ <b class='flag-5'>MPSoC</b> <b class='flag-5'>VCU</b> DDR 控制器?

    簡(jiǎn)述MPSoC VCU調(diào)試方法調(diào)試流程

    概要介紹 MPSoC VCU在很多產(chǎn)品中得到了應(yīng)用。在不同產(chǎn)品的調(diào)試過(guò)程中,有一些共同的辦法。 首先看看Video子系統(tǒng)的簡(jiǎn)單框圖,其中包含視頻輸入、編解碼、視頻輸出等模塊。視頻輸入模塊,硬件可能是
    的頭像 發(fā)表于 10-13 10:43 ?1771次閱讀
    簡(jiǎn)述<b class='flag-5'>MPSoC</b> <b class='flag-5'>VCU</b><b class='flag-5'>調(diào)試</b><b class='flag-5'>方法</b>和<b class='flag-5'>調(diào)試</b><b class='flag-5'>流程</b>

    Zynq UltraScale+ MPSoC以太網(wǎng)接口調(diào)試

    Zynq&ZU+ Mpsoc的以太網(wǎng)使用普遍,從功能大致分為2類(lèi)應(yīng)用:調(diào)試管理、數(shù)據(jù)傳輸。本文主要集中在PS端的Ethernet RGMII外接phy設(shè)計(jì)和調(diào)試,該部分客戶(hù)用的最多也最容易出問(wèn)題,希望通過(guò)本文對(duì)基于RGMII+p
    的頭像 發(fā)表于 08-02 08:03 ?2523次閱讀
    Zynq UltraScale+ <b class='flag-5'>MPSoC</b>以太網(wǎng)接口<b class='flag-5'>調(diào)試</b>

    焊接機(jī)器人調(diào)試流程有哪些?調(diào)試不當(dāng)該如何解決?

    焊接機(jī)器人調(diào)試流程一共分七步,正確的調(diào)試流程能夠明確產(chǎn)品的生產(chǎn)流程,代替人工在惡劣的環(huán)境中進(jìn)行工作,實(shí)現(xiàn)穩(wěn)定生產(chǎn)。
    的頭像 發(fā)表于 03-06 12:56 ?1686次閱讀
    焊接機(jī)器人<b class='flag-5'>調(diào)試</b><b class='flag-5'>流程</b>有哪些?<b class='flag-5'>調(diào)試</b>不當(dāng)該如何解決?

    教程 8:調(diào)試方法

    教程 8:調(diào)試方法
    發(fā)表于 03-16 19:00 ?1次下載
    教程 8:<b class='flag-5'>調(diào)試</b><b class='flag-5'>方法</b>

    硬件調(diào)試流程介紹

    最近在調(diào)試產(chǎn)品,正好看到前人總結(jié)的一個(gè)調(diào)試流程圖,總結(jié)了本文,供大家交流學(xué)習(xí)。首先我們看看如下這個(gè)流程圖。 調(diào)試
    的頭像 發(fā)表于 09-10 10:16 ?1313次閱讀
    硬件<b class='flag-5'>調(diào)試</b><b class='flag-5'>流程</b>介紹