使用NEC單片機(jī)保護(hù)您的設(shè)計(jì)
產(chǎn)品現(xiàn)場(chǎng)升級(jí)時(shí)的程序保密
如果單片機(jī)程序設(shè)計(jì)者使用了BootLoader功能,則可以在產(chǎn)品售出后方便地通過(guò)串口等通訊口對(duì)單片機(jī)程序進(jìn)行升級(jí),但是這也給竊密者留下了可乘之機(jī),新版本的應(yīng)用程序目標(biāo)文件有可能被泄露。解決辦法是設(shè)計(jì)者將應(yīng)用程序的目標(biāo)文件按自定義的某種算法進(jìn)行加密,并將解密算法放在BootLoader程序中。升級(jí)的時(shí)候BootLoader程序?qū)δ繕?biāo)文件進(jìn)行解密,然后寫入目標(biāo)FLASH區(qū)。這可以避免原始的目標(biāo)文件泄露出去。
防止芯片程序被意外擦除或改寫
除了上面談到的防止程序被泄露或破解的措施外,78K系列單片機(jī)還采取了多項(xiàng)措施來(lái)保證程序不會(huì)被意外擦除或者改寫。78K系列單片機(jī)可以在編程時(shí)通過(guò)編程軟件對(duì)FLASH進(jìn)行如下安全設(shè)置:
1. 禁止全片擦除操作。
2. 禁止塊擦除操作。
3. 禁止寫操作。
4. 禁止改寫boot cluster0區(qū)。
這些設(shè)置可以禁止通過(guò)編程器對(duì)芯片進(jìn)行擦除和寫入操作,但是芯片內(nèi)的用戶程序仍然可以對(duì)FLASH區(qū)進(jìn)行擦除和寫入操作。一旦設(shè)置了“禁止全片擦除操作”后,芯片內(nèi)的程序?qū)⒉豢稍俦徊脸透膶?,此設(shè)置也無(wú)法再被取消。
各項(xiàng)安全設(shè)置與操作命令的關(guān)系見表1。
表1: 各項(xiàng)安全設(shè)置與操作命令的關(guān)系。
結(jié)語(yǔ)
NEC的78K系列單片機(jī)從多個(gè)方面采取措施使得單片機(jī)程序的保密性得到加強(qiáng),尤其它沒有READ命令,無(wú)法將程序數(shù)據(jù)讀出到片外的特點(diǎn)使得其破解成本大大提高,有效地保護(hù)設(shè)計(jì)者的知識(shí)產(chǎn)權(quán)。
評(píng)論