PIC單片機(jī)該怎么加密
出處:eefocus 發(fā)布于:2017-08-18 17:57:31
見(jiàn)過(guò)很多初學(xué)者對(duì)PIC16系列單片機(jī)的ID碼的讀和寫犯迷糊。說(shuō)實(shí)話,這方面的資料也不怎么全。有些教材可能會(huì)涉及ID區(qū)域的介紹,可是往往是一代而過(guò)。這對(duì)初學(xué)者來(lái)說(shuō)是比較容易犯錯(cuò)的地方。今天有空,對(duì)相關(guān)的問(wèn)題作了一些整理,分享給大家。可能有些地方說(shuō)的不夠妥當(dāng),歡迎大家多多探討。
1.什么是ID區(qū)域?
ID區(qū)域是獨(dú)立于EEPROM,F(xiàn)LASH,RAM的區(qū)域。程序設(shè)計(jì)人員可以利用該區(qū)域存放軟件的版本號(hào),編寫日期,燒錄日期,產(chǎn)品標(biāo)識(shí)等信息。不過(guò)該區(qū)域很小PIC16系列只能存放4個(gè)字節(jié)。
2.ID碼怎么燒錄到ID區(qū)域里面去?
可以利用PICC自帶的宏命令I(lǐng)DLOC(X)來(lái)實(shí)現(xiàn)。具體操作如下:
.....................................//頭文件 其它宏定義
__IDLOC(76F4); //注意:前面是兩個(gè)下劃線。括號(hào)里面多可以有2個(gè)字節(jié)
void main()
{
...................................//程序主體
}
編譯以后再用燒錄工具燒到單片機(jī)中即可。這里要提醒一下,IDLOC(X)里面多有2個(gè)字節(jié)的16進(jìn)制數(shù),超過(guò)部分會(huì)無(wú)效。比如你寫個(gè)987FE3,E3會(huì)丟掉。另外得說(shuō)一下這兩個(gè)16進(jìn)制數(shù)在ID區(qū)域是怎么放的。我們已經(jīng)知道IDLOC(X)里面能又個(gè)字節(jié),而ID區(qū)域能放4個(gè)字節(jié)。以X=76F4為例,它們是這樣放的07060F04。也就是說(shuō),在每個(gè)16進(jìn)制數(shù)前加1個(gè)0。如果你寫的不是2個(gè)字節(jié)的16進(jìn)制數(shù),比如是1個(gè)字節(jié)的78。編譯器會(huì)在前面補(bǔ)0,那就成了0078。寫到ID區(qū)域的就是00000708
3.ID碼怎么讀出來(lái)?
可以通過(guò)燒錄工具跟編譯器配合讀出來(lái)。我用的是PICC跟ICD2。連好線,單片機(jī)上電以后,在編程模式下,通過(guò)執(zhí)行Read Target Device操作,然后在Configure菜單下的Id memory
選項(xiàng)可以看到剛才編程的時(shí)候設(shè)置的ID碼。
其實(shí),多數(shù)PIC都沒(méi)有ID,有人通過(guò)燒斷PIC讀出總線來(lái)實(shí)現(xiàn),但設(shè)備需要自制。
只要是市場(chǎng)上大量銷售的芯片,解密都不是什么麻煩事,只能盡量用新型號(hào)或者生僻的型號(hào)。
有人用MCU內(nèi)部的EEPROM這么搞過(guò),但不是這么簡(jiǎn)單的這么搞,對(duì)于大批量生產(chǎn)來(lái)說(shuō),還需要一些技巧才能比較好的處理這個(gè)問(wèn)題。
1、設(shè)置一個(gè)自檢程序,通過(guò)特殊操作(我有一個(gè)自制工裝,可以把MCU的各個(gè)相關(guān)IO強(qiáng)行固定在某個(gè)邏輯電平上,軟件判斷邏輯組合,必須符合一個(gè)特定組合才能進(jìn)入特殊操作啟動(dòng)代碼,UART接受工裝的通信數(shù)據(jù),通信數(shù)據(jù)傳入EEPROM要被擦寫的次數(shù)和位置等)。
2、進(jìn)入自檢后,MCU瘋狂的擦寫EEPROM中設(shè)定的某個(gè)位置(適當(dāng)提高一點(diǎn)VCC電壓以加快失效),多擦寫200萬(wàn)次后停止操作,一般MCU自帶的EEPROM擦寫次數(shù)都不到100萬(wàn)次,EEPROM某個(gè)字節(jié)在0XAA和0X55之間不斷的被循環(huán)擦寫。
3、這個(gè)擦寫的時(shí)間還是比較長(zhǎng)的,一般要數(shù)十分鐘以上,我一般放在產(chǎn)品通電老化階段進(jìn)行這個(gè)自檢程序(產(chǎn)品一般要在老化房4~6個(gè)小時(shí)候通電老化時(shí)間,自檢程序兼容這個(gè)時(shí)間執(zhí)行,避免產(chǎn)生新的工時(shí)損失)
4、擦寫過(guò)程中在RAM中記錄EEPROM該字節(jié)失效時(shí)的操作次數(shù),并存入到EEPROM其他字節(jié)中。
5、產(chǎn)品正常銷售中,執(zhí)行APP用戶程序,繼續(xù)不斷的擦寫那個(gè)失效字節(jié),如果不能擦寫,則說(shuō)明加密成功,否則有另一個(gè)糾錯(cuò)程序就不講了,各位可以自行想辦法。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 單片機(jī)技術(shù)特性與嵌入式開(kāi)發(fā)實(shí)踐指南2026/1/7 10:00:02
- 單片機(jī)(MCU)與數(shù)字信號(hào)處理器(DSP)分類及選型技術(shù)指南2025/12/30 10:02:37
- 工業(yè)級(jí)DSP信號(hào)處理系統(tǒng):硬件適配與抗干擾工程方案2025/12/15 14:41:00
- HOLTEK推出HT32F65533G/733G內(nèi)建N/N預(yù)驅(qū)電機(jī)專用SoC單片機(jī)2025/11/26 14:11:41
- 什么是C51數(shù)據(jù)類型擴(kuò)充定義2025/10/27 13:59:22
- PCB焊盤與過(guò)孔設(shè)計(jì)核心實(shí)操規(guī)范(含可焊性與可靠性保障)
- 汽車電子常用電子元器件選型指南
- MOSFET驅(qū)動(dòng)與隔離方案設(shè)計(jì)
- 高溫環(huán)境下電源IC選型建議
- 安防監(jiān)控設(shè)備連接器應(yīng)用分析
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法









