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. chpasswd

    功能说明:从标准输入中读取一定格式的用户名.密码来批量更新用户的密码,其格式为 “用户名:密码”. 参数选项:-e 默认格式是明文密码,使用-e参数则需要加密的密码.

  2. ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(一) 整理基础数据

    最近碰巧发现一款比较好的Web即时通讯前端组件,layim,百度关键字即可,我下面要做的就是基于这个前端组件配合后台完成即时聊天等功能.当然用到的技术就是ASP.NET SingalR框架.本人不会c ...

  3. c#用链表存储并读取配置文件(代码部分)

    //读取配置参数 private void loadcofig() { //List<param> camra1 = new List<param>(); List<st ...

  4. 手机验证码免费10条\java、C#、html....

    使用互亿无线短信接口网址:http://www.ihuyi.com/. 首先第一步,进行注册 第二步:注册成功后进来的页面 第三步:实名认证 第四步:个人信息 等待认证成功后才能继续操作 第五步:进行 ...

  5. iOS开发CGRectGetMidX. CGRectGetMidY.CGRectGetMinY. CGRectGetMaxY. CGRectGetMinX. CGRectGetMaxX的使用

    [iOS开发]iOS开发CGRectGetMidX. CGRectGetMidY.CGRectGetMinY. CGRectGetMaxY. CGRectGetMinX. CGRectGetMaxX的 ...

  6. Vue+Electron实现简单桌面应用

    之前一直使用C#编写桌面应用,也顺带写一些Web端应用.最近在看node时发现常用的vscode是用electron编写的,一种想吃螃蟹的念头就涌了上来. 在网上找了找electron的资料,也研究了 ...

  7. poj 2186 Popular Cows :求能被有多少点是能被所有点到达的点 tarjan O(E)

    /** problem: http://poj.org/problem?id=2186 当出度为0的点(可能是缩点后的点)只有一个时就存在被所有牛崇拜的牛 因为如果存在有两个及以上出度为0的点的话,他 ...

  8. poj_3256_Cow Picnic

    The cows are having a picnic! Each of Farmer John's K (1 ≤ K ≤ 100) cows is grazing in one of N (1 ≤ ...

  9. WebMagic 启动例子报错

    报错内容: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/conn/Http ...

  10. simpleXML技术解析xml文件(php)

    1.simpleXML的核心思想:以面向对象的方法来操作xml文件 此技术可以将xml文件的所有元素都转成对象.会返回一个对象数组,再用foreach遍历,即可得到元素的名称,内容,和属性值. tes ...