ch582 OTA 方式二 一直打印jump App

烧录合并的程序后,串口循环打印如下信息:

CH58x_BLE_LIB_V1.50

Image Flag 01

jump App 


是IMAGE_A_START_ADD地址设置的问题么?


目前我的程序设置如下:

1、APP程序:

Link.ld:image.png

startup:

image.png

app程序:

image.png


2、jump—IAP

image.png


3、IAP

image.png


image.png


image.png

我将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 - 南京沁恒微电子股份有限公司 (wch.cn)

其次分配ld文件和启动文件的跳转,可以参考:

蓝牙BLE从机Peripheral讲解七(CH582OTA升级/空中升级使用说明) - SweetTea_lllpc - 博客园 (cnblogs.com)

如果还有问题,可以发送邮件至邮箱lpc@wch.cn,工程提供我们看下。


我仔细看了一下,我的程序的link文件添加provide后,就可以正常运行了。但是,手机ota软件app提示“该设备不是目标设备“,然后就断开了。串口打印disconnected reason13,再次连接时,就打印Connection max...

image.png


原来需要蓝牙助手先触发进入升级,再用ota工具才可以。 谢谢。


只有登录才能回复,可以选择微信账号登录