第三方的模块自己做的板子,做了小批量,然后客户反映有些长时间运行后无法使用(已经出现4次了),板子拿回来后看调试信息全是乱码,从状态指示灯来看
应该是程序完全没跑(正常运行后会理解点亮双色LED灯),怀疑是flash数据已被损坏,不过具体原因还在查,不确定是硬件还是软件导致的~
先说下这些出问题的板子,利用uniflash再次烧录时发现无法正常写入文件,一定要format后才可正常写入,错误信息如下:
文件操作错误码为-49(SL_FS_NO_DEVICE_IS_LOADED),烧录sp同样报这个错误,只能format后才可正常烧录
这里想咨询下TI的工程师,利用uniflash烧录文件系统有依赖什么吗,上面烧录时出现的错误码原因是什么?
文件系统的操作和SP有关系吗,如果有的话,可以具体解释下吗?因为如果是因为flash中的sp文件损坏导致
无法使用uniflash烧录文件的话,那么format后同样没有sp文件,uniflash又是如何将sp本身写入的?
以前也有发帖问过类似的问题,不过没有解答0.0
希望这个问题的答案可以帮助查找原因,因为硬件原因太难查了,只好先从软件入手了,跪谢~
Yonghua Pan:
请问能否看一下SPI flash的part number.
calvin chen:
回复 Yonghua Pan:
楼主好!
我也遇到了同样的问题。之前做了几个版本一直没有问题,但是现在这个版本遇到了数次 SL_FS_NO_DEVICE_IS_LOADED(-49)错误。之前两次出错时重新Format、写sp,再烧写程序后运行正常。现在又有一块板子出了这个问题,原因无从查起。如您已经解决此问题,麻烦告知一下。
也期待 TI 工程师能给看看这是什么问题。多谢!
Flash 用的是 M25PX80-VMN6TP
sky_solar:
回复 calvin chen:
额,也不算解决问题吧,我们这边是换了一家淘宝拿的模块(对比了物料感觉应该就是Flash的问题),同样的程序自动上下电测试了好几天没发现问题,然后发给客户的目前还没再次收到程序跑飞的情况
建议你们也换个Flash试试,推荐型号记得某个文档里面有;如果还是出问题的话顺便也看flash是不是买到假货之类的(我们找的第一家的模块估计就是这个原因)
PS:1.手头上没有新的模块了,不记得具体flash型号了,抱歉,不过你们可以拿原厂开发板的flash作对比测试
2.你说以前的版本没有此问题,也有极小可能是软件改动错误,不过可能性不大,毕竟现象是必须format才能烧录
3.我们这边在做前期问题排查的时候发现如果频繁的上下电出现这个问题的概率会比较高,建议你们在测试的时候也写个程序频繁上下电测试
Terry Han:
如果SPI Flash损坏后,NWP及APP无法正常启动,并且在进行Uniflash的写入时,CC3200启动不正常导致无法正常的烧写程序,只能进行Format格式化后,才能正常下载APP+SP.bin文件。根本原因还是找到板卡SPI Flash为什么会出现乱码现象?建议几点:检查硬件CC3200在上下电过程中是否有电源电压的抖动,特别是在上下电过程中对SPI Flash进行读写操作?
calvin chen:
回复 Terry Han:
谢谢回复!
我板子上 CC3200 的上下电是由上位机控制的。貌似在上位机初始化时未对上下电逻辑做严格控制,可能是造成调试过程中频繁出问题的原因。另外,调试过程中异常掉电(reset、插拔电源等操作)时也可能正在读写 Flash。我们对软硬件再做进一步的排查以确定原因。
这个问题的要命之处是一旦出问题就只能 format flash 才能正常工作,而在实际使用环境中,异常掉电(reset、电池松动、换电池)是难免的,一旦出问题只能维修。这种情况不知道有没有别的解决方法?
calvin chen:
回复 sky_solar:
谢谢回复!
1. 我们的 flash 是手册的推荐型号,和开发板一致的。回头我们换个卖家再试试。
2. TI 工程师的回复中的问题可能是存在的。CC3200 的上位机在上电初始化时也对CC3200 上电再掉电了,这个过程可能是造成 CC3200 调试过程中频繁出问题的原因。
3. 调试过程中异常掉电(reset、插拔电源等操作)时也可能正在读写 Flash。这是我最担心的问题,因为实际使用环境中,异常掉电(reset、电池松动、换电池)是难免的,一旦出问题只能维修。回头我写个测试程序在开发板上跑跑看有没有这个问题,如果没问题再排查我们自己的板子。如果开发板也有问题就比较麻烦
calvin chen:
回复 Terry Han:
我的问题还是没有解决。问题的怪异之处是:出现问题后 app 能正常启动工作,也能与服务器正常通讯,只有在调用 sl_FileOpen() 时才出 -49 号错误,此时如果烧写程序发现也无法烧写了,只有重新 format 才可以。
以前怀疑是 flash 在读写时被异常断电造成的,所以做了一个测试程序以重现和定位问题,测试程序让 CC3200 不断读写程序,上位机对 CC3200 随机断电上电。但是并未发现问题。所以,也无从查起了。。。
希望 ti 工程师和各位大牛们能继续关注此问题,给予指导。多谢!