找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 11511|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

巧用J-Link+J-Flash給Kinesis燒寫(xiě)序列號(hào)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:82781 發(fā)表于 2015-6-24 16:18 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
    類(lèi)似前段時(shí)間我寫(xiě)的兩篇關(guān)于知識(shí)產(chǎn)權(quán)保護(hù)芯片加密的文章,這次再聊一聊產(chǎn)品量產(chǎn)時(shí)常需要考慮的另一個(gè)問(wèn)題——燒寫(xiě)序列號(hào)。貌似最近跟“量產(chǎn)”杠上了,呵呵,作為產(chǎn)品生產(chǎn)周期的最后一環(huán),需要考慮的問(wèn)題很多,不著急,咱以后慢慢聊,哈哈~
            在產(chǎn)品批量生產(chǎn)的時(shí)候,很多人會(huì)有這樣的需求,即將每個(gè)芯片燒寫(xiě)一個(gè)唯一的ID號(hào)(Serial Number),以方便對(duì)產(chǎn)品進(jìn)行跟蹤和管理或者滿(mǎn)足對(duì)芯片進(jìn)行綁定ID號(hào)加密的需要。而為了提高整個(gè)批量生產(chǎn)過(guò)程的效率,選擇一個(gè)好的燒寫(xiě)工具則至關(guān)重要。對(duì)飛思卡爾的Kinetis系列來(lái)說(shuō),可用的燒寫(xiě)方案包括P&E官方的Cyclone MAX(支持在線(xiàn)燒寫(xiě)和脫機(jī)燒寫(xiě),當(dāng)然價(jià)格較貴)和J-Link(僅支持在線(xiàn)燒寫(xiě),需要仿真器+上位機(jī)配合)等,本篇就以最近比較火的Freescale M0+ Kinetis L系列為例詳細(xì)介紹一下J-Link+J-Flash批量燒寫(xiě)串號(hào)的方案(說(shuō)到此,不得不感嘆J-Link的強(qiáng)大,高速的下載和調(diào)試,豐富的IDE支持和調(diào)試組件和強(qiáng)有力的調(diào)試功能,再加上……咳咳(大家都懂的),不是土豪人家是金啊,怎一個(gè)NB了得):
        開(kāi)發(fā)平臺(tái):Kinetis L系列KL15Z128
        燒寫(xiě)工具:J-Link + J-Flash(v4.76f)
        (1) 這里我就不單獨(dú)對(duì)J-Flash多作介紹了,可以參考我之前的一篇文章《教你用J-Flash ARM工具單獨(dú)燒寫(xiě)程序到Kinetis》,至于包括J-Flash在內(nèi)的軟件包可以直接到SEGGER官網(wǎng)下載http://www.segger.com/jlink-software.html,建議下載最新版的,支持的芯片系列較全,相應(yīng)的組件功能也更強(qiáng)大;
        (2) 打開(kāi)J-Flash(路徑為Start->All Programs->SEGGER->J-Link ARM V4.76f->J-Flash),在最新版本中會(huì)直接彈出選擇已有工程選項(xiàng)卡,根據(jù)需要在路徑"安裝路徑\SEGGER\JLinkARM_V476f\Samples\JFlash\ProjectFiles\Freescale”下選擇自己的目標(biāo)芯片(我這里選擇MKL15Z128xxx4.jflash,木辦法,手里只有這個(gè)),選擇如下圖:
       
        (3) 點(diǎn)擊“start J-Flash”進(jìn)入工程管理界面,然后點(diǎn)擊File->Open data file,找到需要下載的bin文件或者S19文件,將其加載到j(luò)flash工程里面,加載之后的界面如下圖:
       
        (4) 萬(wàn)事具備,接下來(lái)就開(kāi)始進(jìn)行燒寫(xiě)序列號(hào)的設(shè)置。點(diǎn)擊“Options->Project Settings->Production”,選中“Program Serial Number”,設(shè)置如下:
       
        (5) 點(diǎn)擊“OK”,設(shè)置完畢(只設(shè)置一次即可),然后連接目標(biāo)芯片“Target->Connect”,連接成功,點(diǎn)擊“Auto”,系統(tǒng)會(huì)自動(dòng)將設(shè)置好的序列號(hào)添加到s19文件相應(yīng)的地址,然后啟動(dòng)下載,同時(shí)也會(huì)在Jflash的工程目錄(之前加載的sample prject的目錄)下生成一個(gè)“<JFlashProjectName>_Serial.txt”,內(nèi)容如下圖,其中“12345679”為下次要寫(xiě)入的數(shù)據(jù),系統(tǒng)自動(dòng)為其加1了(由“Increment”決定):
       
       
        (6) 我們回讀燒寫(xiě)到片子中的數(shù)據(jù)(Target->Read Back->Entire chip),然后跳轉(zhuǎn)到“0x2000”地址,可以看到序列號(hào)(12345678的十六進(jìn)制)已經(jīng)寫(xiě)入,如下圖:
       
        注意事項(xiàng):
        (1) 在燒寫(xiě)的時(shí)候,必須點(diǎn)擊“Auto”下載,這樣才會(huì)生成“<JFlashProjectName>_Serial.txt”文件,且會(huì)把序列號(hào)自動(dòng)添加到s19文件然后燒進(jìn)去,直接點(diǎn)擊“Program”或者“Program&Verify”等燒寫(xiě)功能只會(huì)燒寫(xiě)原始S19文件,不會(huì)添加序列號(hào);
        (2) J-Flash燒寫(xiě)序列號(hào)最多支持4個(gè)字節(jié),高于四個(gè)字節(jié)的數(shù)據(jù)J-Flash會(huì)將前四個(gè)字節(jié)取反再燒進(jìn)去,所以實(shí)際上起作用的還是4個(gè)字節(jié),不過(guò)單純作為序列號(hào)的話(huà)肯定是足夠了,4個(gè)字節(jié)32個(gè)比特位,IPv4的地址也就這些吧,呵呵,想不到會(huì)有什么產(chǎn)品會(huì)超過(guò)這個(gè)范圍,那樣的話(huà)Freescale超越當(dāng)年的Motorola也不是問(wèn)題了啊,哈哈;
        (3) 關(guān)于燒寫(xiě)地址的問(wèn)題,理論上只要在目標(biāo)芯片的Code Flash地址范圍內(nèi)并且不與原始運(yùn)行代碼地址重疊即可,因?yàn)镴-Flash燒寫(xiě)的原理是先添加數(shù)據(jù)到原始bin或者S19文件相應(yīng)的位置然后整個(gè)文件一塊燒寫(xiě)進(jìn)去,所以寫(xiě)序列號(hào)的時(shí)候不需要額外的再擦寫(xiě)扇區(qū)一次也就是不會(huì)破壞同在一個(gè)扇區(qū)的原始數(shù)據(jù),不過(guò)當(dāng)然如果flash空間足夠大的話(huà)不建議將序列號(hào)燒寫(xiě)地址挨著原始代碼太近,建議將序列號(hào)寫(xiě)到Flash的最后,規(guī)避風(fēng)險(xiǎn);
        (4) 實(shí)際上采用J-Flash也可以燒寫(xiě)多余4個(gè)字節(jié)的數(shù)據(jù),不過(guò)這需要手動(dòng)添加編輯txt文件,這里就不多說(shuō)了,可以參考附件中文檔。
        最近忙的不可開(kāi)交,抽空終于把這篇文檔完成了,不容易啊不容易,下次再聊,未完待續(xù)~
UM08003_JFlashARM.pdf (559.81 KB, 下載次數(shù): 37)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

5#
ID:221675 發(fā)表于 2017-11-12 21:35 | 只看該作者
不錯(cuò),學(xué)習(xí)了。謝謝分享
回復(fù)

使用道具 舉報(bào)

地板
ID:206350 發(fā)表于 2017-10-26 10:08 | 只看該作者
學(xué)習(xí)~~~~
回復(fù)

使用道具 舉報(bào)

板凳
ID:68875 發(fā)表于 2016-8-14 11:15 | 只看該作者
good share
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:95294 發(fā)表于 2015-11-10 16:11 | 只看該作者
不錯(cuò),好東西,謝謝分享
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表