燒錄合并的程序后,串口循環(huán)打印如下信息:
CH58x_BLE_LIB_V1.50
Image Flag 01
jump App?
是IMAGE_A_START_ADD地址設(shè)置的問題么?
目前我的程序設(shè)置如下:
1、APP程序:
Link.ld:
startup:
app程序:
2、jump—IAP
3、IAP
燒錄合并的程序后,串口循環(huán)打印如下信息:
CH58x_BLE_LIB_V1.50
Image Flag 01
jump App?
是IMAGE_A_START_ADD地址設(shè)置的問題么?
目前我的程序設(shè)置如下:
1、APP程序:
Link.ld:
startup:
app程序:
2、jump—IAP
3、IAP
我將app的link文件復(fù)制到iap和jump工程,只修改了flash和ram部分。目前可以啟動(dòng)了。但是,藍(lán)牙不工作,串口打印Found client characteristic configuration handle?: 1f29。
藍(lán)牙程序是 multicentral ,主從都支持的。 單獨(dú)的app程序可以正常工作,添加了ota功能后,出現(xiàn)藍(lán)牙不工作的情況。打印Found client characteristic configuration handle : 1f29 后停止搜索藍(lán)牙。
目前是app程序進(jìn)入主循環(huán) TMOS_SystemProcess() 就死機(jī)了。感覺應(yīng)該還是link中的地址沒有設(shè)置對(duì)。
我用hardfault 追蹤了一下,
hardfault
mepc:00000074
mcause:00000002
mtval:00000000
我看了一下是一個(gè)在ram里運(yùn)行的gpio模擬spi的程序發(fā)生了fault錯(cuò)誤。? 但是,這個(gè)程序在單獨(dú)運(yùn)行時(shí)是正常的。添加了OTA后出現(xiàn)了問題。
2345#的測試 link的RAM是24k。程序執(zhí)行到ble部分,就出現(xiàn)hardfault。
我將ram里運(yùn)行g(shù)pio 模擬spi去掉后,依然是一運(yùn)行到TMOS_SystemProcess();就出現(xiàn)hardfault。只是和之前不一樣。 不過這個(gè)mepc的地址我在list文件里找不到。
hardfault
mepc:0000015e
mcause:00000002
mtval:00000000
你好,首先務(wù)必使用最新的代碼,官網(wǎng)下載:
CH583EVT.ZIP - 南京沁恒微電子股份有限公司 (wch.cn)
其次分配ld文件和啟動(dòng)文件的跳轉(zhuǎn),可以參考:
藍(lán)牙BLE從機(jī)Peripheral講解七(CH582OTA升級(jí)/空中升級(jí)使用說明) - SweetTea_lllpc - 博客園 (cnblogs.com)
如果還有問題,可以發(fā)送郵件至郵箱lpc@wch.cn,工程提供我們看下。
我仔細(xì)看了一下,我的程序的link文件添加provide后,就可以正常運(yùn)行了。但是,手機(jī)ota軟件app提示“該設(shè)備不是目標(biāo)設(shè)備“,然后就斷開了。串口打印disconnected reason13,再次連接時(shí),就打印Connection max...
原來需要藍(lán)牙助手先觸發(fā)進(jìn)入升級(jí),再用ota工具才可以。 謝謝。