烧录合并的程序后,串口循环打印如下信息:
CH58x_BLE_LIB_V1.50
Image Flag 01
jump App
是IMAGE_A_START_ADD地址设置的问题么?
目前我的程序设置如下:
1、APP程序:
Link.ld:
startup:
app程序:
2、jump—IAP
3、IAP
烧录合并的程序后,串口循环打印如下信息:
CH58x_BLE_LIB_V1.50
Image Flag 01
jump App
是IMAGE_A_START_ADD地址设置的问题么?
目前我的程序设置如下:
1、APP程序:
Link.ld:
startup:
app程序:
2、jump—IAP
3、IAP
我将app的link文件复制到iap和jump工程,只修改了flash和ram部分。目前可以启动了。但是,蓝牙不工作,串口打印Found client characteristic configuration handle : 1f29。
蓝牙程序是 multicentral ,主从都支持的。 单独的app程序可以正常工作,添加了ota功能后,出现蓝牙不工作的情况。打印Found client characteristic configuration handle : 1f29 后停止搜索蓝牙。
目前是app程序进入主循环 TMOS_SystemProcess() 就死机了。感觉应该还是link中的地址没有设置对。
我用hardfault 追踪了一下,
hardfault
mepc:00000074
mcause:00000002
mtval:00000000
我看了一下是一个在ram里运行的gpio模拟spi的程序发生了fault错误。 但是,这个程序在单独运行时是正常的。添加了OTA后出现了问题。
2345#的测试 link的RAM是24k。程序执行到ble部分,就出现hardfault。
我将ram里运行gpio 模拟spi去掉后,依然是一运行到TMOS_SystemProcess();就出现hardfault。只是和之前不一样。 不过这个mepc的地址我在list文件里找不到。
hardfault
mepc:0000015e
mcause:00000002
mtval:00000000
你好,首先务必使用最新的代码,官网下载:
CH583EVT.ZIP - k1体育 - 十年品牌 值得信赖 (wch.cn)
其次分配ld文件和启动文件的跳转,可以参考:
蓝牙BLE从机Peripheral讲解七(CH582OTA升级/空中升级使用说明) - SweetTea_lllpc - 博客园 (cnblogs.com)
如果还有问题,可以发送邮件至邮箱lpc@wch.cn,工程提供我们看下。
我仔细看了一下,我的程序的link文件添加provide后,就可以正常运行了。但是,手机ota软件app提示“该设备不是目标设备“,然后就断开了。串口打印disconnected reason13,再次连接时,就打印Connection max...
原来需要蓝牙助手先触发进入升级,再用ota工具才可以。 谢谢。