您在使用GD32過程中是否遇到過芯片反復(fù)復(fù)位,代碼無法更新,代碼一直執(zhí)行在0x1fffxxxx區(qū)域,或代碼執(zhí)行在SRAM區(qū)域的情況?如果有遇到這類現(xiàn)象是否找到原因呢?如果沒找到是否檢查過選項字節(jié)是否正常呢?這一章節(jié)我們針對各系列的選項字節(jié)設(shè)置和解除做一個相關(guān)說明,后續(xù)遇到上述問題可以考慮一下是否是選項字節(jié)配置錯誤導(dǎo)致。
1 .各系列選項字節(jié)說明
GD32L23x/GD32E50x系列選項字節(jié):
GD32E103/GD32E11x/GD32VF103/GD32C103/GD32C113GD32F10x/GD32F20x/GD32F30x/GD32F403系列選項字節(jié)介紹:
GD32F1x0/GD32F3x0/GD32E230/GD32E231/GD32E232系列選項字節(jié):
GD32A503選項字節(jié):
GD32F4xx系列選項字節(jié):
2.通過代碼實現(xiàn)
具體做法這里不詳細(xì)介紹,具體參考5.11章FMC配置介紹,需要注意,讀保護(hù)的設(shè)置和解除需要芯片上下電才能生效,通過外部代碼解除讀保護(hù)需要將代碼運行在ram里面執(zhí)行。
3.通過 JTAG/SWD 接口實現(xiàn)
3.1.使用 Jlink 設(shè)置和解除選項字節(jié)
連好Jlink與目標(biāo)板連線,打開J-Link Commander命令提示窗工具“JLink.exe”
按照提示輸入相應(yīng)信息 connect→?→s→100
如果連接OK,可以識別到芯片的內(nèi)核信息,即可輸入mem命令獲取對應(yīng)的選項字節(jié)信息;
Jlink command 常用命令簡介:
mem Read memory. Syntax: mem [:], (hex) mem8 Read 8-bit items. Syntax: mem8 [:], (hex) mem16 Read 16-bit items. Syntax: mem16 [:], (hex) mem32 Read 32-bit items. Syntax: mem32 [:], (hex) w1 Write 8-bit items. Syntax: w1 [:], (hex) w2 Write 16-bit items. Syntax: w2 [:], (hex) w4 Write 32-bit items. Syntax: w4 [:], (hex)
通過上位機(jī)J-Flash設(shè)置讀保護(hù):
a.在J-Flash中選擇對應(yīng)物料型號:
b.接調(diào)試線,然后選擇Target→ Connect:
c.選擇Target→ Manual Programming→Secure Chip,可完成芯片讀保護(hù)設(shè)置;
d.讀保護(hù)設(shè)置完成后重新上電下電可以通過Jlink command回讀判斷;
通過上位機(jī)J-Flash去除讀保護(hù):
將 目 標(biāo) 板 通 過 Jlink 與 目 標(biāo) 板 連 接 后 , 選 擇 對 應(yīng) 物 料 型 號 ,Target→ManualProgramming→Unsecure Chip
注:(1)通過JFlash上位機(jī)僅能設(shè)置讀保護(hù),不能設(shè)置其他選項字節(jié);
(2)GD32F405/407/450系列之外的型號通過設(shè)置讀保護(hù),斷電,再解除讀保護(hù)可以實現(xiàn)其他選項字節(jié)的擦除;
通過J-Flash上位機(jī)其他辦法設(shè)置和去除讀保護(hù):(了解即可)
A、使用綠色版Jflash里面jflash的project工程,里面已經(jīng)寫好了Init setps,如果設(shè)置了讀保護(hù),將jlink與目標(biāo)板connect時會發(fā)送Init steps序列解除讀保護(hù);
B、使用bat腳本調(diào)用.jlink文件來實現(xiàn)讀寫保護(hù)的設(shè)置,可以找技術(shù)支持提供相應(yīng)資源,原理不詳述;
3.2.使用 GDlink 設(shè)置和解除選項字節(jié):
a.接好GDLINK與目標(biāo)芯片的連線,然后打開Target→Connect
b.Connect后會在信息窗口自動回讀芯片信息和選項字節(jié)信息;
c.選擇Target里面的Configure OptionBytes點開即可編輯選項字節(jié)(僅三合一的GDLINK支持)
板載的GDlink不支持Configure OptionBytes,僅可設(shè)置和解除讀保護(hù);
板載GDLINK connect時出現(xiàn)如下界面選擇“確定”,然后設(shè)置”Securtiy”和”Insecurity”
4.通過 ISP 命令選項字節(jié)設(shè)置和解除
通過ISP命令選項字節(jié)設(shè)置和解除:
a.將修改芯片BOOT電平,接好串口/USB,讓芯片處于ISP狀態(tài)
b.如果芯片處于讀保護(hù)狀態(tài),接下來會直接讓你選擇去除讀保護(hù),否則無法繼續(xù)往后執(zhí)行;
c.讀保護(hù)去除成功后會彈出Readout unprotected successfully!界面。
d.選擇下一步芯片會讀取寫保護(hù)狀態(tài),如果被鎖上W會被置位;
e.選擇Edit Option Bytes可以對選項字節(jié)進(jìn)行編輯下載和讀取
本教程由GD32 MCU方案商聚沃科技原創(chuàng)發(fā)布,了解更多GD32 MCU教程,關(guān)注聚沃科技官網(wǎng)
-
單片機(jī)
+關(guān)注
關(guān)注
6030文章
44491瀏覽量
632023 -
mcu
+關(guān)注
關(guān)注
146文章
16900瀏覽量
349944 -
嵌入式
+關(guān)注
關(guān)注
5059文章
18975瀏覽量
302088
發(fā)布評論請先 登錄
相關(guān)推薦
評論