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. vim编辑下几个退出保存的命令

    :w 将数据写入硬盘 :w! 若文件属性为“只读”时,强制写入该文件.不过需要注意,这个是在你的权限可以改变的情况下才能成立 :q 离开vim :q! 修改过文件,又不想保存 :wq 保存后离开 :w ...

  2. JS:jquery插件表格单元格合并.

    公司需要用到单元格合并,于是动手封装了一个简单的jquery插件,封装的函数是直接写好转的,请多多提意见看代码是否有优化的地方..... 截图: 代码: /* * mergeTable 0.1 * C ...

  3. Android进阶笔记10:ListView篇之ListView显示多种类型的条目(item)

    ListView可以显示多种类型的条目布局,这里写显示两种布局的情况,其他类似. 1. 这是MainActivity,MainActivity的布局就是一个ListView,太简单了这里就不写了,直接 ...

  4. 【[POI2000]病毒】

    \(Ac\)自动机好题了 这个题要求我们一直无法匹配到结束标记,所以我们直接在\(trie\)图上找到一个环,这个环可以被根节点到达,之后还没有结束标记 发现自己不会\(dfs\)找环,于是直接莽上\ ...

  5. Android学习笔记_51_转android 加载大图片防止内存溢出

    首先来还原一下堆内存溢出的错误.首先在SD卡上放一张照片,分辨率为(3776 X 2520),大小为3.88MB,是我自己用相机拍的一张照片.应用的布局很简单,一个Button一个ImageView, ...

  6. if switch for while

    ---恢复内容开始--- 一.if 说明:判断表达式,看结果执行语句体 public class IfDemo2 {             public static void main(Strin ...

  7. java 读取图片并转化为二进制字符串

    本例子的目的在于测试往oracle数据库中插入blob字段 //以下代码源于:https://www.cnblogs.com/ywlx/p/4544179.html public static Str ...

  8. Flask模拟实现CSRF攻击

    CSRF CSRF全拼为Cross Site Request Forgery,译为跨站请求伪造. CSRF指攻击者盗用了你的身份,以你的名义发送恶意请求. 包括:以你名义发送邮件,发消息,盗取你的账号 ...

  9. python元组操作

    元组:(tuple)元素不可被修改,不能被增加或者删除 一般写元组的时候,建议在最后加上一个逗号 可以索引取值    可以切片取值 元组一级元素不可被修改,但是二级及以后可以被修改 count() 获 ...

  10. 路由器基础配置之ppp封装下的pap,chap认证

    我们将以上面的拓扑图完成本次实验,路由器的默认封装为HDLC,要求为把路由器全被更改为ppp封装,并在router3与router4之间用pap认证,在router4与router5之间用chap认证 ...