[發(fā)明專利]一種ZYNQ中多cpu之間的安全通信方法及系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 202111096034.1 | 申請(qǐng)日: | 2021-09-17 |
| 公開(公告)號(hào): | CN113986525B | 公開(公告)日: | 2023-05-12 |
| 發(fā)明(設(shè)計(jì))人: | 李偉;黃作兵;黃蕾;凌文明;顧人杰 | 申請(qǐng)(專利權(quán))人: | 南京國電南自維美德自動(dòng)化有限公司 |
| 主分類號(hào): | G06F9/50 | 分類號(hào): | G06F9/50 |
| 代理公司: | 南京縱橫知識(shí)產(chǎn)權(quán)代理有限公司 32224 | 代理人: | 許婉靜 |
| 地址: | 江蘇省南京*** | 國省代碼: | 暫無信息 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 zynq cpu 之間 安全 通信 方法 系統(tǒng) | ||
本發(fā)明公開了一種ZYNQ中多cpu之間的安全通信方法及系統(tǒng),當(dāng)cpu0需要獲取cpu1中的數(shù)據(jù)時(shí),利用ioctl函數(shù)將需要發(fā)送的數(shù)據(jù)及驗(yàn)證信息通過字符驅(qū)動(dòng)程序?qū)?shù)據(jù)結(jié)構(gòu)傳入OCM中,并通過軟中斷int0通知cpu1有數(shù)據(jù)交互;cpu1中的字符驅(qū)動(dòng)程序通過解析cpu0傳來的數(shù)據(jù)信息,重新組織數(shù)據(jù)結(jié)構(gòu),將數(shù)據(jù)字段發(fā)送至cpu0,并觸發(fā)軟中斷int1通知cpu0,此時(shí)cpu0中的字符驅(qū)動(dòng)程序?qū)?shù)據(jù)掛接在數(shù)據(jù)鏈表中,等待cpu0的用戶程序讀取操作,如果通過身份認(rèn)證,則cpu0的用戶程序從字符驅(qū)動(dòng)讀取數(shù)據(jù)成功。本發(fā)明的方法保證cpu間的通信數(shù)據(jù)安全,防止非法程序竊取數(shù)據(jù),有效解決OCM方式帶來的安全問題。
技術(shù)領(lǐng)域
本發(fā)明涉及一種ZYNQ中多cpu之間的安全通信方法,屬于ZYNQ芯片技術(shù)領(lǐng)域。
背景技術(shù)
ZYNQ是一款雙A9?cpu加FPGA的soc(系統(tǒng)級(jí)芯片)產(chǎn)品,目前在其應(yīng)用中cpu0和cpu1分別跑不同的系統(tǒng),這兩個(gè)cpu之間往往需要進(jìn)行通信,由此需要設(shè)計(jì)雙cpu之間的通信方法。目前,ZYNQ中有OCM(片上ram)資源,可實(shí)現(xiàn)雙cpu之間的通信。
目前ZYNQ中往往采用OCM(片上ram)實(shí)現(xiàn)雙cpu之間的通信,但都是簡(jiǎn)單的將內(nèi)存地址暴露給對(duì)方進(jìn)行通信,這就造成了任何應(yīng)用程序都可以訪問該地址空間,從而帶來安全問題。
而且目前通過OCM進(jìn)行雙cpu之間的通信,由于雙cpu可能存在較為復(fù)雜的計(jì)算數(shù)據(jù)通信,使cpu進(jìn)行計(jì)算復(fù)雜,造成cpu負(fù)荷加大,影響系統(tǒng)運(yùn)行效率。
本發(fā)明通過設(shè)計(jì)驅(qū)動(dòng)程序作為中間層對(duì)通信是雙方身份進(jìn)行校驗(yàn),從而避免這種安全問題。
本發(fā)明利用ZYNQ中fpga資源,將cpu通信的數(shù)據(jù)在fpga中進(jìn)行計(jì)算后,傳遞給對(duì)方,從而提升cpu的運(yùn)行效率。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題:ZYNQ芯片中,在雙cpu之間的通信過程中,需要保證數(shù)據(jù)安全,防止非法程序竊取數(shù)據(jù);
本發(fā)明進(jìn)一步需要解決的技術(shù)問題是:由于雙cpu存在較為復(fù)雜的計(jì)算數(shù)據(jù)通信,造成cpu負(fù)荷大,影響系統(tǒng)運(yùn)行效率。
為解決上述技術(shù)問題,本發(fā)明提供1.一種ZYNQ中多cpu之間的安全通信方法,其特征在于,包括以下步驟:
設(shè)置字符驅(qū)動(dòng)程序的數(shù)據(jù)結(jié)構(gòu)一:
send_pid表示發(fā)送進(jìn)程pid;pid是各進(jìn)程的身份標(biāo)識(shí);
recv_pid表示接收進(jìn)程pid,在接收數(shù)據(jù)時(shí),對(duì)進(jìn)程進(jìn)行鑒權(quán);
key是應(yīng)用程序在發(fā)送請(qǐng)求時(shí)的隨機(jī)值,在接收數(shù)據(jù)時(shí)用于對(duì)進(jìn)程安全檢查;
cmd_type表式請(qǐng)求類型:包括CMD_NORMAL和CMD_AC;所述CMD_NORMAL表示直接數(shù)據(jù)傳輸,數(shù)據(jù)存儲(chǔ)在OCM的data?area中;所述CMD_AC表示是AD交流數(shù)據(jù),需要將數(shù)據(jù)傳遞給FPGA,經(jīng)過FPGA處理后,F(xiàn)PGA將數(shù)據(jù)存儲(chǔ)至data?area;
data_addr表式數(shù)據(jù)在OCM中的地址;
data_len表式數(shù)據(jù)長(zhǎng)度;
valid表式數(shù)據(jù)是否有效;
在CMD_NORMAL模式下,多cpu間安全通信包括以下步驟:
11)當(dāng)cpu0的linux系統(tǒng)中有應(yīng)用程序有數(shù)據(jù)需要發(fā)送至cpu1時(shí),應(yīng)用程序首先在初始化時(shí)調(diào)用rand()函數(shù)獲取隨機(jī)key值;
依次將cpu1中的進(jìn)程pid、本進(jìn)程的pid、key值、CMD_NORMAL、數(shù)據(jù)長(zhǎng)度以及需要發(fā)送的數(shù)據(jù)通過ioctl函數(shù)發(fā)送至字符驅(qū)動(dòng)程序,字符驅(qū)動(dòng)程序?qū)⒂脩舫绦蛑械臄?shù)據(jù)字段填充到數(shù)據(jù)緩沖區(qū)data?area1中;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于南京國電南自維美德自動(dòng)化有限公司,未經(jīng)南京國電南自維美德自動(dòng)化有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111096034.1/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 一種基于ZYNQ的單板或多板系統(tǒng)及在線更新方法
- 基于ZYNQ的無線電擴(kuò)展系統(tǒng)
- 基于ZYNQ芯片實(shí)現(xiàn)FPGA程序遠(yuǎn)程升級(jí)的方法
- 一種基于ZYNQ的多通道無線信號(hào)采集設(shè)備
- 一種基于H264的ZYNQ視頻處理系統(tǒng)
- 一種Zynq處理器的遠(yuǎn)程升級(jí)系統(tǒng)和方法
- 一種Zynq平臺(tái)記錄管理方法及系統(tǒng)
- 無線電監(jiān)測(cè)設(shè)備低功耗智能電源管控系統(tǒng)
- 一種基于ZYNQ的圖像傳輸系統(tǒng)及方法
- 一種基于Zynq芯片的自適應(yīng)寬帶數(shù)字調(diào)零系統(tǒng)和方法





