91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單片機(jī)程序存儲中的軟件標(biāo)識分析

集成電路應(yīng)用雜志 ? 來源:未知 ? 2018-11-28 17:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在某些特殊設(shè)備中,如智能電表等產(chǎn)品,由于使用方并非產(chǎn)品設(shè)計(jì)方,而使用方又擔(dān)心設(shè)計(jì)方將程序外泄,帶來使用的安全問題,便要求設(shè)計(jì)方在單片機(jī)存儲程序時可自動形成帶有一定特征和加密特性的軟件標(biāo)識,以達(dá)到使用方可以溯源程序的目的。采用對軟件代碼計(jì)算,并形成校驗(yàn)碼的方式,是單片機(jī)程序存儲中的軟件標(biāo)識的一種良好設(shè)計(jì)方式。

1 引言

目前,電子設(shè)備、智能儀表等器件實(shí)現(xiàn)一些功能通常需要安裝對應(yīng)的應(yīng)用軟件。為了便于管理,需要對應(yīng)用軟件進(jìn)行軟件標(biāo)識,特別是像電能表這類儀表需要執(zhí)行法制計(jì)量機(jī)構(gòu)頒布的相關(guān)標(biāo)準(zhǔn),更加需要對安裝于其中的軟件進(jìn)行軟件標(biāo)識,以實(shí)現(xiàn)有效管理[1,2]。

現(xiàn)有技術(shù)中,軟件標(biāo)識一般是由微處理器軟件生成的,用戶可更改軟件標(biāo)識,也存在軟件更改或更新而未更改軟件標(biāo)識的情形,不利于器件的管理,存在數(shù)據(jù)泄露的風(fēng)險[3,4]。

2 設(shè)計(jì)思路

在單片機(jī)生成方法為存儲在存儲介質(zhì)中的軟件代碼生成軟件標(biāo)識,這需要一個前提,即存儲介質(zhì)包括至少一個第一存儲單元、至少一個第二存儲單元、第三存儲單元。第一存儲單元用于存儲軟件代碼,第二存儲單元用于存儲多項(xiàng)式。其中,每個第二存儲單元中存儲的多項(xiàng)式是不同的。

2.1 實(shí)施方法一

如圖 1 所示軟件標(biāo)識生成方法,包括以下步驟。

步驟一,設(shè)置第二存儲單元與第一存儲單元的對應(yīng)關(guān)系。

步驟二,對軟件代碼進(jìn)行計(jì)算以生成校驗(yàn)碼。其中,不同的軟件代碼生成不同的校驗(yàn)碼本實(shí)施例中,步驟二還包括:(1)從第一存儲單元中獲取軟件代碼,從對應(yīng)的第二存儲單元中獲取多項(xiàng)式。(2)根據(jù)多項(xiàng)式對軟件代碼進(jìn)行計(jì)算,生成校驗(yàn)碼。

具體,當(dāng)下載軟件代碼時,將軟件代碼依次寫入第一存儲單元中,每將一個第一存儲單元寫滿則從該第一存儲單元中獲取軟件代碼,從對應(yīng)的第二存儲單元中獲取多項(xiàng)式,根據(jù)多項(xiàng)式對軟件代碼進(jìn)行計(jì)算。

以下通過一個具體實(shí)例說明根據(jù)多項(xiàng)式對軟件代碼進(jìn)行計(jì)算的過程:例如,一個第一存儲單元中存儲的軟件代碼為 1010。與該第一存儲單元對應(yīng)的第二存儲單元中存儲的多項(xiàng)式為:H(x)=x3+x+1。

首先,根據(jù)變量的指數(shù),將H(x)=x3+x+1轉(zhuǎn)換成對應(yīng)的二進(jìn)制數(shù) 1011;由于多項(xiàng)式有4位,則把軟件代碼左移 3(4-1)位,得到 1010000。

其次,用多項(xiàng)式的二進(jìn)制數(shù)對左移 3 位后的軟件代碼進(jìn)行模2除,得到余位 011,即為校驗(yàn)碼。

由于每個第一存儲單元均會生成一個校驗(yàn)碼,軟件代碼存儲于幾個第一存儲單元中,即可得到幾個校驗(yàn)碼。需要說明的是,校驗(yàn)碼的位數(shù)可根據(jù)實(shí)際需要自行設(shè)置,也即通過設(shè)置多項(xiàng)式的最高次冪實(shí)現(xiàn)。

步驟三,根據(jù)校驗(yàn)碼生成軟件標(biāo)識。若一段軟件代碼共有 i 個 16 Bit 的校驗(yàn)碼,生成軟件標(biāo)識具體可以是:將 i 個校驗(yàn)碼進(jìn)行分組后先進(jìn)行同或運(yùn)算,產(chǎn)生 64 Bit 數(shù)據(jù),將這 64 Bit 數(shù)據(jù)與 Flash 的 Key 進(jìn)行異或運(yùn)算生成軟件標(biāo)識。

步驟四,將校驗(yàn)碼存儲于第三存儲單元中。本實(shí)例中,根據(jù)不同的軟件代碼生成不同的校驗(yàn)碼,進(jìn)而生成不同的軟件標(biāo)識,也即只要軟件代碼不同,軟件標(biāo)識必不相同。當(dāng)器件中的應(yīng)用軟件被更改、更新,相應(yīng)的軟件標(biāo)識也會更改,從而能快速識別器件的應(yīng)用軟件是否符合用戶要求,實(shí)現(xiàn)器件的安全管理。

2.2 實(shí)施方法二

在這種實(shí)施方法中,提供一種計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有計(jì)算機(jī)程序,計(jì)算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)實(shí)施例一所提供的軟件標(biāo)識生成方法。計(jì)算機(jī)可讀存儲介質(zhì)為 Flash 存儲器。

Flash 存儲器的程序存儲區(qū)一般由 M 個存儲塊(也即第一存儲單元)組成,每一存儲塊分若干個頁。程序存儲區(qū)只支持片擦除,不支持塊擦除和頁擦除。Flash 存儲器的 NVR 區(qū)的 NVR1(也即第二存儲單元)存有一定的長度的數(shù)據(jù)碼 K(多項(xiàng)式的二進(jìn)制數(shù)),數(shù)據(jù)碼 K 中的第 n 個 16 Bit 數(shù)據(jù) Kn 與 M個數(shù)據(jù)塊中的第 n 個塊 Mn 對應(yīng),在寫 Flash 每個存儲塊時,F(xiàn)lash 控制器根據(jù)對應(yīng)關(guān)系選擇相應(yīng)的多項(xiàng)式計(jì)算校驗(yàn)碼。

其中,NVR1 對用戶不支持讀寫功能。寫完一個存儲塊,則計(jì)算出一個 16 Bit 的校驗(yàn)碼 Cn,并將此校驗(yàn)碼 Cn 存儲在 NVR 區(qū)的 NVR2(也即第三存儲單元)中。NVR2 對用戶有只讀功能。

下載程序時所需要的存儲塊都寫完后,共有 M 個16 Bit 的校驗(yàn)碼。再將這些校驗(yàn)碼進(jìn)行分組后先進(jìn)行同或運(yùn)算,產(chǎn)生 64 Bit 數(shù)據(jù),將這 64 Bit 數(shù)據(jù)與Flash 的 Key 進(jìn)行異或運(yùn)算生成軟件標(biāo)識。并將此軟件標(biāo)識的 64 Bit 數(shù)據(jù)存儲到 NVR2 中的固定位置。

使用這種方法的計(jì)算機(jī)可讀存儲介質(zhì)存儲應(yīng)用程式,只要 Flash 存儲器中的應(yīng)用軟件被更改、更新,相應(yīng)的軟件標(biāo)識也會更改,從而能快速識別 Flash 存儲器的應(yīng)用軟件是否符合用戶要求,實(shí)現(xiàn)器件的安全管理

2.3 實(shí)施方法三

在這種實(shí)施方法中,提供一種單片機(jī),如圖 2 所示,單片機(jī)包括:計(jì)算機(jī)可讀存儲介質(zhì)、控制單元和 TR 接口。其中,計(jì)算機(jī)可讀存儲介質(zhì)為實(shí)施例 2 所提供的計(jì)算機(jī)可讀存儲介質(zhì)。

控制單元分別與計(jì)算機(jī)可讀存儲介質(zhì)和 TR 接口電連接。控制單元用于在接收到讀取指令時從計(jì)算機(jī)可讀存儲介質(zhì)中獲取軟件標(biāo)識,并通過 TR 接口向外輸出軟件標(biāo)識。其中讀取指令由外設(shè)設(shè)備生成并發(fā)送至單片機(jī)。本實(shí)施例中,不需要單片機(jī)干預(yù),外設(shè)設(shè)備即可讀取軟件標(biāo)識,避免單片機(jī)對軟件標(biāo)識進(jìn)行處理的可能性,便于法律監(jiān)督機(jī)構(gòu)管理。

在這種實(shí)施方法中,可根據(jù)實(shí)際需求,還可在單片機(jī)中設(shè)置并串轉(zhuǎn)換電路??刂茊卧ㄟ^并串轉(zhuǎn)換電路與 TR 接口電連接。并串轉(zhuǎn)換電路用于將軟件標(biāo)識轉(zhuǎn)換成串行的 Bit 數(shù)據(jù)流。從而,經(jīng)過并串轉(zhuǎn)換的軟件標(biāo)識可有紅外RS485 通信接口輸出至外設(shè)設(shè)備。

3 結(jié)語

根據(jù)不同的軟件代碼生成不同的校驗(yàn)碼,進(jìn)而生成不同的軟件標(biāo)識,也即只要軟件代碼不同,軟件標(biāo)識必不相同。當(dāng)器件中的應(yīng)用軟件被更改、更新,相應(yīng)的軟件標(biāo)識也會更改,從而能快速識別器件的應(yīng)用軟件是否符合用戶要求,實(shí)現(xiàn)器件的安全管理。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6076

    文章

    45495

    瀏覽量

    670447
  • 存儲
    +關(guān)注

    關(guān)注

    13

    文章

    4791

    瀏覽量

    90066

原文標(biāo)題:單片機(jī)程序存儲中的軟件標(biāo)識研究

文章出處:【微信號:appic-cn,微信公眾號:集成電路應(yīng)用雜志】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    單片機(jī)存儲器擴(kuò)充與程序下載技巧

    介紹了如何對單片機(jī)存儲器進(jìn)行擴(kuò)充,以及在這種大容量存儲器條件下的程序下載技巧。關(guān)鍵詞:單片機(jī);存儲
    發(fā)表于 10-14 16:47 ?63次下載

    單片機(jī)教程五:單片機(jī)延時程序分析

    單片機(jī)教程五:單片機(jī)延時程序分析 上一次課,我們已經(jīng)知道,程序
    發(fā)表于 05-15 23:00 ?1263次閱讀
    <b class='flag-5'>單片機(jī)</b>教程五:<b class='flag-5'>單片機(jī)</b>延時<b class='flag-5'>程序</b><b class='flag-5'>分析</b>

    51單片機(jī)匯編語言教程_單片機(jī)延時程序分析

    51單片機(jī)匯編語言教程:5課單片機(jī)延時程序分析
    發(fā)表于 01-19 15:26 ?0次下載

    STC單片機(jī)程序軟件

    STC單片機(jī)程序軟件。
    發(fā)表于 04-05 16:13 ?7次下載

    單片機(jī)存儲器擴(kuò)充與程序下載技巧

    單片機(jī)存儲器擴(kuò)充與程序下載技巧。
    發(fā)表于 05-20 11:16 ?14次下載

    單片機(jī)程序燒寫軟件

    單片機(jī)程序燒寫軟件
    發(fā)表于 01-07 21:01 ?17次下載

    51單片機(jī)存儲程序和數(shù)據(jù)

    初學(xué)51總是會有這樣的疑問,從電腦下載程序到開發(fā)板后,程序去哪了? C51,用戶或應(yīng)用程序,系統(tǒng)程序和數(shù)據(jù)都是存放在哪的?51
    發(fā)表于 11-23 17:54 ?1w次閱讀

    51單片機(jī)程序下載軟件下載

    51單片機(jī)程序下載軟件燒寫程序
    發(fā)表于 04-08 17:20 ?14次下載

    單片機(jī)仿真軟件適合單片機(jī)初學(xué)者嗎

    單片機(jī)仿真軟件的出現(xiàn)確實(shí)方便了單片機(jī)的學(xué)習(xí),最為知名的單片機(jī)仿真軟件為Proteus,該軟件支持
    的頭像 發(fā)表于 03-08 11:29 ?2.2w次閱讀

    如何對單片機(jī)進(jìn)行片外程序存儲器設(shè)計(jì)

    EA=0,單片機(jī)只訪問外部程序存儲器,對于8031單片機(jī)此引腳必須接地.EA=1,單片機(jī)訪問內(nèi)部程序
    發(fā)表于 03-20 15:05 ?5740次閱讀

    基于52單片機(jī)程序燒入軟件

    基于52單片機(jī)程序燒入軟件
    發(fā)表于 06-09 09:46 ?2次下載

    51單片機(jī)存儲

    51單片機(jī)存儲器51單片機(jī)結(jié)構(gòu):程序存儲器ROM:片內(nèi)ROM:片外ROM:片內(nèi)ROM和片外ROM的區(qū)分:
    發(fā)表于 11-11 20:36 ?15次下載
    51<b class='flag-5'>單片機(jī)</b>之<b class='flag-5'>存儲</b>器

    如何知道單片機(jī)程序占了多少字節(jié)?

    對于單片機(jī)程序占了多少字節(jié)?單片機(jī)還剩多少存儲空間?
    發(fā)表于 02-08 16:26 ?6次下載
    如何知道<b class='flag-5'>單片機(jī)</b><b class='flag-5'>程序</b>占了多少字節(jié)?

    單片機(jī)燒錄程序用什么軟件

    單片機(jī)燒錄程序單片機(jī)開發(fā)過程的一個重要環(huán)節(jié),涉及到將編寫好的程序代碼通過燒錄器寫入單片機(jī)的R
    的頭像 發(fā)表于 09-02 10:05 ?5192次閱讀

    單片機(jī)怎么燒程序

    單片機(jī)程序是將編寫好的程序代碼寫入單片機(jī)內(nèi)部存儲單元,讓單片機(jī)按照預(yù)設(shè)邏輯工作的過程,是
    的頭像 發(fā)表于 07-23 11:47 ?1309次閱讀