本發(fā)明涉及星閃,具體涉及一種linux系統(tǒng)星閃驅(qū)動與上層軟件的交互方法和裝置。
背景技術(shù):
1、星閃做為一種新興的短距傳輸技術(shù),在智能汽車、智能家居、智能終端和智能制造等領(lǐng)域的應(yīng)用越來越廣泛。例如,智能電視、車機(jī)互聯(lián)、可穿戴的衛(wèi)星高精定位設(shè)備、無線耳機(jī)、鼠標(biāo)、無線投屏設(shè)備等。
2、星閃設(shè)備的驅(qū)動模塊一般位于linux內(nèi)核區(qū),內(nèi)核區(qū)的各子模塊之間的交互通常是通過導(dǎo)出函數(shù)符號表相互調(diào)用?,F(xiàn)有基于linux系統(tǒng)的星閃硬件設(shè)備,通常采用網(wǎng)卡驅(qū)動模塊與上層軟件模塊交互,即在linux內(nèi)核中抽象出一套網(wǎng)卡數(shù)據(jù)結(jié)構(gòu)體描述網(wǎng)卡的屬性和操作,由網(wǎng)卡驅(qū)動模塊和上層軟件模塊設(shè)置屬性和調(diào)用操作。然而,由于無法完整、正確的表達(dá)星閃相關(guān)技術(shù),比如,星閃技術(shù)中的掃描、連接等技術(shù)細(xì)節(jié),因此,現(xiàn)有技術(shù)沒有針對星閃技術(shù)的成熟交互流程或者機(jī)制,無法適配不同的星閃硬件。
技術(shù)實(shí)現(xiàn)思路
1、針對上述缺陷,本發(fā)明所要解決的技術(shù)問題在于提供一種linux系統(tǒng)星閃驅(qū)動與上層軟件的交互方法及方法,以解決現(xiàn)有技術(shù)無法適配不同的星閃硬件的問題。
2、為此,本申請實(shí)施例的第一方面提供了一種linux系統(tǒng)星閃驅(qū)動與上層軟件的交互方法,包括以下步驟:
3、星閃驅(qū)動檢測到星閃設(shè)備時,調(diào)用設(shè)備創(chuàng)建注冊接口,在內(nèi)存中分配該星閃設(shè)備結(jié)構(gòu)體空間創(chuàng)建星閃設(shè)備結(jié)構(gòu)體,所述星閃設(shè)備結(jié)構(gòu)體包括設(shè)備屬性和設(shè)備驅(qū)動接口;
4、注冊該星閃設(shè)備,設(shè)置該星閃設(shè)備實(shí)際的接口函數(shù)指針到星閃設(shè)備結(jié)構(gòu)體內(nèi);
5、星閃驅(qū)動通過上層軟件接口,調(diào)用上層軟件模塊export_symbol宏導(dǎo)出的函數(shù),上層軟件模塊通過星閃設(shè)備結(jié)構(gòu)體內(nèi)的函數(shù)指針調(diào)用驅(qū)動函數(shù),實(shí)現(xiàn)星閃設(shè)備與上層軟件模塊的交互。
6、基于以上的技術(shù)方案,本申請抽象出星閃硬件屬性,簡化了星閃技術(shù)上下層交互邏輯流程,上層只需要導(dǎo)出函數(shù)符號,下層設(shè)置好星閃結(jié)構(gòu)體內(nèi)的函數(shù)指針就可以實(shí)現(xiàn)上下層的交互,可以適配不同的星閃硬件,方便上層軟件開發(fā)者使用。
7、在上述技術(shù)方案中,優(yōu)選地,所述設(shè)備驅(qū)動接口和所述上層軟件接口分別包括:設(shè)備管理函數(shù)、設(shè)備發(fā)現(xiàn)函數(shù)、設(shè)備連接函數(shù)和傳輸函數(shù)。
8、在上述技術(shù)方案中,優(yōu)選地,所述設(shè)備驅(qū)動接口的設(shè)備管理函數(shù)包括:啟用設(shè)備、停用設(shè)備、設(shè)置l2id、設(shè)置mtu、獲取設(shè)備狀態(tài)以及獲取設(shè)備信息。
9、在上述技術(shù)方案中,優(yōu)選地,所述設(shè)備驅(qū)動接口的設(shè)備發(fā)現(xiàn)函數(shù)包括:設(shè)置設(shè)備公開信息、開始廣播、停止廣播、設(shè)置發(fā)現(xiàn)過濾條件、開始掃描以及停止掃描。
10、在上述技術(shù)方案中,優(yōu)選地,所述設(shè)備驅(qū)動接口的設(shè)備連接函數(shù)包括:建立邏輯鏈路、刪除邏輯鏈路、關(guān)聯(lián)邏輯鏈路、接觸關(guān)聯(lián)邏輯鏈路以及連接、斷開連接。
11、在上述技術(shù)方案中,優(yōu)選地,所述上層軟件接口的設(shè)備管理函數(shù)包括:分配設(shè)備結(jié)構(gòu)體內(nèi)存、釋放設(shè)備結(jié)構(gòu)體內(nèi)存、注冊設(shè)備、注銷設(shè)備以及設(shè)備上線、下線狀態(tài)報告。
12、在上述技術(shù)方案中,優(yōu)選地,所述上層軟件接口的設(shè)備發(fā)現(xiàn)函數(shù)包括:設(shè)備掃描結(jié)果上報。
13、在上述技術(shù)方案中,優(yōu)選地,所述上層軟件接口的設(shè)備連接函數(shù)包括邏輯鏈路狀態(tài)上報和連接狀態(tài)上報,其中,邏輯鏈路狀態(tài)上報包括新建、釋放和關(guān)聯(lián),連接狀態(tài)上報包括新建和斷開。
14、在上述技術(shù)方案中,優(yōu)選地,所述上層軟件接口的傳輸函數(shù)包括:接收新消息。
15、本申請實(shí)施例的第二方面提供了一種linux系統(tǒng)星閃驅(qū)動與上層軟件模塊的交互裝置,包括:
16、設(shè)備創(chuàng)建注冊單元,用于在內(nèi)存中分配星閃設(shè)備結(jié)構(gòu)體空間創(chuàng)建星閃設(shè)備結(jié)構(gòu)體,并注冊該星閃設(shè)備,所述星閃設(shè)備結(jié)構(gòu)體包括設(shè)備屬性和設(shè)備驅(qū)動接口;星閃設(shè)備注冊后,設(shè)置該星閃設(shè)備實(shí)際的接口函數(shù)指針到星閃設(shè)備結(jié)構(gòu)體內(nèi);
17、第一調(diào)用單元,設(shè)置在上層軟件模塊上,用于通過星閃設(shè)備實(shí)際的接口函數(shù)指針調(diào)用驅(qū)動函數(shù);
18、第二調(diào)用單元,設(shè)置在星閃驅(qū)動上,用于通過上層軟件接口,調(diào)用上層軟件模塊export_symbol宏導(dǎo)出的函數(shù)。
19、由上述技術(shù)方案可知,本發(fā)明提供的linux系統(tǒng)星閃驅(qū)動與上層軟件模塊的交互方法和裝置,解決了現(xiàn)有技術(shù)由于無法完整、正確的表達(dá)星閃相關(guān)技術(shù),無法適配不同的星閃硬件的問題。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
20、本申請方案,抽象出星閃硬件屬性,簡化了星閃技術(shù)上下層交互邏輯流程,上層只需要導(dǎo)出函數(shù)符號,下層設(shè)置好星閃結(jié)構(gòu)體內(nèi)的函數(shù)指針就可以實(shí)現(xiàn)上下層的交互,可以適配不同的星閃硬件,方便上層軟件開發(fā)者使用。
1.一種linux系統(tǒng)星閃驅(qū)動與上層軟件的交互方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述設(shè)備驅(qū)動接口和所述上層軟件接口分別包括:設(shè)備管理函數(shù)、設(shè)備發(fā)現(xiàn)函數(shù)、設(shè)備連接函數(shù)和傳輸函數(shù)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述設(shè)備驅(qū)動接口的設(shè)備管理函數(shù)包括:啟用設(shè)備、停用設(shè)備、設(shè)置l2id、設(shè)置mtu、獲取設(shè)備狀態(tài)以及獲取設(shè)備信息。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述設(shè)備驅(qū)動接口的設(shè)備發(fā)現(xiàn)函數(shù)包括:設(shè)置設(shè)備公開信息、開始廣播、停止廣播、設(shè)置發(fā)現(xiàn)過濾條件、開始掃描以及停止掃描。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述設(shè)備驅(qū)動接口的設(shè)備連接函數(shù)包括:建立邏輯鏈路、刪除邏輯鏈路、關(guān)聯(lián)邏輯鏈路、接觸關(guān)聯(lián)邏輯鏈路以及連接、斷開連接。
6.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述上層軟件接口的設(shè)備管理函數(shù)包括:分配設(shè)備結(jié)構(gòu)體內(nèi)存、釋放設(shè)備結(jié)構(gòu)體內(nèi)存、注冊設(shè)備、注銷設(shè)備以及設(shè)備上線、下線狀態(tài)報告。
7.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述上層軟件接口的設(shè)備發(fā)現(xiàn)函數(shù)包括:設(shè)備掃描結(jié)果上報。
8.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述上層軟件接口的設(shè)備連接函數(shù)包括邏輯鏈路狀態(tài)上報和連接狀態(tài)上報,其中,邏輯鏈路狀態(tài)上報包括新建、釋放和關(guān)聯(lián),連接狀態(tài)上報包括新建和斷開。
9.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述上層軟件接口的傳輸函數(shù)包括:接收新消息。
10.一種linux系統(tǒng)星閃驅(qū)動與上層軟件模塊的交互裝置,其特征在于,包括: