CH573 通過U-Disk實(shí)現(xiàn)IAP問題

Hi?

????我的項(xiàng)目現(xiàn)在需要使用CH573的USB接口插入U(xiǎn)盤來更新固件,但是我遇到以下這些問題。

????1.參考USB_IAP工程,jumpApp()這個(gè)函數(shù)我看到實(shí)際上只是通過宏定義一個(gè)函數(shù)指針,但是我不太清楚最終是在哪里調(diào)用這個(gè)函數(shù)實(shí)現(xiàn)跳轉(zhuǎn)。


????2.在startup_CH573.S文件中,USB_IAP以及OnlyUpdateApp_IAP工程中這個(gè)值和OnlyUpdateApp_Peripheral值不一樣,請問這個(gè)參數(shù)有什么影響,開發(fā)U盤升級(jí)功能,這個(gè)參數(shù)需要修改嗎?該如何修改?

image.png

您好,EVT包里暫無這樣的代碼。接入U(xiǎn)SB來實(shí)現(xiàn)升級(jí),要求CH573作為USB主機(jī);而例程中CH573是作為從機(jī)與電腦上位機(jī)進(jìn)行通信。您可以參考IAP例程中的收發(fā)/校驗(yàn)固件的邏輯,移植到CH573的USB主機(jī)例程中實(shí)現(xiàn)U盤升級(jí)。

①由于APP層代碼中,進(jìn)入IAP的判斷依據(jù)是是否按下了PB4按鍵,觸發(fā)IAP升級(jí)后會(huì)復(fù)位,代碼從頭在IAP中運(yùn)行,會(huì)跑到下圖位置。一般手動(dòng)操作,按下按鍵的滯留時(shí)間足夠跳過下方的if判斷,進(jìn)入到IAP升級(jí)初始化。如果說操作手速極快,在按下按鍵復(fù)位后10ms內(nèi)就松開了按鍵,那就會(huì)再次跳轉(zhuǎn)到APP層代碼,不會(huì)進(jìn)入IAP升級(jí)模式。

這個(gè)IAP升級(jí)觸發(fā)的識(shí)別邏輯僅供參考,可以改成自定義的觸發(fā)邏輯。

image.png

image.png

②多出來的0x18XX這兩位,是配置為機(jī)器模式的特權(quán)模式,在機(jī)器模式下才可以修改中斷向量表。從IAP跳轉(zhuǎn)到APP層代碼,是會(huì)從.S文件中重新加載中斷向量表的;在IAP中,需要配置為機(jī)器模式,才可以在運(yùn)行APP前有權(quán)限重新配置中斷向量表。

IAP工程中的啟動(dòng)文件需要修改為0x1888即啟用機(jī)器模式,APP層代碼的啟動(dòng)文件保持為0x88。如果擔(dān)心出錯(cuò),可以直接拷貝.S文件。做U盤升級(jí)也是需要在IAP層工程中修改此處的。

image.png


好的,感謝解答,目前測試可以正常。


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频