[發明專利]一種在應用中調試嵌入式系統程序中函數功能的方法有效
| 申請號: | 201811426059.1 | 申請日: | 2018-11-27 |
| 公開(公告)號: | CN109684202B | 公開(公告)日: | 2022-06-17 |
| 發明(設計)人: | 李桂平;羅孝兵;華濤;熊光亞;孫延嶺;景波云;楊燁 | 申請(專利權)人: | 國電南瑞科技股份有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 南京縱橫知識產權代理有限公司 32224 | 代理人: | 董建林;王玉 |
| 地址: | 211106 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 應用 調試 嵌入式 系統 程序 函數 功能 方法 | ||
1.一種在應用中調試嵌入式系統程序中函數功能的方法,其特征是,包括:在嵌入式系統程序中建立函數指針與函數原型之間的對應表格,并添加函數原型解析函數,使用通訊口接收函數調用字符串并進行解析,然后匹配查找表,查找到需要執行的函數指針,最后跳轉去執行函數,并返回執行結果;
建立函數指針與函數原型之間的對應表格,建立的結構體為:
struct FuncName
{
void *func;
const char *name; //函數原型字符串
};
其中func為函數指針,name為函數原型字符串;
解析執行函數調用語句的方法包括如下步驟:
1)解析函數調用語句中的函數名;
2)解析FuncNameTable表中的參數類型與個數,FuncNameTable為建立的FuncName結構體類型的表格;
3)解析函數調用語句中的參數并執行;
解析函數調用語句中的函數名的具體方法為:從函數調用語句字符串中找出函數名,然后在FuncNameTable中進行匹配,即可找到函數調用語句要執行的函數,就找到了函數的應用程序中的函數指針,得到InfoFunc結構體的id值;
解析FuncNameTable表中的參數類型與個數的具體方法為:函數調用語句中的函數名解析完成后,根據FuncNameTable中函數原型字符串中函數名之前字符串、括號以及參數類型之間的逗號,解析出輸入參數類型與個數以及返回值類型,得到InfoFunc結構體的除id值之外的其他值;
解析函數調用語句中的參數并執行的具體方法為:分配一塊內存用于存儲函數參數,先讀取輸入參數類型,再根據參數類型去進行函數調用語句中參數對應字符串的轉換,得到實際的輸入參數,然后調用FuncNameTable的函數指針并執行。
2.根據權利要求1所述的一種在應用中調試嵌入式系統程序中函數功能的方法,其特征是,接收函數調用字符串使用的通訊口為串口、USB口或者以太網接口。
3.根據權利要求1所述的一種在應用中調試嵌入式系統程序中函數功能的方法,其特征是,解析函數調用語句,建立的結構體為:
struct InfoFunc
{
unsigned char id; //函數id
unsigned char InputParaNum; //輸入參數數量
unsigned char InputParaType[cstMaxPara]; //每個輸入參數的類型
unsigned char InputParaStrlen[cstMaxPara]; //輸入參數的字符串長度
unsigned char OutputParaEnable; //是否包含輸出參數
unsigned char OutputParaType; //返回參數類型
};
id用于存放指定解析函數調用語句中函數在FuncNameTable中的位置,InputParaNum用于存放輸入參數數量,InputParaType[cstMaxPara]用于存放每個輸入參數的類型,OutputParaEnable表示是否包含輸出參數,等于0沒有返回值,等于1有返回值,OutputParaType為返回參數類型,InputParaStrlen[cstMaxPara]為函數調用語句輸入參數的字符串長度。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于國電南瑞科技股份有限公司,未經國電南瑞科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811426059.1/1.html,轉載請聲明來源鉆瓜專利網。





