国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

無(wú)線MCU的嵌入式系統(tǒng)實(shí)驗(yàn)方法改革

2019-06-03 06:53:00李元章馬忠梅譚毓安張全新
實(shí)驗(yàn)室研究與探索 2019年3期
關(guān)鍵詞:圖形化嵌入式調(diào)試

李元章, 馬忠梅, 譚毓安, 張全新, 劉 璐

(北京理工大學(xué)計(jì)算機(jī)學(xué)院,北京100081)

0 引言

嵌入式系統(tǒng)自誕生以來(lái)就在各行各業(yè)中得到了廣泛的應(yīng)用,但由于系統(tǒng)資源有限,因此開(kāi)發(fā)與調(diào)試工作都需要專(zhuān)門(mén)的開(kāi)發(fā)工具與開(kāi)發(fā)環(huán)境的支持,比如早期的51系統(tǒng),開(kāi)發(fā)時(shí)需要先通過(guò)仿真器進(jìn)行程序與電路仿真,再通過(guò)特定的編程器將可執(zhí)行碼寫(xiě)入到單片的ROM中,整個(gè)調(diào)試過(guò)程復(fù)雜,需要仿真器、編程器等硬件設(shè)備的支持。

隨著ICE(In-Circuit Emulator)調(diào)試方法的出現(xiàn),可以使用在線仿真器進(jìn)行系統(tǒng)調(diào)試[1-4],支持片上斷點(diǎn)和單步調(diào)試,并且支持可執(zhí)行碼的下載功能,集合了仿真器和編程器的功能,降低了開(kāi)發(fā)的難度,如常見(jiàn)的JTAG調(diào)試方式和BDM背景調(diào)試方式等。

針對(duì)TI(德州儀器)的無(wú)線MCU芯片CC3200設(shè)計(jì)一種新型的嵌入式實(shí)驗(yàn)開(kāi)發(fā)模式,能夠?qū)⑵浞奖愕貞?yīng)用于嵌入式系統(tǒng)實(shí)驗(yàn)教學(xué),并能夠?qū)⒃撃J綉?yīng)用在STEM等益智系統(tǒng)的開(kāi)發(fā)中,實(shí)驗(yàn)可分MCU端和手機(jī)端,學(xué)生可選擇進(jìn)行。MCU端可配合手機(jī)網(wǎng)絡(luò)助手只關(guān)注MCU傳感器采集、電機(jī)控制等;手機(jī)端配合MCU板用于采集加速度和溫度,專(zhuān)注APP開(kāi)發(fā)。學(xué)生可以?xún)蓛膳浜贤瓿勺灾髅}的實(shí)驗(yàn)設(shè)計(jì)[5-9]。

1 支持無(wú)線功能的CC3200微控制器

TI的 CC3200微控制器是非常適合物聯(lián)網(wǎng)(Internet of Things,IOT)應(yīng)用的嵌入式無(wú)線 MCU[10],物聯(lián)網(wǎng)體系架構(gòu)分感知層、網(wǎng)絡(luò)層和應(yīng)用層,感知層離不開(kāi)嵌入式系統(tǒng),而無(wú)線MCU是傳感器數(shù)據(jù)采集的理想器件,該芯片也是業(yè)界首款內(nèi)置WiFi功能的無(wú)線MCU。CC3200集成了高性能ARM Cortex-M4內(nèi)核,網(wǎng)絡(luò)通信能力穩(wěn)定可靠,并擁有完整的安全協(xié)議,用戶(hù)能使用單芯片方案來(lái)完成WiFi網(wǎng)絡(luò)系統(tǒng)開(kāi)發(fā)。

CC3200的功能架構(gòu)如圖1所示。

圖1 CC3200的功能架構(gòu)圖

其主要性能及資源包括:①基于ARM Cortex-M4的應(yīng)用微控制器和基于WiFi的 網(wǎng)絡(luò)處理器;② SPI/UART/I2C/SD/I2S/Camera等接口;③80 MHz/256 KB RAM/64KB ROM;④支持浮點(diǎn)運(yùn)算和專(zhuān)用的數(shù)字信號(hào)處理指令;⑤ 支持無(wú)操作系統(tǒng)或嵌入式實(shí)時(shí)操作系統(tǒng)。

CC3200器件支持基站(Station)、訪問(wèn)點(diǎn) AP(Access Point)和WiFi直接模式,集成WiFi功能是它的最大特色。

針對(duì)上述功能,設(shè)計(jì)了CC3200+智能手機(jī)的實(shí)驗(yàn)開(kāi)發(fā)模式[11]。CC3200端負(fù)責(zé)下位機(jī)傳感器采集和外設(shè)控制,通過(guò)無(wú)線WiFi進(jìn)行數(shù)據(jù)傳送,手機(jī)端可以使用手機(jī)網(wǎng)絡(luò)調(diào)試助手與MCU進(jìn)行網(wǎng)絡(luò)調(diào)試。

2 傳統(tǒng)嵌入式實(shí)驗(yàn)開(kāi)發(fā)模式

對(duì)于功能相對(duì)簡(jiǎn)單的MCU來(lái)說(shuō),由于其通常不支持嵌入式操作系統(tǒng),且接口資源有限,因此在開(kāi)發(fā)和調(diào)試過(guò)程中,始終需要PC端的支持,需要在PC端安裝編程環(huán)境,調(diào)試過(guò)程中通過(guò)USB或串口監(jiān)控調(diào)試信息[12-15],其結(jié)構(gòu)框架如圖2所示。

圖2 傳統(tǒng)的嵌入式實(shí)驗(yàn)開(kāi)發(fā)框架

常規(guī)的硬件實(shí)驗(yàn)開(kāi)發(fā)流程如下:① PC端通過(guò)USB端口與JTAG仿真器(或USB轉(zhuǎn)JTAG接口)相連接,再通過(guò)JTAG與實(shí)驗(yàn)板相連接,USB端口為開(kāi)發(fā)板供電的同時(shí),實(shí)現(xiàn)數(shù)據(jù)下載的功能,將CCS等開(kāi)發(fā)環(huán)境編譯好的可執(zhí)行碼通過(guò)JTAG下載至控制器ROM中,通常支持在線調(diào)試等模式。②PC端通過(guò)串行通信接口(可由USB端口虛擬串口)與實(shí)驗(yàn)板的串行口相連接,PC端安裝串行通信超級(jí)終端程序,監(jiān)測(cè)輸出結(jié)果以及發(fā)送串行控制命令,進(jìn)行程序調(diào)試。③根據(jù)實(shí)驗(yàn)板及其控制的外設(shè)運(yùn)行測(cè)試情況,PC端修改程序代碼直到系統(tǒng)與外設(shè)正確運(yùn)行后將最終代碼寫(xiě)入到下位機(jī),完成系統(tǒng)開(kāi)發(fā)。

在上述開(kāi)發(fā)過(guò)程中,PC端是不可缺少的一環(huán),無(wú)論軟件設(shè)計(jì)還是系統(tǒng)調(diào)試,都無(wú)法離開(kāi)PC端支持,而系統(tǒng)開(kāi)發(fā)一旦離不開(kāi)PC,開(kāi)發(fā)過(guò)程就會(huì)受到很大限制,實(shí)驗(yàn)必須在實(shí)驗(yàn)室環(huán)境下完成,且實(shí)驗(yàn)還會(huì)受到PC端的性能制約。

3 基于WiFi的嵌入式系統(tǒng)調(diào)試模式

針對(duì)傳統(tǒng)的嵌入式實(shí)驗(yàn)開(kāi)發(fā)模式的缺陷,設(shè)計(jì)了一種基于CC3200+WiFi+手機(jī)的嵌入式實(shí)驗(yàn)調(diào)試模式,該模式利用手機(jī)作為上位機(jī)端與下位機(jī)CC3200控制端進(jìn)行系統(tǒng)調(diào)試。其結(jié)構(gòu)框架如圖3所示。

圖3 基于WiFi的嵌入式系統(tǒng)調(diào)試模式

在該模式下,PC端僅需要在系統(tǒng)開(kāi)發(fā)初期介入,程序調(diào)試階段則完全脫離PC進(jìn)行,其基本流程如下:①實(shí)驗(yàn)板單獨(dú)供電,PC端通過(guò)USB端口與JTAG仿真器(或USB轉(zhuǎn)JTAG接口)相連接,再通過(guò)JTAG與實(shí)驗(yàn)板相連接,實(shí)現(xiàn)數(shù)據(jù)下載的功能,將CCS等開(kāi)發(fā)環(huán)境編譯好的可執(zhí)行碼通過(guò)JTAG下載至控制器ROM中,在代碼中加入完整的基于WiFi的網(wǎng)絡(luò)調(diào)試功能代碼。②實(shí)驗(yàn)板脫離PC端,將基于CC3200的實(shí)驗(yàn)板運(yùn)行于WiFi的 Station模式(或Access Point模式,由WiFi網(wǎng)絡(luò)調(diào)試功能設(shè)定)。③將移動(dòng)智能端(手機(jī)或者平板等)運(yùn)行于Access Point模式(或者Station模式,即WiFi熱點(diǎn)模式,與實(shí)驗(yàn)板的模式相對(duì)應(yīng)),安裝并運(yùn)行網(wǎng)絡(luò)調(diào)試助手,通過(guò)發(fā)送命令控制外設(shè)運(yùn)行,接收來(lái)自外設(shè)的系統(tǒng)狀態(tài)參數(shù)等進(jìn)行系統(tǒng)調(diào)試。

在基于WiFi嵌入式調(diào)試模式下,需要首先初始化WiFi配置,然后進(jìn)行WiFi連接,其基本流程見(jiàn)圖4。

圖4 CC3200的WiFi配置方法

手機(jī)端調(diào)試采用網(wǎng)絡(luò)調(diào)試助手,界面如圖5所示。

圖5 手機(jī)端調(diào)試助手

由于移動(dòng)智能設(shè)備的普及,學(xué)生幾乎人人配備了智能手機(jī),因此,在很大程度上提高了基于無(wú)線MCU的嵌入式系統(tǒng)實(shí)驗(yàn)調(diào)試的方便性。

上述基于WiFi調(diào)試的實(shí)驗(yàn)開(kāi)發(fā)方法雖然能夠脫離PC端進(jìn)行獨(dú)立的調(diào)試,但在其開(kāi)發(fā)初期以及最終程序?qū)懭胍廊恍枰狿C通過(guò)其相應(yīng)的開(kāi)發(fā)與編譯環(huán)境如CCS等,進(jìn)行編譯和寫(xiě)入操作,故存在一定局限性。

4 STEM益智教育實(shí)驗(yàn)開(kāi)發(fā)框架

為了能夠以更簡(jiǎn)單的方式進(jìn)行嵌入式實(shí)驗(yàn),在手機(jī)端設(shè)計(jì)了一個(gè)APP應(yīng)用程序,該APP內(nèi)置Python解釋器來(lái)解析Python代碼,同時(shí)提供封裝好的Python功能及動(dòng)作函數(shù),供用戶(hù)編寫(xiě)圖形化模塊時(shí)進(jìn)行調(diào)用,實(shí)驗(yàn)證明該方式能夠應(yīng)用于STEM益智教育的實(shí)驗(yàn)開(kāi)發(fā)。

下面以某智能小車(chē)系統(tǒng)為例,簡(jiǎn)要說(shuō)明基于無(wú)線MCU的STEM益智教育實(shí)驗(yàn)開(kāi)發(fā)的基本框架。

智能小車(chē)采用CC3200無(wú)線MCU為主控制器,驅(qū)動(dòng)步進(jìn)電動(dòng)機(jī),控制全向輪轉(zhuǎn)動(dòng)。STEM益智教育框架設(shè)計(jì)實(shí)現(xiàn)了控制智能小車(chē)的Android上位機(jī)程序,實(shí)驗(yàn)開(kāi)發(fā)框架APP端支持包括遙控器方式、繪圖方式、圖形化編程[16]和Python文本編程等。遙控器模塊用按鈕來(lái)操控小車(chē)前進(jìn)、后退、左轉(zhuǎn)和右轉(zhuǎn);繪圖模塊直接在手機(jī)上繪圖由智能小車(chē)在紙上按比例放大繪出;圖形化編程采用圖形編程的方式方便青少年計(jì)算機(jī)編程入門(mén);文本編程模塊用Python代碼來(lái)控制小車(chē)完成指定的動(dòng)作。

其開(kāi)發(fā)與調(diào)試的基本流程為:①用戶(hù)根據(jù)下位機(jī)功能需求在手機(jī)端通過(guò)圖形化方式或文本方式編寫(xiě)控制程序;②手機(jī)內(nèi)置的Python解釋器對(duì)程序進(jìn)行解釋?zhuān)商囟ǜ袷降闹噶盍?③ 生成的指令流通過(guò)WiFi(Station模式或者AP模式)將命令下載至實(shí)驗(yàn)板;④實(shí)驗(yàn)板ROM中已固化的針對(duì)WiFi的命令解釋器對(duì)每條指令逐條解釋?zhuān)煽刂浦噶羁刂仆庠O(shè)的運(yùn)行;⑤來(lái)自于下位機(jī)外部傳感器的數(shù)據(jù)同樣通過(guò)WiFi上傳至手機(jī)端進(jìn)行綜合數(shù)據(jù)處理。

其功能框圖如圖6所示。

圖6 STEM益智教育實(shí)驗(yàn)開(kāi)發(fā)框架

終端APP能夠?qū)崿F(xiàn)通過(guò)圖形化或文本方式控制下位機(jī)的運(yùn)行,可進(jìn)行步進(jìn)電動(dòng)機(jī)的運(yùn)動(dòng)距離和運(yùn)動(dòng)方式控制,紅外、超聲測(cè)距傳感器的數(shù)據(jù)采集,自動(dòng)避障、自動(dòng)行駛等功能的算法實(shí)現(xiàn)。

基于無(wú)線MCU的STEM益智教育實(shí)驗(yàn)開(kāi)發(fā)框架相比枯燥的代碼編程,能夠培養(yǎng)學(xué)生的編程興趣,提高學(xué)生的動(dòng)手能力,讓學(xué)生切身體驗(yàn)到各個(gè)學(xué)科的魅力,尤其是計(jì)算機(jī)科學(xué)的魅力,并提高學(xué)生的綜合能力。圖7是按照上述框架構(gòu)建的基于Python的文本與圖形化編程的智能繪圖小車(chē)及其繪制作品。青少年學(xué)習(xí)了圖形化編程方法后,可進(jìn)一步學(xué)習(xí)Python語(yǔ)言文本編程,過(guò)度到真正的程序員,從而具備一定的計(jì)算機(jī)編程能力。

圖7 智能繪圖小車(chē)及其繪制作品

5 結(jié)語(yǔ)

基于無(wú)線MCU的STEM益智教育實(shí)驗(yàn)開(kāi)發(fā)框架仍然受到手機(jī)的CPU架構(gòu)限制,幾乎不支持集成開(kāi)發(fā)編譯環(huán)境,而且應(yīng)用程序開(kāi)發(fā)還受到手機(jī)端APP所支持的功能限制,無(wú)法進(jìn)行復(fù)雜的系統(tǒng)功能設(shè)計(jì),目前僅限于簡(jiǎn)單的針對(duì)STEM的應(yīng)用程序開(kāi)發(fā)。但隨著智能手機(jī)性能的進(jìn)一步提升以及應(yīng)用框架的進(jìn)一步完善,未來(lái)以移動(dòng)智能設(shè)備為核心的嵌入式系統(tǒng)開(kāi)發(fā)調(diào)試環(huán)境將會(huì)逐步應(yīng)用到嵌入式系統(tǒng)的設(shè)計(jì)開(kāi)發(fā)過(guò)程中。

猜你喜歡
圖形化嵌入式調(diào)試
基于航拍無(wú)人機(jī)的設(shè)計(jì)與調(diào)試
電子制作(2018年12期)2018-08-01 00:47:44
LKJ自動(dòng)化測(cè)試系統(tǒng)圖形化技術(shù)研究
搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
FOCAS功能在機(jī)床調(diào)試中的開(kāi)發(fā)與應(yīng)用
無(wú)線通信中頻線路窄帶臨界調(diào)試法及其應(yīng)用
電子制作(2017年19期)2017-02-02 07:08:38
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
調(diào)壓柜的調(diào)試與試運(yùn)行探討
運(yùn)用圖形化聽(tīng)寫(xiě)式復(fù)習(xí),構(gòu)建高效地理課堂
圖形化地區(qū)電網(wǎng)無(wú)功優(yōu)化軟件開(kāi)發(fā)與應(yīng)用
Altera加入嵌入式視覺(jué)聯(lián)盟
安庆市| 民和| 贺兰县| 钦州市| 和政县| 潮安县| 新乐市| 高唐县| 枣强县| 肇东市| 宿州市| 丘北县| 印江| 乌兰县| 东辽县| 醴陵市| 白沙| 凤山市| 探索| 玛沁县| 禄劝| 获嘉县| 凤城市| 江孜县| 长武县| 梧州市| 分宜县| 娱乐| 兴业县| 论坛| 赤峰市| 当阳市| 临汾市| 新郑市| 东城区| 延寿县| 南岸区| 澄迈县| 正安县| 清水县| 册亨县|