[發(fā)明專利]圖形化編程的自動編譯方法有效
| 申請?zhí)枺?/td> | 201710269436.4 | 申請日: | 2017-04-24 |
| 公開(公告)號: | CN107168698B | 公開(公告)日: | 2020-11-24 |
| 發(fā)明(設(shè)計)人: | 黃翰;秦亮;梁展寧;郝志峰;范衠 | 申請(專利權(quán))人: | 華南理工大學(xué) |
| 主分類號: | G06F8/34 | 分類號: | G06F8/34;G06F8/41 |
| 代理公司: | 廣州粵高專利商標(biāo)代理有限公司 44102 | 代理人: | 何淑珍 |
| 地址: | 510640 廣*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 圖形 編程 自動 編譯 方法 | ||
1.一種圖形化編程的自動編譯方法,其特征在于,包括以下步驟:
(a)用戶自由組合圖形化模塊生成圖形化程序;
(b)圖形化程序內(nèi)存分配,生成圖形化程序內(nèi)存分配表,以實現(xiàn)對控制器的內(nèi)存管理和操作;
(c)圖形化程序線程分配,對圖形化程序的存儲結(jié)構(gòu)進(jìn)行分析,得到圖形化程序線程分配表,以達(dá)到圖形化程序多線程執(zhí)行,實現(xiàn)線程管理;
包括以下步驟:
(c-1)獲取圖形化程序的儲存結(jié)構(gòu)-森林;
(c-2)深度遍歷森林中的樹結(jié)構(gòu),如果節(jié)點是根節(jié)點則創(chuàng)建線程,且該線程為圖形化程序的主線程,并記錄線程信息,其包括線程ID和線程起始模塊ID;
(c-3)若節(jié)點是非根節(jié)點,則判斷父節(jié)點的子節(jié)點的個數(shù),如果該節(jié)點是父節(jié)點的第一個孩子,則不進(jìn)行任何操作,繼續(xù)遍歷;如果該節(jié)點不是父節(jié)點的第一孩子,則分配新線程,記錄線程信息;
(c-4)若節(jié)點是葉子節(jié)點,則表示該節(jié)點是線程的終止節(jié)點,將該節(jié)點ID作為線程結(jié)束ID,圖形化程序包含的葉子節(jié)點等于圖形化程序包含的線程數(shù);
(c-5)最終構(gòu)造出圖形化程序的線程分配表,以滿足對圖形化程序的多線程管理和操作;
(d)圖形化程序解析模塊根據(jù)圖形化程序的存儲結(jié)構(gòu),對圖形化程序中每個圖形化模塊在圖形化程序中的位置進(jìn)行分析,得到圖形化模塊需要的額外指令;
(e)圖形化程序的可執(zhí)行文件生成模塊在(b)、(c)、(d)步驟的基礎(chǔ)上,生成圖形化程序中每個圖形化模塊對應(yīng)的字節(jié)數(shù)組,然后按照圖形化程序遍歷的順序?qū)D形化模塊的字節(jié)數(shù)組串接一個完整的可執(zhí)行文件;
(f)通過HID或者藍(lán)牙數(shù)據(jù)通信,將(e)步驟生成的可執(zhí)行文件傳輸至控制器,控制器按照指令執(zhí)行相應(yīng)的動作,以達(dá)到圖形化程序的預(yù)期動作效果。
2.根據(jù)權(quán)利要求1所述的一種圖形化編程的自動編譯方法,其特征在于,步驟(b)包括以下步驟:
(b-1)獲取圖形化程序的儲存結(jié)構(gòu)即森林結(jié)構(gòu);
(b-2)遍歷圖形化程序?qū)?yīng)的樹結(jié)構(gòu),根據(jù)樹節(jié)點ID獲取圖形化模塊實體;
(b-3)根據(jù)圖形化模塊獲取對應(yīng)的參數(shù)內(nèi)存分配列表,其包含參數(shù)初始化的順序,以保證相關(guān)動作能正確執(zhí)行;
(b-4)根據(jù)參數(shù)類型,分配指定大小的內(nèi)存空間,然后記錄參數(shù)分配的內(nèi)存基址;
(b-5)對特殊參數(shù),包括用戶自定義參數(shù)和資源型參數(shù),進(jìn)行額外處理,以保證滿足圖形化模塊的內(nèi)存要求和程序的健壯性;
(b-6)最終生成圖形化程序內(nèi)存分配表,以實現(xiàn)對控制器內(nèi)存進(jìn)行管理和操作。
3.根據(jù)權(quán)利要求1所述的一種圖形化編程的自動編譯方法,其特征在于,步驟(e)包括以下步驟:
(e-1)獲取圖形化程序存儲結(jié)構(gòu)-森林;
(e-2)根據(jù)不同功能需求遍歷森林,功能主要包括圖形化程序整體下傳、圖形化程序部分下傳和圖形化樹下傳,然后根據(jù)具體要求深度遍歷森林中的樹:
(e-3)根據(jù)樹節(jié)點ID獲取對應(yīng)的圖形化模塊實體,根據(jù)圖形化模塊類型和模式調(diào)用其對應(yīng)的XML文件,在解析圖形化模塊對應(yīng)XML指令集中,需要借助指令解析XML文件來對圖形化模塊包含的指令集進(jìn)行解析和替換,以生成具有具體功能的圖形化模塊字節(jié)數(shù)組;
(e-4)在解析和替換圖形化模塊XML文件時,并不能生成完整的圖形化模塊字節(jié)數(shù)組,當(dāng)產(chǎn)生程序地址空缺,資源地址欠缺,先用零來填充程序地址,以形成半完整的圖形化模塊字節(jié)數(shù)組并記錄圖形化模塊的缺省信息,最終形成圖形化程序的程序地址缺省表即ROM地址缺省表;
(e-5)根據(jù)遍歷順序,依次分配圖形化模塊的程序地址,根據(jù)生成的圖形化模塊字節(jié)數(shù)組的大小來決定圖形化模塊占據(jù)的ROM存儲空間,最終生成圖形化程序的程序地址分配表即ROM地址分配表;
(e-6)分配完圖形化模塊的程序地址之后,對圖形化程序需要的額外資源進(jìn)行分配,以滿足圖形化程序中圖形化模塊的資源需求;
(e-7)根據(jù)圖形化程序的ROM地址缺省表和圖形化程序ROM地址分配表,對生成的半完整的圖形化模塊字節(jié)數(shù)組中的空缺ROM地址進(jìn)行填充,以形成完整的圖形化模塊字節(jié)數(shù)組;
(e-8)將生成的圖形化模塊字節(jié)數(shù)組和資源字節(jié)數(shù)組按照規(guī)則連接起來形成圖形化程序最終可執(zhí)行的字節(jié)數(shù)組,然后通過通信模塊將數(shù)據(jù)傳至控制器運行。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華南理工大學(xué),未經(jīng)華南理工大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201710269436.4/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





