微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 请问程序掉在LL_Init(taskID++)库函数里出不来可能是什么原因?

请问程序掉在LL_Init(taskID++)库函数里出不来可能是什么原因?

时间:10-02 整理:3721RD 点击:

我有两个蓝牙模块,一个是CC2540芯片的,一个是CC2541的

改simpleCenter例程,是基于CC2540芯片的,但是程序写入后运行在协议栈LL_Init(taskID++)函数里出不来,这时电流变大,大约9mA(包括母板电流)。

程序一点没有变化,就在IAR工程option中改了芯片型号为CC2541,换上CC2541的模块却运行正常,彻底完成初始化后只有300uA(万用表分辨率,且包括母板电流例如显示屏等)。

请问这个问题可能出在哪里?会不会模块本身也有可能有问题?网上便宜买的

看反汇编窗口,程序在如图标记的地方循环,JNZ 0x2F3E5,请问可能是什么原因引起的?

补充:这张图是在忘了变换buildconfig.cfg文件下得到的,所以不一定反映真实问题。不过在换成CC2540之前是配置的对应的buildconfig.cfg文件,不过当时没有看程序到底怎么出不来那个函数的。

另外忘了说了,什么buildconfig.cfg之类的文件我是置换了相应的芯片工程对应的的

由于是过了几天的事情,所以忘了说了

当然也许还是有可能存在什么配置问题的,我不是直接在原来的示例工程中改的,我是新建了一个工程。

使用CCdebugger直接烧写hex文件,发现提示erro in HEX file verification

校验通不过,不过为啥IAR调试的时候没有提示?选择了IAR校验CRC-16选项呀

为啥校验失败?

看来还是先检查一下我的调试接口线路有无问题。

也有无可能芯片内FLASH有问题?

已经解决

不好意思,还是因为CC2540和CC2541混淆了,库文件引用错误。主要是因为不是连续时间写程序,相隔很长时间,导致有些设置忘了。

现在用2540也和SensorTag连接正常

不过在IAR中调试不了,用Flash Orogrammer直接烧写HEX文件还是最后校验不成功,但是复位后运行操作在LCD上显示还正常似乎。

还待进一步检查,不过此帖问题应该算是不存在了,结帖。哎,难堪

已经解决

不好意思,还是因为CC2540和CC2541混淆了,库文件引用错误。主要是因为不是连续时间写程序,相隔很长时间,导致有些设置忘了。

现在用2540也和SensorTag连接正常

不过在IAR中调试不了,用Flash Programmer直接烧写HEX文件还是最后校验不成功,但是复位后运行操作在LCD上显示还正常似乎。

还待进一步检查,不过此帖问题应该算是不存在了,结帖。

哎,难堪

这个现象我之前也遇到过,原因是我的目标板是CC2541但是编译时选择的lib是CC2540那一套的,导致之后运行也是卡在这个函数.

谢谢回复

我已经发现了这个问题,可是自己回复的帖子还没有显示出来,不知道什么原因,有的帖子会要经过论坛审核不能立刻显示出来。

是我昨天晚上睡觉的时候想起来会不会是这个问题的,上午起来打开电脑一看,果然如此。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top