一種硬件可視化編程構(gòu)架的制作方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及計算機(jī)軟件技術(shù)領(lǐng)域,尤其涉及一種硬件可視化編程構(gòu)架。
【背景技術(shù)】
[0002]目前,基于EDISON或RASPBERRY的nodered軟件,該硬件圖形化編程軟件是基于事件觸發(fā)方式的,該軟件編程方式也非常簡易。但是由于它很好的封裝性,程序代碼的可閱讀型稍微欠缺了點,同時軟件模塊的封裝需要很高的專業(yè)技術(shù)水平。
[0003]基于arduino的ardublock,該可視化軟件應(yīng)用平臺目前是在電腦上使用java編寫,該軟件目前實現(xiàn)功能非常有限,只停留在教學(xué)用途。
[0004]基于arduino的mind+,該可視化軟件應(yīng)用平臺,更注重于實際硬件的形狀擺放,對于軟件邏輯編輯沒有過于強(qiáng)調(diào),主要目標(biāo)客戶是一些對于外形要求比較高的藝術(shù)家等。
[0005]基于arduino的scratch,該可視化軟件應(yīng)用平臺仍然繼承了代碼的元素,將一些代碼的編寫通過圖形化的調(diào)整增加了趣味性。但是其本質(zhì)仍然沒有脫離代碼做到真正的邏輯思維的能力,同時其支持的功能也是非常有限的綜上所述,目前在硬件圖形化界面編程領(lǐng)域仍然停留教學(xué)領(lǐng)域,沒有一個很好的解決方案能夠讓開發(fā)者在原型設(shè)計階段到之后的量產(chǎn)階段真正的去拋棄代碼和微處理器平臺的束縛。
【發(fā)明內(nèi)容】
[0006]有鑒于現(xiàn)有技術(shù)的上述缺陷,本發(fā)明所要解決的技術(shù)問題是提供一種硬件可視化編程構(gòu)架,該硬件可視化編程框架集成了獨特的硬件連接向?qū)Ш妥詼y功能,采用特定映射技術(shù)使該構(gòu)架具有導(dǎo)入導(dǎo)出其他平臺代碼的能力,使用特殊數(shù)據(jù)傳遞和畫線算法實現(xiàn)了全流程圖的硬件編程的流程,同時該構(gòu)架開發(fā)了流程圖基礎(chǔ)操作單元增加了構(gòu)架的靈活性和可擴(kuò)展性,最后該硬件可視化編程構(gòu)架能夠通過端口映射信息根據(jù)要求生成不同平臺的硬件原理圖。
[0007]為實現(xiàn)上述目的,本發(fā)明提供了一種硬件可視化編程構(gòu)架,其特征在于,包括以下步驟:
51、硬件界面元器件拖曳,在硬件界面將左列需要的硬件元器件拖曳到對應(yīng)軟件界面的硬件方框中;
52、根據(jù)對應(yīng)拖曳框中的提示連接實際硬件;
53、點擊運(yùn)行按鈕,軟件界面的硬件將與實際硬件通過wifi或者藍(lán)牙連接;
54、點擊運(yùn)行按鈕,對于每個拖曳框中的硬件進(jìn)行自測;
55、完成硬件自測之后,進(jìn)入到下一個界面進(jìn)行流程圖編程;
56、在流程圖編程中,通過導(dǎo)入外界編程語言和自定義模塊來增加擴(kuò)展性;
57、在完成流程圖編程之后可直接點擊運(yùn)行,同時支持?jǐn)帱c和單步調(diào)試;
58、完成功能后,支持根據(jù)不同MCU平臺直接導(dǎo)出運(yùn)行代碼。
[0008]進(jìn)一步地,所述步驟S6導(dǎo)入外界編程語言和自定義模塊的方法具體是:首先將其他平臺代碼通過該硬件流程圖構(gòu)架的解析器,轉(zhuǎn)換成格式統(tǒng)一的邏輯運(yùn)算和硬件驅(qū)動分離構(gòu)架;隨后將邏輯運(yùn)算部分直接嵌入流程圖的后臺運(yùn)算,將硬件驅(qū)動部分通過指令映射編譯器轉(zhuǎn)換成當(dāng)前兼容硬件平臺的FPGA指令存放在圖形界面后臺。
[0009]進(jìn)一步地,所述步驟S8導(dǎo)出運(yùn)行代碼的方法具體為:通過高級語言邏輯轉(zhuǎn)換工具轉(zhuǎn)換應(yīng)用程序中的高級語言層次;通過該硬件編程軟件構(gòu)架指令映射編譯器轉(zhuǎn)換應(yīng)用程序中的硬件驅(qū)動指令部分。
[0010]進(jìn)一步地,所述指令映射編譯器預(yù)先設(shè)置不同平臺的口線資源映射,流程圖中原子級別的命令會在現(xiàn)成的目標(biāo)平臺的基本指令做一個映射關(guān)系。
[0011]進(jìn)一步地,所述步驟S5中進(jìn)行流程圖編程采用特殊數(shù)據(jù)傳遞和畫線算法的方法,整個操作界面分成N*M(N>=1,同時M>=1)方格,畫線算法是根據(jù)當(dāng)前方框在網(wǎng)格中的坐標(biāo)位置以及手點觸方框的順序進(jìn)行畫線,同時后臺將所有該執(zhí)行框相關(guān)執(zhí)行數(shù)據(jù)存在于對應(yīng)方格中,在畫線的同時數(shù)據(jù)結(jié)構(gòu)的指針按照畫線的方向進(jìn)行連接。
[0012]進(jìn)一步地,所述步驟S4中硬件自測方法為:每個軟件界面的硬件框都會有一個唯一的識別號,通過wifi或者藍(lán)牙與該可視化硬件構(gòu)架兼容的硬件進(jìn)行傳輸,同時該硬件占用的口線資源也會一并傳輸,兼容硬件在獲得識別碼后通過查表的方式獲得該硬件的所有具體信息并且根據(jù)一并傳入的硬件口線資源調(diào)用實際的硬件驅(qū)動。
[0013]本發(fā)明的有益效果是:
本發(fā)明的硬件可視化編程框架集成了獨特的硬件連接向?qū)Ш妥詼y功能,采用特定映射技術(shù)使該構(gòu)架具有導(dǎo)入導(dǎo)出其他平臺代碼的能力,使用特殊數(shù)據(jù)傳遞和畫線算法實現(xiàn)了全流程圖的硬件編程的流程,同時該構(gòu)架開發(fā)了流程圖基礎(chǔ)操作單元增加了構(gòu)架的靈活性和可擴(kuò)展性,最后該硬件可視化編程構(gòu)架能夠通過端口映射信息根據(jù)要求生成不同平臺的硬件原理圖。實現(xiàn)了可視化硬件編程的模塊的自定義功能、硬件自測功能和原理圖自動生成功能,基于完全流程圖硬件編程的功能,以及流程圖和不同硬件微處理器平臺的代碼導(dǎo)入和導(dǎo)出功能,增加了平臺的兼容性和可擴(kuò)展性。真正達(dá)到了通過輕松拖拽完成從原型到量產(chǎn)的所有軟件工作,同時能夠?qū)τ趯嶋H硬件連接進(jìn)行指導(dǎo),降低了開發(fā)者的門檻,能讓一個對于軟件和硬件沒有任何概念的開發(fā)者輕松通過流程圖的思維完成自己的設(shè)計。
[0014]以下將結(jié)合附圖對本發(fā)明的構(gòu)思、具體結(jié)構(gòu)及產(chǎn)生的技術(shù)效果作進(jìn)一步說明,以充分地了解本發(fā)明的目的、特征和效果。
【附圖說明】
[0015]圖1是本發(fā)明的可視化編程構(gòu)架總體工作流程圖;
圖2是本發(fā)明的可視化編程構(gòu)架代碼導(dǎo)入工作流程圖;
圖3是本發(fā)明的可視化編程構(gòu)架代碼導(dǎo)出工作流程圖;
圖4是本發(fā)明的硬件驅(qū)動程序基本構(gòu)架圖;
圖5是本發(fā)明的硬件連接向?qū)ЫY(jié)構(gòu)框圖;
圖6是本發(fā)明的硬件自測功能結(jié)構(gòu)框圖;
圖7是本發(fā)明的全流程圖硬件編程解決方案圖;
圖8是本發(fā)明的流程圖執(zhí)行順序圖;
圖9是本發(fā)明的流程圖編程界面圖; 圖10是流程圖基本模塊示意圖。
【具體實施方式】
[0016]如圖1所示,一種硬件可視化編程構(gòu)架,其特征在于,包括以下步驟:
51、硬件界面元器件拖曳,在硬件界面將左列需要的硬件元器件拖曳到對應(yīng)軟件界面的硬件方框中;
52、根據(jù)對應(yīng)拖曳框中的提示連接實際硬件;
53、點擊運(yùn)行按鈕,軟件界面的硬件將與實際硬件通過wifi或者藍(lán)牙連接;
54、點擊運(yùn)行按鈕,對于每個拖曳框中的硬件進(jìn)行自測;
55、完成硬件自測之后,進(jìn)入到下一個界面進(jìn)行流程圖編程;
56、在流程圖編程中,通過導(dǎo)入外界編程語言和自定義模塊來增加擴(kuò)展性;
57、在完成流程圖編程之后可直接點擊運(yùn)行,同時支持?jǐn)帱c和單步調(diào)試;
58、完成功能后,支持根據(jù)不同MCU平臺直接導(dǎo)出運(yùn)行代碼。
[0017]具體地,打開可視化軟件,如圖5所示,在硬件界面將左列需要的硬件元器件拖曳到對應(yīng)軟件界面的硬件方框中,其中軟件界面的硬件方框和實際硬件位置是一一對應(yīng)的。每拖曳移入方框后,在右邊框中會出現(xiàn)實際硬件連線提示。此時用戶根據(jù)對應(yīng)的硬件連線提示連好硬件之后,直接點擊運(yùn)行按鈕。然后每個硬件上方會有一個自測選項。對于輸入型硬件,軟件界面硬件框上方會顯示對應(yīng)讀出的數(shù)據(jù);對于輸出型硬件,軟件界面硬件框上方會顯示對應(yīng)控制選項。
[0018]如圖6所示,整個硬件自測的核心運(yùn)算算法是,將每個軟件界面的硬件框都會有一個唯一的識別號,通過wifi或者藍(lán)牙與該可視化硬件構(gòu)架兼容的硬件進(jìn)行傳輸,同時該硬件占用的口線資源也會一并傳輸。兼容硬件在獲得識別碼后通過查表的方式獲得該硬件的所有具體信息并且根據(jù)一并傳入的硬件口線資源調(diào)用實際的硬件驅(qū)動,假設(shè)是輸入型模塊兼容硬件將讀取的數(shù)值和唯一硬件識別碼傳回軟件界面,軟件界面會根據(jù)相應(yīng)信息進(jìn)行顯示。假設(shè)是輸出型模塊,兼容硬件在完成硬件驅(qū)動后返回成功信息給軟件界面。
[0019]在完成整個硬件的連接和自測以后,進(jìn)入下一個界面進(jìn)行流程圖的編程。對于該流程圖編程的方法首先需要說明的是,該軟件界面的組成元素。如圖10所示,該流程圖編程基本元素為圓角方框用于初始化和結(jié)束,條件判