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