• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Linux嵌入式設備與QT軟件開發(fā)

      2018-12-20 11:29:59秦貞滕張永狀鄧志豪重慶三峽學院電子與信息工程學院通信工程專業(yè)2015級
      數碼世界 2018年12期
      關鍵詞:內核串口嵌入式

      秦貞滕 張永狀 鄧志豪 重慶三峽學院電子與信息工程學院通信工程專業(yè)2015級

      引言:隨著社會的不斷發(fā)展,無線的傳輸速度和傳輸時延也越來越快,這將推動著物聯(lián)網技術的快速發(fā)展,而嵌入式系統(tǒng)可以說是一種比較好的與各類硬件軟件連接工作的平臺,嵌入式系統(tǒng)可以自定義各種驅動是否含有,讓操作系統(tǒng)能以最小的體積,最合適的功能,不浪費運行空間和設備性能來保證嵌入式設備正常工作。而QT是一種一次開發(fā),多處運行的一種開發(fā)平臺,還是一種面向對象的C++應用程序圖形界面設計,其中的信號與槽機制能有效的開發(fā)所設計的功能。作者就是為了給各位讀者搭建一個基本的開發(fā)嵌入式硬軟件的基本概念和流程。

      1 Linux系統(tǒng)概述

      Linux其實僅僅是代表內核,但大多數人都喜歡用這個單詞代表系統(tǒng),該內核是開源的,免費的,可以自由傳播。Linux系統(tǒng)支持多用戶,多線程,多核CPU的實時操作系統(tǒng),Linux可以自由裁剪,自由選擇驅動和想要的組件,以縮小系統(tǒng)大小,舍去無需的服務以減少運行系統(tǒng)的資源開支。

      關于linux系統(tǒng)的實時性,就是在確定的范圍之內響應某個事件的特性,這對于一些嵌入式設備是基本的要求。對于嵌入式硬件,這種對于體積和造價要求比較苛刻的設備來說,里面的硬件資源是寸土寸金的,所以必須嚴格控制軟件占用,讓整個系統(tǒng)平穩(wěn)運作。

      Linux系統(tǒng)的移植還需要一個基本工具就是bootloader,用來引導操作系統(tǒng),主要作用是初始化和檢測硬件設備,建立內存空間映射讓基本的硬件都協(xié)調工作,實現(xiàn)基本硬件功能,為了接下來的系統(tǒng)移植提供基本的硬件準備。

      2 QT開發(fā)平臺概述

      Qt是一款跨平臺C++圖形用戶應用開發(fā)平臺,可以開發(fā)GUI應用,也可以開發(fā)非GUI應用,控制臺,服務器等都可以,我們?yōu)榱吮O(jiān)控和控制嵌入式設備一般都是開發(fā)圖形用戶界面來直觀的觀察情況。由于QT的跨平臺性,我們可以在任何一個平臺開發(fā),到其他平臺上編譯,然后去運行,省去了二次開發(fā)的麻煩。QT提供了很多API,包括串口通信,TCP/IP網絡,各種GUI組件和控件,XML支持。QT獨特的信號與槽機制讓各種可以與用戶交互的按鈕和控件可以關聯(lián)到SLOT槽函數里面,交互即執(zhí)行函數,直觀便于理解。

      對一些新手開發(fā)者最有利的就是,QT官方提供了大量的開發(fā)文檔,可以在QT creator 里面直接搜索得到解決辦法。

      3 項目設計和開發(fā)

      任何項目或者設計在開始之前都需要合理規(guī)劃和分析,然后再去一步一步的開發(fā)和設計,避免從做無用的工作。

      3.1 需求分析

      開發(fā)人員在開始一個項目之前,需要深入細致的用戶調研,開發(fā)分析,根據客戶的要求和功能實現(xiàn),來初步設計項目的模板,評價項目的可行性,可靠性,把需求轉化為可開發(fā)功能,最后對項目所需人員,財力物力進行評估,才能開始進行開發(fā)。

      3.2 硬件搭建

      3.2.1 硬件設備選擇

      根據項目規(guī)劃和需求分析選擇最合理,最合適,最擅長的硬件,一來可以縮短開發(fā)周期,二可以節(jié)省開發(fā)成本。

      選擇各種硬件設備的時候還要考慮各種硬件之間的兼容性和沖突性,最好選擇兼容性最好的硬件,也便于接下來的維修維護。

      3.2.2 系統(tǒng)裁剪和移植

      Linux系統(tǒng)移植有著基本的步驟,我們這次設計舉例用Ubuntu系統(tǒng)。

      大部分開發(fā)平臺和目標硬件設備是不同的芯片或者操作系統(tǒng),這時候就需要搭建交叉編譯環(huán)境,比如我們在ARM平臺開發(fā)程序,在x64或者x86平臺,就需要搭建arm平臺的編譯環(huán)境,可以安裝編譯器arm-linux-gcc用來編譯開發(fā)主機所需的程序。移植的linux系統(tǒng)也是必須用這個編譯器來編譯。

      u-boot移植,分析架構和硬件兼容性,根據u-boot給的origen板子實例,找到與開發(fā)主機相同的芯片編譯文件,拷貝板級文件到編譯目錄,修改Makefile編譯新加入的文件,拷貝板級頭文件,修改boards.cfg配置文件,添加BL1和BL2啟動代碼(根據不同芯片查看開發(fā)主機的芯片手冊),添加看門狗關閉代碼編,關閉中斷,添加電源管理相關代碼,添加串口初始化相關代碼,譯后把u-boot.bin文件燒寫到emmc中即可觀察到串口數據輸出。u-boot移植完成后需要設置網絡tftp服務或者其他通信方法,因為串口通信速度慢。

      內核編譯,根據開發(fā)主機選擇linux內核源碼,根據開發(fā)主機芯片型號選擇內核編譯選項和添加配置文件,不需要的功能和一些服務可以去掉,用來節(jié)省空間,編譯后會生成一個uImage鏡像文件。

      設備樹文件就是把系統(tǒng)中各種文件分類添加索引,以至內核可以準確找到想要找的文件,編譯設備數文件,為.dtb文件。在編譯內核和設備樹的時候可以根據需求添加驅動。

      編譯完成內核和設備樹后就可以通過u-boot的tftp下載到開發(fā)主機中。編譯完成后開發(fā)主機就可以執(zhí)行我們編寫的生成的.out等文件。

      3.3 軟件開發(fā)

      3.3.1 開發(fā)主機應用程序

      根據開發(fā)主機的搭載芯片,和電路連接,查看芯片手冊和硬件工程師提供資料來開發(fā)程序,實現(xiàn)對應功能,不同寄存器的設置代表不同功能,查看手冊和討論編寫程序來調用芯片相連的硬件,實現(xiàn)目標功能。

      3.3.2 圖形化界面開發(fā)

      QT開發(fā)我們可以選擇在Windows平臺開發(fā),根據需求繪制圖形化窗口,設置基本需要顯示的數據,圖像,窗口,可以通過無線協(xié)議,有線連接,通過服務器等獲取開發(fā)主機的信息,或者控制開發(fā)主機。

      4 調試階段

      所有工作做完并且沒有錯誤可以運行在主機上,就可以進行調試測試階段,調試包括基本功能測試,穩(wěn)定性測試,干擾分析,連接強度,等一些根據項目具體情況要求的測試。

      5 總結

      科技的發(fā)展不會停止,5g通信技術已經在實踐階段,我們不難想象以后的世界會是物物互聯(lián),萬物相通的方向發(fā)展,學習基本的嵌入式設備開發(fā)和軟件調試技巧是非常有必要的。學習基本嵌入式開發(fā)知識對我們今后的學習和工作也有著很重要的作用,當我們拿到任何一個項目或者硬件設備都會有基本的思路來調試。

      猜你喜歡
      內核串口嵌入式
      萬物皆可IP的時代,我們當夯實的IP內核是什么?
      強化『高新』內核 打造農業(yè)『硅谷』
      淺談AB PLC串口跟RFID傳感器的通訊應用
      基于嵌入式Linux內核的自恢復設計
      Linux內核mmap保護機制研究
      搭建基于Qt的嵌入式開發(fā)平臺
      嵌入式軟PLC在電鍍生產流程控制系統(tǒng)中的應用
      USB接口的多串口數據并行接收方法探索
      基于藍牙串口適配器的GPS接收機與AutoCAD的實時無線通信
      地礦測繪(2015年3期)2015-12-22 06:27:26
      Altera加入嵌入式視覺聯(lián)盟
      阳江市| 盐源县| 乐清市| 香港| 新郑市| 小金县| 陕西省| 怀宁县| 长寿区| 大悟县| 南汇区| 新干县| 旬阳县| 平舆县| 建始县| 冕宁县| 綦江县| 江津市| 临夏市| 江安县| 类乌齐县| 凤冈县| 曲松县| 天祝| 星座| 西华县| 连城县| 中牟县| 斗六市| 德清县| 嘉义县| 元谋县| 昌黎县| 海兴县| 寿光市| 乡城县| 理塘县| 偃师市| 平南县| 仁寿县| 文安县|