微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2541与CC2540工程的转换

CC2541与CC2540工程的转换

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

大家好:

      请问在不涉及IIC和USB编程的状况下,CC2541和CC2540程序能简单的修改一些参数而应用到另一个芯片上吗?

例如选择器件,更改宏定义,修改iocc2541.h和iocc2540。谢谢!

如果 CC2540 上的 USB 未启用并且 CC2541 上的I2C/ 额外 I/O 未启用,那么 CC2541 与 CC2540 在 6-mm x 6-mm 方形扁平无引脚 (QFN)40 封装内引脚兼容。

感谢你的答复,我主要是说软件方面的改动。例如我前期用CC2540开发了程序,但是生产时想上CC2541。这个时候软件需要做的修改。

应该可以的。

Haizhi,

是完全可以的。

如果你仔细看,你会发现TI 提供的BLE 工程里面,同时包含了CC2540 和CC2541 的工程,分开独立的。

你要自己修改的话,也是很容易。

由于两颗芯片的核是一样的,只要稍微修改一些宏定义和库就能通用了。

建议你找比如说SimpleBLEPeripheral 的CC 2540 版本和 CC2541版本对比一下就很清楚了:)

我仔细查看SimpleBLEPeripheral 的CC 2540 版本和 CC2541版本对比,发现只有两个文件有差别,分别为:

$TOOLKIT_DIR$\inc\ioCC2541.h和$PROJ_DIR$\..\..\Libraries\CC2541DB\bin\CC2541_BLE_peri.lib与

$TOOLKIT_DIR$\inc\ioCC2540.h和$PROJ_DIR$\..\..\Libraries\CC2540DB\bin\CC2540_BLE_peri.lib

而其他代码完全一致,在文件hal_mcu.h中可以看到如下代码:

#if defined( CC2541) || defined( CC2541S )
#include <ioCC2541.h>
#else // CC2540
#include <ioCC2540.h>
#endif // CC2541 || CC2541S

但是在如下位置并无CC2541或者CC2541S的宏,为什么会自动辨别使用ioCC2541.h和ioCC2540.h呢?

haizhi,

应该是在General Options里面,target->device information-> device 选项框里面,有IAR 的库的选择,针对2540和2541.

这个我试过,如果原来的项目模板是CC2540的,而在Device Information中选中CC2541。IAR使用的头文件还是CC2540的,而不是CC2541的。

如果强制性在option->c/c++ compiler->preprocessor中强制定义CC2541或者CC2541S,则在OUTPUT中可以看到iocc2540.h和iocc2541.h。

这是什么状况?!

Hi, lz:

   你的问题解决了吗?我也有这个工程转换需求,cc2540--->cc2541.

当时没有解决到,你直接移植应用代码吧

我的问题已经解决了,更换了底层的一个库就好了。谢谢...

具体改那个位置?

40工程里面的库:CC2540_BLE_peri.lib 改成41的:CC2541_BLE_peri.lib 就行了,其他的我没改什么。

知道了,谢谢!

如果不涉及到IIC和USB,应用层不用改

直接替换底层lib

我也只改了....peri.lib.  为什么是这种情况。

Error[e12]: Unable to open file 'E:\孔辉公司\网蜂科技(WeBee) 蓝牙4.0开发平台配套资源 2014-2-11\示例程序\2、协议栈实验\3.9 利用Profiles的特征值进行无线点灯\ BLE-CC254x-1.3.2-Light\Projects\ble\Libraries\CC2540DB\bin\CC2540_BLE_peri.lib' Error while running Linker

修改包含的头文件的方法为:用记事本打开buildConfig.cfg,修改

// CC2540 Device
-DCC2540

// CC2541 Device
-DCC2541

应该就可以了。

如果不行的话在用记事本打开:******.dep文件,修改一下里面你想要的头文件,通过查找的方式找到一个<file>$TOOLKIT_DIR$\inc\ioCC2540.h</file>,把这里的文件修改成你要的包含的头文件;

同时修改工程文件LIB下的库文件,工程就全部转换过来了。

用记事本打开:******.dep文件,修改一下里面你想要的头文件,通过查找的方式找到一个<file>$TOOLKIT_DIR$\inc\ioCC2540.h</file>,把这里的文件修改成你要的包含的头文件;同时修改工程文件LIB下的库文件,工程就全部转换过来了。

这个方法有效,赞一个!

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

网站地图

Top