4个帖子/ 0新
最后一篇
歌曲
离线
最后一次露面:6个月2周前
加入:2016-04-14 09:49
DA14680通讯Bootloader跳转到应用程序后后行

1,参照sdk编程修改bootloader程序程度,实现实现升级,转移,跳转至应应应序序,通讯调大mtu固件升级速度为3kb / s;
2,参照sdk例程修改修改用程序,flash偏移地图0x01e000,固件升级速度却只有1kb / s左右(若若过程中不行行闪光读写作用,速度约为1.3kb / s),且读写闪光操作用明变慢;
3,若不用使用引导加载程序程序程序,只只用途使用程序(闪存便宜地址为0),则则升级正式,闪光读写速度正常;
4,应用程序行走完固件​​后,重启由靴子加载程序转移固件程序存储位置时,有时候10次,有时候只1秒左右,固件大小110k。

我的靴子装载机完全按照sdk例程修改,但仍出现上情况,不错的是在内有问题,望帮忙解答。
谢谢〜

关键词:
设备:
qinjiny_dialog
离线
最后一次露面:2周2天前
职员
加入:2016-11-01 05:47
Bootloader和固件升级的使用场景多

bootloader和固件升级的使用场景多,你的问题之并并没什么可参考。

3kb是比较正当的速度,1kb确实比较慢了,最好的一下子是不可能的,我们这边需要更多信息才确定问题,1kb 1.3kb3kb这些速度你是用来的

其他可能影响的因素包括你的使用程序本身,还有用的闪存型等等

关键词三条,没有引导加载人我们是无法实现ota的,而且是不是你有条里里没说清楚?

关键词,你有没有具体的带,你有没有具体的东西的日志可见我们分享?

歌曲
离线
最后一次露面:6个月2周前
加入:2016-04-14 09:49
固件固件的通信是我们自己自己的,有♥

固件升级的通信是我们自己自我的,有流控。通信是自我写的,升级速度1kb时mtu肯定是改成翅,通讯应用的调试日志看到,升级升级后对闪存中的固件crc32校验也是正当的。

关键词三条,没有引导加载程序时实现oota的意思实现是:我们写的引导程序和应用程序都都固件升级功能,但但固件转存只由升级升级功能完完.转存只由由。。这里ota的意思是指指转存外的其它流程,即蓝牙通信+写闪光灯。
1)应用程序的闪存偏移地址为0,烧写到闪光的0地位,运行固件(蓝牙通信+写闪存)一流正式。
2)应用程序的闪存偏移地址为0x1e000,烧写到闪存的0x1e000地址; bootloader烧写闪光灯的0址址,通讯引导加载程序跳转到应用程序(与与方向程序一道),由app执行固件(蓝牙通信+写闪存),便出现提问中提到的异常现象。
3)以上两步中app的唯一虑是flash oill of off偏移地址不错,其它完全一圈。

至于Flash型号,我们使用的是DA14680,芯片内部集成的1Mbits的闪光灯。

谢谢〜

歌曲
离线
最后一次露面:6个月2周前
加入:2016-04-14 09:49
我已已找到问题,是缓存寻址范围设置错误

我已找到原因,是缓存寻址范围设置错误,cache_ctrl2_reg [cache_len]。

SDK中提供dg_configcachable_qspi_area_len设置设置范围大小,单位字节。程程默认值为(nvms_param_part_start - memory_qspif_base),我给改为0x20000。
在system_armcm0.c中cache中cache_len =(dg_configcacheable_qspi_area_len >> 16) - 1,并并cache_len的值传给cache_ctrl2_reg [cache_len]。

我来来设置的dg_configcacheable_qspi_area_len为128kb,即实际寻址范围为64kb。而我们的bootloader + app占到了近300kb,故cache无法正式使用,运行速度变慢。
我现在是将dg_configcachable_qspi_area_len设为0x80000,运行就正式了。

这个坑有象深......编程里#define dg_configcachable_qspi_area_len(nvms_param_part_start - memory_qspif_base)太误导人了!