• slider image 325
  • slider image 326
  • slider image 327
  • slider image 328
  • slider image 329
  • slider image 330
:::


Browsing this Thread:   1 Anonymous Users




(1) 2 »


Re: ATSAMD51J18A 有關Code Protect相關文件
#17
中級會員
中級會員


查看用戶資訊
感謝Libra的說明,終於知道Configuration bits是從哪裡產生在Hex檔裡了。

從自己的Bootlaoder 解Hex一直有看到有Configuration Bits的資訊在Hex檔裡,
就是找不到放在Code的哪個地方。

另外plib_nvmctrl.c 只有提供NVMCTRL_BlockErase 沒有提供NVMCTRL_PageErase
Configuration bits需透過Page Erase才可以成功抹除。
寫入的時候需透過NVMCTRL_QuadWordWrite()來寫入,
否則使用NVMCTRL_PageWrite()也是沒辦法寫進去。

以上提供給要使用的人參考。

發表於: 9/30 16:38
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: ATSAMD51J18A 有關Code Protect相關文件
#16
管理員
管理員


查看用戶資訊
可以用 BOD33 這個 keyword來查詢, 下面是SAMD21的說明
縮圖

Attach file:



jpg  SAMD21_BOD33.jpg (266.29 KB)
67979_61551dbccef93.jpg 916X727 px

發表於: 9/30 10:15
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: ATSAMD51J18A 有關Code Protect相關文件
#15
新會員
新會員


查看用戶資訊
HI Sirs, 您好.

目前 project 在 marmory configurator 中有看到 BOD33 user level, 是設定 0x06,
請問 0x06 代表什麼電壓 level 值嗎?

在什麼文件有寫到這個設定的解說嗎? 看 spec 中沒看到設定值的說明.

謝謝您~


參照:

Ryang wrote:

資料在開、關電階段被修改與電源上升、下降的速度有關,尤其是關機的時候。關機後電源開始下降如果降到核心工作的臨界電壓值時,如果這時 MCU 沒有進入 Reset 狀態下這時程式會使用殘餘的電量開始失控到處亂執行造成 Flash 或 EEPROM 被修改。

我不曉得您是否了解 BOR 的功能。此功能有內建在 MCU 裡可以用燒 Code 方式選擇作動電壓,或在 Reset 腳位加入一個 Voltage Supervisor 的元件 (如: MCP1xx)。
MCP103 : 1uA Supervisor Push-Pull Active Low
https://www.microchip.com/en-us/product/MCP103

BOR 一般稱為掉電偵測或重置。如果 MCU 工作是 3.3V 那選用的 BOR 電壓是 2.7V 的話。只要電源掉到 2.7V 以下 MCU 就會進入 Reset Mode 直接鎖住 MCU 不再執行任何程式包含程式的亂跑。

所以建議先啟用 BOR 功能在燒錄 Configuration 時開啟。

Attach file:



jpg  BOD33.jpg (59.31 KB)
121331_61550e3def04f.jpg 561X444 px

發表於: 9/30 9:15
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: ATSAMD51J18A 有關Code Protect相關文件
#14
管理員
管理員


查看用戶資訊
參照太多, 只留下當前的問題
想再請教一下,看我的流程是否正確:
第一個問題是:
我是使用MPLAB X IDE, 在Production->Set Configuration Bit, 開發環境提示需使用Simulator tool才可以進入編輯模式,編輯後有個"Generate Source Code to Output",按下去就會在Output 視窗產生Code,把它貼進主程式,Compiler 後,Configuration Bit 設定就會包在Hex檔裡面對吧?
Ans: 如果你是使用Harmony來實作時, 建議在MHC中設定Fuse值, 這樣就可以在Gencode時, 自動產生Fuse(Configuration bit)的假指令#Pragma, 然後燒錄時MPLAB X IDE會依照假指令的設定, 將Fuse值寫到SAM MCU中, 含這個假指令的HEX, 目前只有在MPLAB X IDE/IPE中執行燒錄才會有效, 如果在Atmel Studio 7中燒錄這個HEX, 則Fuse不會燒到MCU中. MHC產生的假指令會產生在initialization.c中.
縮圖


第二個問題是:關於上面說的保護後需先解開,才可以再次進行燒錄,想詢問需要從哪邊的設定
才可以進行修改目前MCU Configuration Bit的設定。
Ans: 在Production->Set Configuration Bit中, 必須要先自MCU讀取當前的Fuse設定, 讀取設定時必須要先連接好燒錄器(不能使用Simulator tool), 還沒讀取之前Fuse設定是紅色的
縮圖


讀取成功後就會變成黑色的, 然後就可以更改你要的設定, 之後再執行Fuse Write即可.

[注意] Fuse更動後, 必須要Power Cycle才能在Cold boot時生效!
另外! HEX中如果有含Fuse的設定時, 再次燒錄HEX後, 會覆蓋手動修改的內容
相同的, 燒錄完含Fuse的HEX之後, 亦可以手動Write Fuse來修改HEX的設定
還有! Fuse設定也可以寫程式在執行中, 透過NVM API來自己更動

縮圖

Attach file:



jpg  MHC_Fuse.jpg (288.96 KB)
67979_61525aff4c56b.jpg 910X558 px

jpg  XIDE_FuseRead.jpg (288.75 KB)
67979_61525b16cd65d.jpg 1155X349 px

jpg  XIDE_FuseWrite.jpg (286.44 KB)
67979_61525b400cf59.jpg 1152X377 px

發表於: 9/28 8:00

Edited by Libra on 2021年09月28日 08:15:21
Edited by Libra on 2021年09月28日 08:17:45
Edited by Libra on 2021年09月28日 08:18:06
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: ATSAMD51J18A 有關Code Protect相關文件
#13
版主
版主


查看用戶資訊
參照:

Kevin88 wrote:
如果跟 power-off 電壓有關.
請問你的 reset RC 值, 各是多少?

改變放電時間, 是否有幫助?


資料在開、關電階段被修改與電源上升、下降的速度有關,尤其是關機的時候。關機後電源開始下降如果降到核心工作的臨界電壓值時,如果這時 MCU 沒有進入 Reset 狀態下這時程式會使用殘餘的電量開始失控到處亂執行造成 Flash 或 EEPROM 被修改。

我不曉得您是否了解 BOR 的功能。此功能有內建在 MCU 裡可以用燒 Code 方式選擇作動電壓,或在 Reset 腳位加入一個 Voltage Supervisor 的元件 (如: MCP1xx)。
MCP103 : 1uA Supervisor Push-Pull Active Low
https://www.microchip.com/en-us/product/MCP103

BOR 一般稱為掉電偵測或重置。如果 MCU 工作是 3.3V 那選用的 BOR 電壓是 2.7V 的話。只要電源掉到 2.7V 以下 MCU 就會進入 Reset Mode 直接鎖住 MCU 不再執行任何程式包含程式的亂跑。

所以建議先啟用 BOR 功能在燒錄 Configuration 時開啟。

發表於: 9/27 11:28
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: ATSAMD51J18A 有關Code Protect相關文件
#12
中級會員
中級會員


查看用戶資訊
參照:

Libra wrote:
感謝您的提問, 沒錯Erase All對Flash內容還是有效,
是Flash保護相關的Fuse 設定無法被Erase All清除!
更正一下我這段話
注意! 一但設定Boot Protect或是Region Lock時,則被保護及鎖定的Flash區域,將無法再被燒錄新程式,
Erase All 可以清除Flash全部內容, 但是無法解除(清除)Boot Protect及Region Lock的設定,
因此 要 Reprogram 之前一定要先解除(清除)Boot Protect及Region Lock的設定後,才能釋放被保護或鎖定的Flash區域,否則 Reprogram 會失敗。

參照:

jlian wrote:
你好 : 下面這段話, 會不會有問題?這樣的話不是先解除後就看得到程式碼了嗎?

注意! 一但設定Boot Protect或是Region Lock時,則被保護及鎖定的Flash區域,將無法再被Erase或是燒錄新程式,Erase All也無效,一定要先解除(清除)Boot Protect及Region Lock的設定後,才能釋放被保護或鎖定的Flash區域,Erase all及Reprogram才能正常。

謝謝.


想再請教一下,看我的流程是否正確:
第一個問題是:
我是使用MPLAB X IDE, 在Production->Set Configuration Bit, 開發環境提示需使用Simulator tool才可以進入編輯模式,編輯後有個"Generate Source Code to Output",按下去就會在Output 視窗產生Code,把它貼進主程式,Compiler 後,Configuration Bit 設定就會包在Hex檔裡面對吧?

第二個問題是:關於上面說的保護後需先解開,才可以再次進行燒錄,想詢問需要從哪邊的設定
才可以進行修改目前MCU Configuration Bit的設定。

發表於: 9/24 11:10
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: ATSAMD51J18A 有關Code Protect相關文件
#11
管理員
管理員


查看用戶資訊
感謝您的提問, 沒錯Erase All對Flash內容還是有效,
是Flash保護相關的Fuse 設定無法被Erase All清除!
更正一下我這段話
注意! 一但設定Boot Protect或是Region Lock時,則被保護及鎖定的Flash區域,將無法再被燒錄新程式,
Erase All 可以清除Flash全部內容, 但是無法解除(清除)Boot Protect及Region Lock的設定,
因此 要 Reprogram 之前一定要先解除(清除)Boot Protect及Region Lock的設定後,才能釋放被保護或鎖定的Flash區域,否則 Reprogram 會失敗。

參照:

jlian wrote:
你好 : 下面這段話, 會不會有問題?這樣的話不是先解除後就看得到程式碼了嗎?

注意! 一但設定Boot Protect或是Region Lock時,則被保護及鎖定的Flash區域,將無法再被Erase或是燒錄新程式,Erase All也無效,一定要先解除(清除)Boot Protect及Region Lock的設定後,才能釋放被保護或鎖定的Flash區域,Erase all及Reprogram才能正常。

謝謝.

發表於: 9/23 10:22
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: ATSAMD51J18A 有關Code Protect相關文件
#10
中級會員
中級會員


查看用戶資訊
參照:

Kevin88 wrote:
如果跟 power-off 電壓有關.
請問你的 reset RC 值, 各是多少?

改變放電時間, 是否有幫助?


Reset RC值 分別是10k & 4.7n
請問您也有遇到相同狀況嗎?
因為現象不好複制,只能先下對策看是否能讓問題不再次發生。
待後續發生頻率更頻繁,可以複制現象,可以試試您說的改變
放電時間是否有幫助。

發表於: 9/22 16:55
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: ATSAMD51J18A 有關Code Protect相關文件
#9
資深會員
資深會員


查看用戶資訊
你好 : 下面這段話, 會不會有問題?這樣的話不是先解除後就看得到程式碼了嗎?

注意! 一但設定Boot Protect或是Region Lock時,則被保護及鎖定的Flash區域,將無法再被Erase或是燒錄新程式,Erase All也無效,一定要先解除(清除)Boot Protect及Region Lock的設定後,才能釋放被保護或鎖定的Flash區域,Erase all及Reprogram才能正常。

謝謝.

發表於: 9/22 15:49
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: ATSAMD51J18A 有關Code Protect相關文件
#8
中級會員
中級會員


查看用戶資訊
參照:

Libra wrote:
關於您的問題, 是否有使用Bootloader呢?
1. 如果要避免Flash被debugger讀出來時,請設定NVM Fuse 中的 Secure bit,但是您的問題這個應該無效.
2. 如果是Flash前面幾個Byte被不明破壞(寫入)時,請設定NVM Fuse中的Boot Protect,可以指定要保護開機區的Byte數.
3. 如果想要保護整個Flash或是大區域時,請設定NVM Fuse中的 Region Lock,可以指定要Lock的區塊
4. 電壓不穩時,一樣要去設定NVM Fuse中的 BOD值,避免讓MCU在電壓不穩時工作.

注意! 一但設定Boot Protect或是Region Lock時,則被保護及鎖定的Flash區域,將無法再被燒錄新程式,
Erase All 可以清除Flash全部內容, 但是無法解除(清除)Boot Protect及Region Lock的設定,
因此 要 Reprogram 之前一定要先解除(清除)Boot Protect及Region Lock的設定後,才能釋放被保護或鎖定的Flash區域,否則 Reprogram 會失敗

Note: Atmel studio 7中可以找到Fuse的設定介面,如果是使用MPLAB X IDE時,則在 Configuration bit中設定。


感謝Libra回覆,我找時間再試試看。

發表於: 9/22 15:29

Edited by Libra on 2021年09月23日 10:25:44
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://mu.microchip.com/page/tmu
http://www.microchip.com.tw/modules/tadnews/page.php?ncsn=2&nsn=41
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
https://page.microchip.com/APAC-PrefCenters-TW.html
https://www.youtube.com/user/MicrochipTechnology
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
https://www.microchip.com/development-tools/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
[ more... ]

教育訓練中心

課程 - 台北教育訓練中心
課程 - 新竹教育訓練中心
課程 - 高雄教育訓練中心
教育訓練中心介紹
購買 - 實驗工具
臺灣實驗板介紹與資源