1. 使用过程中,自己写的工程,发现CC3200一直重启,首先需要定位出现重启的函数?看门狗复位,还是程序跑飞复位?NWP的版本不匹配?经过测试找到出问题的函数,这个函数是启动网络的函数。

lRetVal = sl_Start(NULL, NULL, NULL);  

2. 既然是上面的函数,原因有几种可能,供电不足,NWP版本不匹配,NWP没烧写。首先看下供电,另外加了一块板子进行供电。程序偶尔可以正常运行,稍微前进了一步。分析是目前使用的板子,供电电流可能比较小,导致异常。不过在此处,我们使用ADC的例程是正常运行的,本次由于我们启动了网络,导致瞬间电流很大,供电不足,所以重启。

3. 看下原理图的供电,找下上面的电源芯片,电流800mA,难道带不起来?还是自己电脑的USB电流太小?换个SPX1117M3-L-3-3测试一下也是不行,是不是有限流的电阻?

4. 去掉了保险丝还是不行,或者可以烧写个其他的带wifi启动的例程测试一下,看是否不断重启。测试了一下get_weather这个例程,不会重启。复位原因码如下

#define PRCM_MCU_RESET            0x00000004

5. 除了供电还有什么原因导致一直重启?函数不是成对调用的?烧写不同NWP版本也不行,格式化再测试一下。还是不行,增加了一行代码

    sl_Stop(SL_STOP_TIMEOUT);
lRetVal = sl_Start(, , ); // 第一次启动

直接报错

Assert: D:\ti\CC3200SDK_1.1.0\LSD4WF-3221I5SS_SRC_V1.00.05\third_party\FreeRTOS\source\queue.c 

10. 系统堆栈不够,还是任务堆栈不够?堆从0x800增加到0x1000,

define block HEAP with alignment = , size = 0x0001000 { };

11. 增大任务的堆栈测试一下,还是不断的重启。

12. 换个uniflash的版本测试一下,芯片硬件版本[11:23:12] INFO: DEVICE CC3200 ES1.33,是量产版本。

13.硬件修改一下,供电测试一下,在模块供电端+3.3V和GND之间增加了一个22uF的贴片电容,和100uF的电解电容,问题解决。不会在重启了,后来去掉100uF的电解电容也还是正常,所以只用增加一个22uF的贴片电容即可。问题解决。

CC3200在sl_Start函数处不断重启复位的原因解析的更多相关文章

  1. linux下c程序调用reboot函数实现直接重启【转】

    转自:http://www.blog.chinaunix.net/uid-20564848-id-73878.html linux下c程序调用reboot函数实现直接重启 当然你也可以直接调用syst ...

  2. gdb调试程序函数名为问号,什么原因?step by step解决方案

    gdb调试程序函数名为问号,什么原因? http://bbs.chinaunix.net/thread-1823649-1-1.html http://www.bubuko.com/infodetai ...

  3. malloc函数分配内存失败的常见原因

    malloc()函数分配内存失败的常见原因:  1. 内存不足.  2. 在前面的程序中出现了内存的越界访问,导致malloc()分配函数所涉及的一些信息被破坏.下次再使用malloc()函数申请内存 ...

  4. function——函数声明头的提升和预解析

    函数: 即function语句的集合,就是将多个语句封装到一起: 函数的执行要会自己遍历,遇见函数 a():执行语句,就要移交控制权,函数执行完毕之后,控制权又移交回来了! 函数的参数要罗列在func ...

  5. 中断函数中不能使用printf的原因

    vxworks 中断处理程序之所以不用printf,本质在于printf是将信息输出到标准输出设备(STDOUT)中, 整个标准输出设备是一个全局变量,由于有semTake操作,那么就会发生阻塞,vx ...

  6. JavaScript函数之作用域 / 作用链域 / 预解析

    关于作用域和作用链域的问题,很多文章讲的都很详细,本文属于摘录自己觉得对自己有价值的部分,留由后用,仅供参考,需要查看详细信息请点击我给出的原文链接查看原文件 做一个有爱的搬运工~~ -------- ...

  7. javascript两种声明函数的方式的一次深入解析

    声明函数的方式 javascript有两种声明函数的方式,一个是函数表达式定义函数,也就是我们说的匿名函数方式,一个是函数语句定义函数,下面看代码: /*方式一*/ var FUNCTION_NAME ...

  8. python全栈开发day12-函数的有用信息、带参数的装饰器、多个装饰器装饰一个函数、global和nonlocal的进一步解析和总结

    1.上周回顾 1).函数名的应用 直接打印函数名,是函数的地址 变量 函数的参数 函数的返回值 可以当容器类数据类型的元素 2).闭包 内层函数对外层函数的非全局变量的引用,就是闭包. 并返回内部函数 ...

  9. 修改JAVA代码,需要重启Tomcat的原因

    准确的说只有修改方法中的内容才不需要重启,因为tomcat中对于方法的调用是动态的,调用方法的时候,方法的内容才会被加载 新增成员变量,方法,或修改静态方法和静态变量.创建新的类 这些都是需要重启的, ...

随机推荐

  1. Jupyter notebook 的一个问题

    Traceback (most recent call last): File , in get value = obj._trait_values[self.name] KeyError: 'all ...

  2. 【[AHOI2012]树屋阶梯】

    卡特兰数! 至于为什么是卡特兰数,就稍微说那么一两句吧 对于一个高度为\(i\)的阶梯,我们可以在左上角填一个高度为\(k\)的阶梯,右下角填一个高度为\(i-1-k\)的阶梯剩下的我们用一个大的长方 ...

  3. javaw.exe 和java.exe的区别

    1.java启动的程序是命令行程序或阻塞程序,如果该程序未执行完毕或未被关闭,则所打开的命令行将被阻塞,不能执行其它命令如dir等,可以通过Ctrl+C等方式关闭程序:2.javaw启动的程序是窗口程 ...

  4. HDU 1575 Tr A 【矩阵经典2 矩阵快速幂入门】

    任意门:http://acm.hdu.edu.cn/showproblem.php?pid=1575 Tr A Time Limit: 1000/1000 MS (Java/Others)    Me ...

  5. PHP面试题分享与答案

    由于之前的每一个问题都是一个比较大的知识点,作者希望可以尽量一一详细解答,如果有不足的地方欢迎大家补充和修改,同时借鉴牛人写的Mysql中算法的实现以及内存原理,Btree结构等. 1:MySQL数据 ...

  6. springmvc时间(date)无法转入后台(@DateTimeFormat+@JsonFormat(GMT+8))

    spring时间(date)无法转入后台 Type Status Report Description The server cannot or will not process the reques ...

  7. SqlSugar之DbContext

    创建一个DbContext和DbSet进行使用,我们可以在DbSet中进行扩展我们的方法 //可以直接用SimpleClient也可以扩展一个自个的类 //推荐直接用 SimpleClient //为 ...

  8. RabbitMQ消息中间件极速入门与实战

    1:初识RabbitMQ RabbitMQ是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的应用之间共享数据,RabbitMQ是使用Erlang语言来编写的,并且RabbitMQ是基于AM ...

  9. 【2018 CCPC网络赛 1004】Find Integer(勾股数+费马大定理)

    Problem Description people in USSS love math very much, and there is a famous math problem . give yo ...

  10. 全局变量重复定义,fatal error LNK1169: 找到一个或多个多重定义的符号

    1.在GlobeValue.h中定义了一个变量: char gl_UID[256]; 2.在b.cpp和e.cpp中分别引用GlobeValue.h,并且使用gl_UID的全局变量, 结果出现:fat ...