Re: ATMEGA168PB flash corruption
|
||||
---|---|---|---|---|
初級會員
|
Microchip 沒有人可以回覆嗎?
發表於: 2023/10/30 13:31
|
|||
|
Re: ATMEGA168PB flash corruption
|
||||
---|---|---|---|---|
管理員
|
請問觸摸CRYSTAL Pin的行為造成 flash corruption 是因為產品設計上該腳位會被使用者誤觸所導致的嗎?
SPM指令只可在 Boot Program section ( Bootloader) 中執行, 程式應該是真的有進到 bootloader 才會執行到 SPM, 可否確認發生 flash corruption 前, 程式是否進入 bootloader 中 ? 是否為 Reset 導致進入 Bootloader ? 使用外部晶振時, 若Crystal Pin有雜訊導致時脈異常, 有可能令程式停止執行或是產生不可預期的結果.
發表於: 2023/11/15 13:40
|
|||
|
Re: ATMEGA168PB flash corruption
|
||||
---|---|---|---|---|
初級會員
|
感謝回覆,
1. 不是,但客戶在組裝測試時,有可能會觸摸到. 2. 確實是進入Bootloader 造成,因為Bootloader才有SPM指令,我曾將Bootloade中的SPM指令拿掉或是應用程式區LOCK, 就會正常了. 3. 這就是問題所在,但它造成Application code 被改寫, 當開機由Bootloader 開始執行,Bootloader會檢查計算Application code 的checksum ,若不一致時,會留在Bootloader中. 我們大量出貨多樣機種使用ATMega88已經快20年了, 在Atmega88PA之前的版本, 我們產品都有Bootloader存在,也一直都沒問題, 但由這一二年來缺料及更新,換了新ATmega88PB及ATmega168PB之後,產生大量的客退,都是相同的原因. 我們Bootloader是預留給後續更新之用, 不能移除, 且應用程式區也不能lock,否則無法再更新. PA版本,又好像要停產, 這問題一直是無解.
發表於: 1/30 18:33
|
|||
|
Re: ATMEGA168PB flash corruption
|
||||
---|---|---|---|---|
管理員
|
請問是否有啟用 BOD (Brown Out Detect) 來避免因為電壓不穩定的情況之下. 造成 Bootloader 的異常動作導致去燒寫 Application Code 區塊?
由於 Application 被破壞的原因為進入 Bootloader 後, 不正常的存取 Application 導致, 因此可以從以下幾個方式來嘗試加強 Bootloader 的穩固性. 1. 藉由 MCUSR – MCU Status Register 來了解發生 Reset 的原因是誰造成的? 2. 開啟 BOD 之後, 若 Reset 的原因為 BOD 時, 那電源的硬體需要加強. 3. 若 Reset 的原因並非正常進入 Boot Loader 的 Reset 時, 則不要讓 Bootloader 有機會執行可以燒錄 App 的程式.
發表於: 2/1 8:24
|
|||
|
Re: ATMEGA168PB flash corruption
|
||||
---|---|---|---|---|
初級會員
|
1. BOD 一直有啟用
2. Bootloader 的強固性是沒有問題, 我們Bootloader只會在接收加密封包,解碼成功才會進行IAP. 我們使用相同的板子, 上原ATmega88PA 完全沒有問題, 但ATmega88PB,偶爾會發生, ATmega168很容易發生 , 這都是在供電下,觸摸crystal pin下測試的結果. 3. 請問觸摸crystal pin時,是什麼樣情況會造成Reset?
發表於: 2/5 15:42
|
|||
|
Re: ATMEGA168PB flash corruption
|
||||
---|---|---|---|---|
管理員
|
3. 請問觸摸crystal pin時,是什麼樣情況會造成Reset?
Ans. 可以在boot時檢查 MCUSR – MCU Status Register 來了解發生 Reset 的原因是誰造成的?
發表於: 2/20 9:09
|
|||
|
Re: ATMEGA168PB flash corruption
|
||||
---|---|---|---|---|
初級會員
|
請問ATmega88PB及ATmega88PA在振盪電路做哪些改變?
這種受振盪影響,程式己經是無法正常運作,所以任何韌體的措施都無解!
發表於: 3/5 10:29
|
|||
|
Re: ATMEGA168PB flash corruption
|
||||
---|---|---|---|---|
資深會員
|
如果沒有clock tolerance的考量的話, FW改成內振呢?
發表於: 3/8 17:30
|
|||
不要盲目地從一堆“嘗試”中去找答案;將時間用來找尋“最正確”的方法。
|
||||
|
Re: ATMEGA168PB flash corruption
|
||||
---|---|---|---|---|
初級會員
|
重大發現 !!!!
1. 依照datasheet說明, 使用JTAGICE3燒錄,MCU正確選用ATmega168PB, LOW.SUT_CKSEL採用 Crystal Oscillator 燒錄, 會有異常現象的問題. 2. 當使用STK500燒錄,MCU選用ATmega168P, LOW.SUT_CKSEL採用 Crystal Oscillator 燒錄, 會有異常現象的問題. 3. 當使用STK500燒錄,MCU選用ATmega168P,LOW.SUT_CKSEL採用 Full Swing Crystal 燒錄, 結果異常現象沒有發生了.請問第3點這樣燒錄正確嗎? 目前及之後生產的ATmega168PB都能一直支援可以這樣 Full Swing Crystal 燒錄嗎? 這是否應理解為 pb版本為了更低的耗電, 將Full Swing Crystal 模式取消, 但卻造成Crystal 容易被干擾,引起這個問題?
發表於: 3/19 16:28
|
|||
|