关于QN9090 SDK2.6.3在现有工程添加OTA例程代码的问题

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

关于QN9090 SDK2.6.3在现有工程添加OTA例程代码的问题

2,086 Views
zxcv70644
Contributor I

Hi:

   我们这边已经把OTA功能代码全部移植添加到现有工程当中,然后用NXP IOT toolbox的OTAP功能测试报错,具体如下截图:

    

zxcv70644_0-1629081991256.png

  请问大概是什么问题呢?

0 Kudos
49 Replies

1,283 Views
nxf56274
NXP Employee
NXP Employee

说实话不好查,这个是手机报的错,我们也没源码,不知道为什么报错,目前能推测问题的方法有两个,一个是用ble的嗅探器去嗅探包,查一查这个通信过程 

asd.PNG

另外一个是使用Test tool,找另外一个板子,烧写server代码,ota更新除了用手机还可以用Test tool,它会有一些日志信息可以给我们分析

0 Kudos

1,194 Views
nxf56274
NXP Employee
NXP Employee

只放一个亮led灯的demo,看看结果

0 Kudos

1,280 Views
zxcv70644
Contributor I

Hi:

    附件为wireshark抓包日志,帮忙分析看看?

0 Kudos

1,274 Views
nxf56274
NXP Employee
NXP Employee

再抓个正常的otap看一下,顺便用nrc connect看下,连接时候,profile有没有正常读出来,红圈这个选项要调成DEBUG

aaa.PNG

 

0 Kudos

1,268 Views
zxcv70644
Contributor I

Hi:

   我这边对比了 private profile 和OTAP例程的差异部分, OTAP例程多出的这两个文件这边还没有加入进去。具体文件如下截图:

 

zxcv70644_0-1629097303877.png

这两个文件 会有什么影响吗? 

0 Kudos

1,272 Views
zxcv70644
Contributor I

Hi:

我开始是用nrf connect上面来看的,是正常的吧,然后再用NXP toolbox的,如下截图:

 

zxcv70644_0-1629096761765.png  

zxcv70644_1-1629096778073.png  

zxcv70644_2-1629096793705.png

然后 例程里面的单独的OTAP例程的正常的抓包日志见附件,我这边是用另外一个板子测试的(MAC地址不一样)

 

 

Tags (1)
0 Kudos

1,266 Views
nxf56274
NXP Employee
NXP Employee

这个日志有文件上传的过程信息吗?看起来没有啊,之前那个也是

0 Kudos

1,263 Views
zxcv70644
Contributor I

这个正常的日志是有的,我这边是一直在等待升级到100%,一边一直抓包的,如下:

  

zxcv70644_0-1629099629864.png

 之前那个报错的包里面出错的时候 ,出错完之后然后就与APP断开链接了。如下截图:

zxcv70644_1-1629099814371.png

这个是主要的差异点

 

0 Kudos

1,245 Views
nxf56274
NXP Employee
NXP Employee

otap协议我不是特别熟,要花点时间看下,目前看来连接服务的发现都没太大问题,就是发image出问题

0 Kudos

1,242 Views
zxcv70644
Contributor I

好的,可以帮忙内部协调处理下吗? 我们这边这个功能需求挺着急的。

0 Kudos

1,233 Views
nxf56274
NXP Employee
NXP Employee

你可以再试试test tool,看看能不能传,而且也有一些log

testtool.PNG

0 Kudos

1,231 Views
zxcv70644
Contributor I

test tool工具有相关链接下载吗?

0 Kudos

1,220 Views
nxf56274
NXP Employee
NXP Employee

我查到原因了,移植的应该没有问题,问题出在发送第一个image块的数据时候,slave回复了07050c

查一下协议知道这是个Error notification command,

05表示引起错误的命令,0c是错误的原因,再看源码就知道这个,说是更新的image太大了

acd.PNG

aaaa.PNG

0 Kudos

1,208 Views
zxcv70644
Contributor I

我刚才看了我们这个s19文件 大小如下截图:

zxcv70644_0-1629169956910.png

 

0 Kudos

1,212 Views
zxcv70644
Contributor I

好的,我看到这个post了, 更新的image太大了, 那这个需要怎么解决呢? 因为这个代码是我们这边产品所有功能的代码,也裁剪不了,主要是qn9090也没有单独的boot  , app 这块。

0 Kudos

1,206 Views
nxf56274
NXP Employee
NXP Employee

你先随便找个小的image看看能不能正常写进去,能的话再看怎么裁剪大小

0 Kudos

1,199 Views
zxcv70644
Contributor I

我这边试了例程里面的proximity reporter(之前验证可以的)试了一下,还是报之前的错误,log日志见附件:

0 Kudos

1,204 Views
zxcv70644
Contributor I

我这边先试下例程里面的

0 Kudos

1,193 Views
nxf56274
NXP Employee
NXP Employee

1 做一次全片擦除,确保flexnvm里面没有任何数据

2 找到OtapClient_AttributeWrittenWithoutResponse,打断点,看看pValue这个指针是否确实指向收到数据了

0 Kudos

1,188 Views
zxcv70644
Contributor I

从刚才的抓包log里面可以看到是传输了2次包,然后就没有了。

zxcv70644_0-1629179676437.png

 

0 Kudos