<strike id="agzx9"><nobr id="agzx9"></nobr></strike>

    
    <code id="agzx9"><small id="agzx9"></small></code>
  • <object id="agzx9"></object>
        <th id="agzx9"></th>

        1. <code id="agzx9"></code>

            ?

            自動化網-工控人家園官網

            當前位置: 主頁 > 知識資料 > 論文總結 >

            嵌入式開發中DSP與FPGA的關系-嵌入式Linux基于Qt開發GPIO應用

            時間:2017-03-02 11:03來源:未知 作者:admin 點擊:
            嵌入式開發中DSP與FPGA的關系-嵌入式Linux基于Qt開發GPIO應用
            常所說的單片機側重于控制,不支持信號處理,屬于低端嵌入式處理器,arm可以看做是低端單片機升級版,支持操作系統管理,更多接口如網卡,處理能力更強;fpga是可編程邏輯器件,側重時序,可構建從小型到大型的幾乎所有數字電路系統,DSP主要完成復雜的數字信號處理,如fft,通常一個復雜系統可以由單片機、arm、FPGA、dsp中的一種或幾種構成,各有優勢和不足。
              dsp通常用于運算密集型,fpga用于控制密集型,許多人都用dsp高算法,用fpga 作外圍控制電路。
              去年xilinx在北京介紹FPGA和DSP融合的時候,大有席卷DSP和FPGA市場之勢。但后來在實際中發現其阻力也是不小的,關鍵是很難搭配FPGA和DSP的比重。我們知道FPGA擅長各種控制(也包括適時性非常高的信號處理如移動通信中基帶濾波,該濾波用C5000,C6000很難勝任,除非多芯片并行),DSP擅長各種信號處理運算,但在一個系統中究竟有多大的控制電路,有多少密集運算?變數是很大的,我們不可能用一個芯片解決這個問題。對于運算密集性系統,我們如果使用這種芯片的話很有可能還要其他DSP,那么我們需要了解多種DSP編程和接口設計,這是否與我們的初衷背道而馳呢?
              上面都是一些基本概念的介紹,下面我就來通俗介紹一下,在DSP里,你是一個軟件設計者,硬件已經完全固化,你所要做的,就是在這個固定的硬件平臺實現其功能的最優化,一般TI的DSP涉及最多的是一些基本的BIOS操作系統之間的任務調度,以及算法改進與優化等待, DSP的關鍵優勢包括其對于新型及復雜算法時的更短的開發時間,以及能夠運行多種算法的靈活性。
              而對于FPGA來說,你是一個硬件設計者,FPGA就是一張白紙,上面寫什么,畫什么都取決于你。同樣一片FPGA,菜鳥和高手實現的功能會是天壤之別,FPGA的最大優勢在于硬件實現已及通過并行處理實現的效率增益。使用FPGA,您大多的時間并非進行算法設計與優化,而是邏輯設計與時序約束等等。
              FPGA與DSP關系:
              1、 DSP側重于核心算法處理,FPGA側重于外圍控制處理。
              2、 DSP內是用C語言編寫,語言執行是串行處理,效率比較低。
              FPGA側重于并行處理,效率較高;還有交合邏輯(外圍接口、通訊等);
              FPGA發展領域:
              使用領域:電子設計、通訊、汽車、軍工
              不適合:消費類產品(手機)—FPGA功耗高;
              FPGA技術難點:
              1、 需要專門的硬件語言來開發
              2、 FPGA靈活性比較高,設計是由工程師來決定,需要測試驗證
              主圖:

            嵌入式Linux基于Qt開發GPIO應用

            簡介

            基于Embedded Linux系統的嵌入式設備使用跨平臺GUI開發工具Qt來開發嵌入式應用已經非常普遍,本文就以GPIO應用為示例演示下如何通過Qt的集成開發環境Qtcreator來開發嵌入式Linux應用.

            本文所采用的硬件平臺來自與Toradex發布的基于NXPiMX7 SoC的ColibriiMX7 ARM計算機模塊配合ColibriEva Board.

            2). 準備

            a).Toradex ColibriiMX7S (基于NXPiMX7S SoC)計算機模塊配合ColibriEva Board開發載板.

            b). EmbeddedLinux 使用基于OpenEmbedded框架重新編譯的集成Qt5.5的Toradex Linux imagereleaseV2.6.1版本以及對應的SDK.這個可以結合這里的說明自己進行編譯,也可以通過這里直接下載編譯好的image和SDK文件.

            c).合適的Qtcreator版本,本文使用為3.1.1版本.

            3). 軟硬件安裝

            a).由于只是簡單展示利用Qt開發GPIO應用,本文只使用一個GPIO來驅動ColibriEva Board上面自帶的LED.

            b).硬件連接,將ColibriEva載板X10連接器SODIMM_127 和X21連接器LED1連接,并去掉對應的X11跳線帽。其他就是標準的串口網口等連接用于調試程序.

            c).將上面準備好Linux image (如Colibri_iMX7_LinuxImageV2.6.1_20170220.tar.bz2)按照這里的說明更新到ColibriiMX7計算機模塊上面.

            d).安裝Qtcreator, 具體方法這里不贅述.

            e).在Ubuntu開發主機上面,運行下面命令安裝SDK, 安裝位置默認為”/usr/local/oecore-x86_64”,當然也可以自行設置, 本文保留默認選項.

            ------------------------------

            toradex@toradex-ubuntu:chmod a+xangstrom-glibc-x86_64-armv7at2hf-vfp-neon-v2015.12-toolchain.sh

            toradex@toradex-ubuntu:./angstrom-glibc-x86_64-armv7at2hf-vfp-neon-v2015.12-toolchain.sh

            ------------------------------

            4).Qtcreator配置

            a).打開Ubuntu開發主機命令行,通過下面命令啟動Qtcreator

            ------------------------------

            toradex@toradex-ubuntu: source/usr/local/oecore-x86_64/environment-setup-armv7at2hf-neon-angstrom-linux-gnueabi

            toradex@toradex-ubuntu: $ echo$OE_QMAKE_CXX

            arm-angstrom-linux-gnueabi-g++-march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard--sysroot=/usr/local/oecore-x86_64/sysroots/armv7at2hf-neon-angstrom-linux-gnueabi

            toradex@toradex-ubuntu:qtcreator

            ------------------------------

            b).在qtcreator界面下,進入Tools->Options選項菜單,進入Device選項

            ./點擊”Add”, 并選擇”Generic Linux Device”添加新設備,設置好設備名字和IP地址,用戶名默認為”root”,密碼空.


            c). 進入Build & Run菜單選項

            ./首先進入Qt Versions, 點擊”Add”添加,指定SDK qmake, 其位置位于”/usr/local/oecore-x86_64/sysroots/x86_64-angstromsdk-linux/usr/bin/qt5/qmake”.

            ./進入Compilers, 點擊”Add”添加GCCC++編譯器,其位置位于”usr/local/oecore-x86_64/sysroots/x86_64-angstromsdk-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-g++”,不過更新版本的Qtcreator下這里還需要添加C編譯器,也在同一目錄下,為”arm-angstrom-linux-gnueabi-gcc”. 另外其他配置上”Platform codegenflags”設置為”‘${CFLAGS}’”,“Platform linker flags”設置為”‘${LDFLAGS}’”.

            ./進入Debuggers, 點擊”Add”添加GDB,其位置位于”/usr/local/oecore-x86_64/sysroots/x86_64-angstromsdk-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-gdb”

            ./進入Kits, 點擊”Add”添加,如下講上述設定的內容適配,新版本Qtcreator在Compiler這里會分開C和C++分別設定.

            5). Qtcreator GPIO應用開發

            a). Qtcreator 創建一個新項目, New Project-> Applications -> QtWidgets Application -> Location (任意)-> Kit (指定上面創建的kit)-> Class Information (默認).

            b). 在qtcreator項目下新建GPIO操作相關的header和source文件

            ./ Header 文件代碼如下,主要定義一些全局環境變量和聲明GPIO基本的操作函數

            https://github.com/simonqin09/QtGPIOProject/blob/master/GPIOSet.h

            ./ source文件代碼如下,主要是GPIO基本操作函數

            https://github.com/simonqin09/QtGPIOProject/blob/master/GPIOSet.cpp

            c). 進入Forms -> mainwindow.ui, 如下編輯界面,添加一個”button”控件和一個”lineedit”控件.同時通過”go to slot” 添加”button” 的”clicked” 動作.

            d). 修改mainwindow header和source文件,實現GPIO控制

            ./ Hearder文件代碼如下,只是聲明了幾個要用的變量

            https://github.com/simonqin09/QtGPIOProject/blob/master/mainwindow.h

            ./ source文件代碼如下, 在窗口初始化時候同時初始化GPIO(這里使用SODIMM127作為GPIO輸出pin),另外在”clicked”下面處理按鍵反轉GPIO輸出的動作控制.

            https://github.com/simonqin09/QtGPIOProject/blob/master/mainwindow.cpp

            e). 編譯應用程序,講編譯號的可執行文件scp復制到ColibriiMX7模塊系統上面執行,效果如下:

            (責任編輯:admin)
            織夢二維碼生成器
            頂一下
            (0)
            0%
            踩一下
            (0)
            0%
            ------分隔線----------------------------
            發表評論
            請自覺遵守互聯網相關的政策法規,嚴禁發布色情、暴力、反動的言論。
            評價:
            表情:
            用戶名: 驗證碼:點擊我更換圖片
            ? 亚洲韩日欧美专区,中文字幕无码不卡免费视频,欧美高清整片在线观看,无码免费毛片手机在线无卡顿,洛洛色中文网最新版,影音先锋亚洲熟女av网 久久爱 台湾在线,中文字幕手机在线看片不卡,在线综合亚洲欧美网站,亚洲手机在线人成网站毛片,一道本在线伊人蕉无码,青青青在线视频在线观看 色偷偷AV男人的天堂,免费精品国自产拍在线播放,一本到dvd不卡在线观看,农村妇女国产三级,白俄罗斯女性顶级毛片,在线亚洲国产日韩欧洲专区 丰满少妇BD正在播放,中文字幕无线码一区2020青青,中文字幕不卡在线视频,免费五级A片,天天澡天天揉揉AV无码,香蕉视频在线,久热在线播放中文字幕 丰满少妇BD正在播放,中文字幕无线码一区2020青青,中文字幕不卡在线视频,免费五级A片,天天澡天天揉揉AV无码,香蕉视频在线,久热在线播放中文字幕 亚洲欧美日韩综合久久,毛成片1卡2卡3卡4卡,超清中文乱码字幕在线观看,人妻熟女av一区二区三区,日本α片免费视频,超碰国产人人做人人爽 91久久国产综合精品女同,国产免费久久精品99reswag,尤物国产在线精品福利三区,久久精品这里热有精品,中文字幕欧洲有码无码,超碰97人人做人人爱 色戒2小时38分在线观看,人妻少妇88久久中文字幕,国产日韩欧美亚欧在线,午夜看一级毛片,欧美 亚洲 中文字幕 高清,中文字幕精品无码2021
            人妻无码手机在线中文,韩国无码一区二区三区免费视频,日韩欧美亚洲每日更新在线,国产美女爽到喷出水来视频,国产超级乱婬Av片,伊人久久大香线蕉av网禁呦 亚洲国产精品无码中文,欧美不卡视频一二三区,成人免费A级毛片,亚洲av 中文字幕 国产 欧美,99热国产精品丝袜,国产成本人片无码免费 91久久国产综合精品女同,国产免费久久精品99reswag,尤物国产在线精品福利三区,久久精品这里热有精品,中文字幕欧洲有码无码,超碰97人人做人人爱 91久久国产综合精品女同,国产免费久久精品99reswag,尤物国产在线精品福利三区,久久精品这里热有精品,中文字幕欧洲有码无码,超碰97人人做人人爱 四虎影视88aa四虎在钱,日本在线播放第一区,免费观看四虎精品国产,俄罗斯胖妇肥妇毛多大肥P,暖暖高清视频在线观看韩国,男人让女人爽的免费视频 久久爱 台湾在线,中文字幕手机在线看片不卡,在线综合亚洲欧美网站,亚洲手机在线人成网站毛片,一道本在线伊人蕉无码,青青青在线视频在线观看 亚洲成av人片一区二区,国产精品视频二区不卡,三级黄线在线播放免费,外国女人性爱自为视频,国产欧美另类久久久精品,亚洲成在人网站天堂 日本一本大道视频,2020国自产拍精品网站不卡,不卡无在线一区二区三区观,国产亚洲美女在线视频,人妻少妇456在线视频,GOGO人体大胆高清专业 99久久免费国产精品,久久久综合色88一本到鬼色,国产福利不卡在线视频,曰本A毛片免费视频,国产晚上碰视频全国免费,青春草一本到久久综合 国第一产在线精品亚洲区,91精品国自产拍天天拍,韩国和日本免费不卡在线,中国大陆国产高清AⅤ,亚洲视频在线看,大香线蕉伊人精品超碰