會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)


正在流覽:   1 名訪客





PIC32MM0064GPM0028 在 CP = ON 時能否產生 Checksum
新會員
註冊日期:
2017/02/12 20:58
所屬群組:
註冊會員
文章: 18
等級: 2; EXP: 97
HP : 0 / 49
MP : 6 / 218
離線
各位先進好

近期使用 PIC32MM0064GPM0028 進行專案開發

由於後續需要發給燒錄廠燒錄

因此需要開啟 Code Protection 編譯 .hex

根據 http://ww1.microchip.com/downloads/en/DeviceDoc/60001364d.pdf

CP = ON 時,Checksum 必為 0

先前開發 8Bit 的 PIC16F15324 時

可以在 Project Properties->Building

勾選 Insert unprotected checksum in User ID memory

當 CP = ON 時,最後編譯的 .hex 仍會產生 checksum

但 PIC32MM 沒辦法勾選這個選項

不知道 PIC32MM 有沒有辦法在 CP = ON,仍可以產生出 Checksum?

謝謝

7月17日 17:31:17
轉換PDF檔 列印


Re: PIC32MM0064GPM0028 在 CP = ON 時能否產生 Checksum
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14432
等級: 72; EXP: 95
HP : 1079 / 1798
MP : 4810 / 75179
離線
CP=ON and CP=Off 的 Chuck sum 是不一樣的。可以在 Dashboard 的視窗看到。

附加檔案:



jpg  擷取.JPG (41.95 KB)
16_5b4ee5701a69a.jpg 373X288 px

7月18日 15:00:00
轉換PDF檔 列印


Re: PIC32MM0064GPM0028 在 CP = ON 時能否產生 Checksum
新會員
註冊日期:
2017/02/12 20:58
所屬群組:
註冊會員
文章: 18
等級: 2; EXP: 97
HP : 0 / 49
MP : 6 / 218
離線
Hi 版大

抱歉沒說清楚目的

我希望能做到的是

1.CP = ON,因為程式碼不希望外流

2.Compile 後的 HEX檔燒錄進 MCU

3.開啟 IPE 從 MCU 可以讀到非0的 Checksum(CP = ON, Checksum 預設 0, 因為被保護起來了),日後別人拿到mcu才能檢查內容物的code正不正確

附加檔案:



jpg  2018-07-18_170026.jpg (44.05 KB)
50946_5b4f02505aabf.jpg 585X199 px

7月18日 17:03:12
轉換PDF檔 列印


Re: PIC32MM0064GPM0028 在 CP = ON 時能否產生 Checksum
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14432
等級: 72; EXP: 95
HP : 1079 / 1798
MP : 4810 / 75179
離線
因為 CP = ON 後,Flash Memory 將被保護起來,即使用燒錄器讀取也是無法讀出 Checksum 的數值出來。所以說一旦燒錄了保護位元,這 PIC 就無法得知其 Flash Memory 的訊息,包含 Checksum。

碰到如此問題要辨識是哪個軟體版本或客戶的程式,這時候只剩下 ID 可以看出來。
在燒錄時填入 ID 後燒錄,因為 ID 不會被保護所以可以讀出來看。這是唯一辨別保護後的 PIC 的訊息資料。

7月19日 08:07:08
轉換PDF檔 列印


Re: PIC32MM0064GPM0028 在 CP = ON 時能否產生 Checksum
新會員
註冊日期:
2017/02/12 20:58
所屬群組:
註冊會員
文章: 18
等級: 2; EXP: 97
HP : 0 / 49
MP : 6 / 218
離線
Hi 版大

在 CP = ON 確實是如你說的,因為 Flash memory 被保護起來

而無法讀取 checksum

但部分系列如 PIC16(L)F153xx

http://ww1.microchip.com/downloads/en/DeviceDoc/40001838C.pdf

有提到可以將 Checksum 計算結果儲存在 User ID

但仍舊有將 Flash memory 保護起來的功能

不過在 PIC32MM 系列不能使用這項功能

如果仍舊需要在 CP = ON 時,從已燒錄的 MCU 讀取到 Checksum

PIC32MM 系列目前看來只有通過手動改 ID 的方式達成?

附加檔案:



jpg  2018-07-19_084444.jpg (191.25 KB)
50946_5b4fdfd536876.jpg 1271X397 px

7月19日 08:48:21
轉換PDF檔 列印


Re: PIC32MM0064GPM0028 在 CP = ON 時能否產生 Checksum
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14432
等級: 72; EXP: 95
HP : 1079 / 1798
MP : 4810 / 75179
離線
是的,在 IDE 使用 8-bit PIC 時,Chucksum 是可以直接轉到 ID 使用 Checksum 的值來當做 User ID 的。

PIC32MM 我沒找到有此自動轉移的功能,也只有用手動方式填入你所要的數值到 User ID 了。

7月19日 10:08:29
轉換PDF檔 列印






無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
Microchip連結

網頁捷徑
2018 Winter Elite 報名
教育訓練
其它網站連結
電話: 02-25000405
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project