用RT-Thread Studio向ch32v307vct6燒錄程序,有個(gè)前置條件要完成。
1坑中坑(這部分可以看看,不要跟著操作)
要先用沁恒的燒錄工具WCHISPStudio將ch32v307vct6的ROM改為224K,RAM改為96K,
參考數(shù)據(jù)手冊可以發(fā)現(xiàn)ch32v307的FLASH和RAM是可以自己配置大小的,第一次見。
然后可以通過芯片的USB或串口1用WCHISPStudio下載程序,我們僅僅修改下FLASH為224K,RAM為96K。之后就可以用RT-Thread Studio燒寫程序了。將BOOT設(shè)置好,再將板子USB或者串口1連到電腦,點(diǎn)擊WCHISPStudio搜索,就可以發(fā)現(xiàn)設(shè)備和查看FLASH了,如圖
總之,這個(gè)方法不可取!
2踩坑頓悟
經(jīng)歷了前面的坑中坑,我發(fā)現(xiàn)用RT-Thread Studio向ch32v307燒錄程序其實(shí)很簡單,只要避開一個(gè)點(diǎn)就行。
我們先用RT-Thread Studio新建一個(gè)ch32v307的模板工程
這是模板main線程
int main(void)
{
rt_kprintf("MCU: CH32V307n");
rt_kprintf("SysClk: %dHzn",SystemCoreClock);
rt_kprintf("www.wch.cnn");
LED1_BLINK_INIT();
GPIO_ResetBits(GPIOA,GPIO_Pin_0);
while(1)
{
GPIO_SetBits(GPIOA,GPIO_Pin_0);
rt_thread_mdelay(500);
GPIO_ResetBits(GPIOA,GPIO_Pin_0);
rt_thread_mdelay(500);
}
}
然后打開鏈接腳本link.lds看看FLASH和RAM大小
可以看到FLASH:224K RAM:96K,這里是根據(jù)自己手里的ch32v307修改的,因?yàn)閏h32v307有好幾種存儲分配方式。
這個(gè)鏈接腳本沒有任何問題,我們先編譯下程序,再點(diǎn)擊下載,會跳出一個(gè)界面
我們可以在這里用Get和Set按鈕查看和修改芯片的存儲分配,可以看到我的芯片現(xiàn)在存儲分配實(shí)際256K ROM+64K RAM,和鏈接腳本里的224K ROM+96K RAM,所以你剛剛在RT-Thread Studio編譯程序得到的鏡像(bin,hex等)無論通過那種途徑燒錄到了芯片都是無效的!
我們想要程序起作用,要么按芯片實(shí)際存儲分配修改鏈接腳本link.lds,要么根據(jù)link.lds設(shè)置芯片存儲分配,我這里就直接修改link.lds了,
想修改芯片配置的直接在剛剛跳出的下載界面通過下拉框選擇,在點(diǎn)擊Set就好,非常簡單。
然后我們再次編譯程序點(diǎn)擊下載界面的下載按鈕,
有意思的來了,你會發(fā)現(xiàn)控制臺輸出空空如也!無論再怎么狂按復(fù)位間它都無動(dòng)于衷。
沒錯(cuò),這就是我最開始說的那個(gè)BUG,這時(shí)候就要上WCH-LinkUtility了,可以到沁恒的官網(wǎng)下載,我們打開它,輕輕點(diǎn)擊一下Get或者其它按鈕,總之讓W(xué)CH-LinkUtility與芯片進(jìn)行一次通訊就行,程序就正常運(yùn)轉(zhuǎn)了,控制臺有了輸出,復(fù)位鍵也正常了,皆大歡喜!
控制臺輸出:
但當(dāng)我們再次通過RT-Thread Studio下載程序后,芯片又沒反應(yīng)了。
所以,BUG確定了,是RT-Thread Studio那個(gè)下載工具的問題,如果通過WCH-LinkUtility或者其它工具下載,都是一切正常。
3 總結(jié)與吐槽
總結(jié)就是用RT-Thread Studio編譯得到鏡像文件,再通過其它燒錄工具(WCH-LinkUtility/WCHISPStudio)下載程序,或者換IDE比如MounRiver Studio。這個(gè)問題僅限ch32。
希望有人能早日解決這個(gè)問題吧,還有能不能不要下載程序的時(shí)候跳出一個(gè)下載界面讓用戶二次操作嗎,太反人類了,直接給一個(gè)進(jìn)度條就好啦。
-
存儲器
+關(guān)注
關(guān)注
38文章
7502瀏覽量
163936 -
RAM
+關(guān)注
關(guān)注
8文章
1369瀏覽量
114757 -
RT-Thread
+關(guān)注
關(guān)注
31文章
1293瀏覽量
40211 -
Flash存儲
+關(guān)注
關(guān)注
0文章
38瀏覽量
8313 -
CH32V307VCT6
+關(guān)注
關(guān)注
0文章
2瀏覽量
1037
發(fā)布評論請先 登錄
相關(guān)推薦
評論