[問題] STM32F407板子erase chip問題

看板Electronics作者 (阿綠)時間9年前 (2016/07/30 14:41), 9年前編輯推噓6(609)
留言15則, 5人參與, 最新討論串1/1
這幾天和朋友一起玩這塊板子, 不慎erase chip (mass erase),read protectrion是在 Level 0的狀態。 目前正在想辦法使他回復正常,但是碰到一些問題。 因為把flash memory全部erase掉了,所以我們改用boot from system memory,之後再接 回boot from flash memory。這樣好像才可以順利開機。 開機之後,可以燒錄東西進去,但是卻無法執行。 想請問一下有無熟悉STM32Fxx系列的玩家可以替我們解惑,該如何讓他回歸正常,感激不 盡 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.115.189.40 ※ 文章網址: https://www.ptt.cc/bbs/Electronics/M.1469860894.A.78C.html ※ 編輯: david051576 (59.115.189.40), 07/30/2016 14:42:06

07/30 16:39, , 1F
不能執行可能是起始位置有誤或是code有問題
07/30 16:39, 1F
了解,我們會再檢查一下

07/30 19:50, , 2F
正常是指?燒Demonstrations跟隨便一個Examples都不行?
07/30 19:50, 2F
後來的情況我們修正步驟後,是廠商給的Examples燒的進去(LED會亮,但是板子上的螢幕 沒有東西) 他們這個example應該是要兩個都有東西,想請問一下除了他們的code錯誤外,螢幕壞掉 外,是否還有其他可能。 很怕是我們刪掉什麼原本的設定,導致之後出現不預期的問題。

07/30 22:15, , 3F
我不熟STM32xx,但我以一個Flash memory circuit RD來回答
07/30 22:15, 3F

07/30 22:15, , 4F
flash memory有protect sector/block,如果你的boot code
07/30 22:15, 4F

07/30 22:16, , 5F
是放在這個受到保護的區塊,那開機時可以指定這個位址給它
07/30 22:16, 5F

07/30 22:17, , 6F
因為一般的Chip ERS是無法抹除掉這個區塊,如果你下抹除
07/30 22:17, 6F

07/30 22:17, , 7F
該區塊的指令。 如果你的boot code或是資料是放在其他區域
07/30 22:17, 7F

07/30 22:18, , 8F
那就會隨著chip erase而被清掉(變成All "1")。
07/30 22:18, 8F

07/30 22:19, , 9F
目前的情況是可以program進去,卻無法執行,表示資料讀不出
07/30 22:19, 9F

07/30 22:19, , 10F
來,或是讀到錯的資料。你確定有給正確的address嗎?
07/30 22:19, 10F
感謝j大回覆,目前的情況如上。 傳入的address是對的(有用st-link檢查過) 另外想請問一下,data所謂的boot from flash或是boot from System memory的實際意義 是否是 "將板子上某個位置的boot loader燒錄到這些地方,然後再做執行的動作"

07/31 01:12, , 11F
感覺是沒有回到boot from flash
07/31 01:12, 11F
感謝y大回覆。目前情況如上。 ※ 編輯: david051576 (223.141.94.43), 07/31/2016 20:52:41

07/31 21:48, , 12F
那就換一片版子試試看.... 我通常1次買2片
07/31 21:48, 12F

07/31 21:57, , 13F
你燒這塊板原廠提供的demo就會有螢幕了
07/31 21:57, 13F

08/01 21:19, , 14F
應該是先boot from memory、燒flash之後再boot from flash
08/01 21:19, 14F

08/01 21:19, , 15F
有確認過內部flash燒錄跟bootup的位址嗎?
08/01 21:19, 15F
文章代碼(AID): #1Nd4mUUC (Electronics)