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

CC2541开发相关问题

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

HI TI的各位工程师新年好:

我们公司目前有一个项目是使用贵司的CC2541芯片,处于DVT1阶段,由于之前我们使用比较多的是CSR的芯片,对贵公司的CC2541不是很熟悉,所以到这里向您寻求一些帮助。我之前也在贵司官网查询了很多资料,比如深度培训的文档,看过各种user guide文档,论坛其它人的贴子,但是感觉还是无从下手,不知道如何来控制SmartRF模组来进度收发动作,如何来读取RSSI值?目前我手头上有ccdebug和smartRF模组,假设我需要测试无线功能是否OK,除了使用SmartRF Studio 7 v1.10.3这个工具之外,我是否可以自己编写程序来测试RF?如果自己可以写程序来控制是否是用IAR for MSP430这个IDE来编写程序,是否有demo可以一提供给我做为参考?谢谢!

Hi Duo Zhang,

不知道你们用的是CC2541哪款开发板? 是否是SmartRF05的底板加上CC2541RF的EV板?

如果我的假设是对的, 首先请先下载最新的BLE协议栈并且安装, 里面包含了你需要的工程已经示例镜像文件:http://www.ti.com/tool/ble-stack?DCMP=wbu-blestack&HQS=blestack

1. 关于SmartRF模组的收发: 你可以参考这个指导做一些学习: http://www.ti.com/lit/ml/swru311/swru311.pdf

2. 读取RSSI: 在工程里面可以调用HCI_ReadRssiCmd() 来获取RSSI.

3. 你可以自己编写程序来测试RF, 用IAR for 8051这个IDE. 参考如下:

http://processors.wiki.ti.com/index.php/FCC_ETSI_Test

http://processors.wiki.ti.com/index.php/PTM

另外, TI的wiki上有非常多的信息, 详细的指导:

http://processors.wiki.ti.com/index.php/Category:BluetoothLE

HI Yan:

感谢,非常感谢您的回复。我们目前使用的就是SmartRF05+CC2541EM板,那我是否还是可以使用您所说的那些Demo?

您所说的BLE协议栈和IDE已经下载安装,我先研究一下,如果还有什么问题再向您请教,再次感谢!

Hi duo zhang,

是的, 你可以使用那些Demo.

有问题欢迎你来这里提问.

HI Yan

您好,我昨天大致看了一些,但是没有找到我想要的,可能还是不熟悉的原因吧。目前对于我来说,我需要的东西很简单,写一个windows的应用程序来测试无线模块是否是OK的,我安装完BLE-CC254x-1_3.exe后,看到给的Demo好像全是8051的Demo。我想问的就是贵公司有没有一些DLL及DLL的一些帮助文件,我只需要参考这些就可以写我的windows程序,而不需要其它的东西。比如CSR会给你一个安装包,类似BLE-CC254x-1_3.exe,安装完成后会给你一些.DLL/.LIB/.h及help文件,就可以直接调用这些DLL文件,来执行类似HCI_ReadRssiCmd()的操作,并且对于如何使用,在什么时候使用,会给出一小段例子,就像您所对我说FCC ETSI Test这样。假设说我需要测试无线模块,我肯定需要执行一些类似初始化,连接,发送包,接收包的动作,那这些我目前来说不知道看哪些文件,哪些例子。所以说还需要您帮忙指点一下,谢谢!

Hi duo zhang,

TI 不提供在windows环境下开发的库文件支持.

你安装过BLE协议栈以后, 应该会有一个叫BTool的工具, 里面也可以单独执行所有CC254x支持的HCI命令.

另外, 你也可以安装SmartRF Studio, 里面提供了一些RF测试的功能: http://www.ti.com.cn/tool/cn/smartrftm-studio

TI有单独的在windows上的HCI测试工具, 以及用于各项RF测试的一系列脚本, 只是这些不公开, 必须签署相应合约才提供.

如果你只需要验证无线模块的工作状态是否正常, 用你手头上的两块SmartRF05+CC2541, 之前提供的使用手册, 以及或者开发

CC2540/41 BLE Software Developer’s Guide http://www.ti.com/lit/ug/swru271d/swru271d.pdf

CC2540/41 System-on-Chip User’s Guidehttp://www.ti.com/lit/ug/swru191c/swru191c.pdf

具体例子你可以参考BLE安装目录下代码: ..\BLE-CC254x-1.3\Projects\ble\SimpleBLEPeripheral

和..\BLE-CC254x-1.3\Projects\ble\SimpleBLECentral

这两个工程就是你开发板使用手册上提供实例的源代码.

HI Yan

您好,真心的感谢,说的非常清楚,我这边先学习一下。若有不懂的再向您请教,谢谢!

不客气 :)

HI Yan:

     您好,我在使用IAR為編譯SimpleBLEPeripheral出現如下錯誤,請問我應該怎麼解決,謝謝!

Building configuration: SimpleBLEPeripheral - CC2541DK-MINI Keyfob
Updating build tree...
Linking
Error[e16]: Segment SLEEP_CODE (size: 0x9 align: 0) is too long for segment definition. At least 0x1 more bytes needed. The problem occurred while
processing the segment placement command "-Z(CODE)SLEEP_CODE=_SLEEP_CODE_SPACE_START-_SLEEP_CODE_SPACE_END", where at
the moment of placement the available memory ranges were "CODE:7ff8-7fff"
Reserved ranges relevant to this placement:
CODE:7ff8-7fff SLEEP_CODE
BIT:0-7 BREG
BIT:80-97 SFR_AN
BIT:a0-af SFR_AN
BIT:b8-c7 SFR_AN
Error while running Linker

Total number of errors: 1
Total number of warnings: 0

打开 ..\BLE-CC254x-1.3\Projects\ble\common\cc2540\ti_51ew_cc2540b.xcl

在 -D_SLEEP_CODE_SPACE_START=(_CODE_END-7)

改成 _CODE_END-10  看看

HI Yan:

您好,感謝回復,我前兩天出去了,今天試了一下,編譯可以通過了。再向您請教一下,目前我手頭上有

SmartRF05 Evaluation Boards
 CC2541 Evaluation Modules (CC2541EM)
CC2540 USB Dongle
CC2541 DUT

如果我想使用BTOOL這個工具發送一些HCI Command,請問可以嗎?我參考過

CC2541 Evaluation Module Kit User’s Guide,我把上面這些設備連接到PC上,沒有發現如附件紅色標注部分的設備。

請問,我還少什麼東西嗎?謝謝!

Hi duo zhang,

你得用2540的USB dongle才能有附件图中的设备出来. 你用的EVM kit是不行的.

你可以用BTool发HCI命令下去. 一旦2540的USB dongle 连接成功以后, 就会有个窗口, 你可以选择"Adv.Commands", 里面就列了所有的HCI命令.

HI Yan:

您好,感謝回復,如您回復那樣

你得用2540的USB dongle才能有附件图中的设备出来. 你用的EVM kit是不行的.

我手頭上有usb dongle,但是插在電腦是,顯示的並不“TI 2540 Low- Power RF to USB CDC Serial Port”,而是“CC2540 USB Dongle”,是因為驅動裝的有問題嗎?還是其它什麼原因?

另外,我有如下的設備,如何才能使用Btool?麻煩您了,謝謝!

SmartRF05 Evaluation Boards
CC2541 Evaluation Modules (CC2541EM)
CC2540 DK_Dongle
CC2541 DUT

Hi Yan:

您好,我又按CC2540/41 Mini Development Kit User’s Guide上面3.1 Associate Driver with USB Dongle安裝驅動,但是安裝失敗。請問這是什麼原因?感謝!

Hi duo zhang,

你给这个dongle烧了镜像文件了吗......

用flash programmer......

我遇到同样的问题。编译不通过。

Building configuration: SimpleBLECentral - CC2541EM
Updating build tree...
Linking
Error[e16]: Segment ISTACK (size: 0xc0 align: 0) is too long for segment definition. At least 0x8 more bytes needed. The problem occurred while processing the 
segment placement command "-Z(IDATA)ISTACK+_IDATA_STACK_SIZE#08-_IDATA_END", where at the moment of placement the available memory ranges 
were "IDATA:48-ff"
   Reserved ranges relevant to this placement:
   IDATA:8-1f           VREG
   IDATA:21-40          VREG
   IDATA:41-42          XSP
   IDATA:43-43          DATA_I
   IDATA:44-45          DATA_Z
   IDATA:46-47          IDATA_Z
   IDATA:48-ff          ISTACK
   BIT:0-7              BREG
   BIT:80-97            SFR_AN
   BIT:a0-af            SFR_AN
   BIT:b8-c7            SFR_AN
   BIT:e8-ef            SFR_AN
   BIT:f8-ff            SFR_AN
Error while running Linker
 
Total number of errors: 1
Total number of warnings: 0

按照你说的。吧ti_51ew_cc2540b.xcl里面的-7给出了-10.再编译还是没有通过。请问这是什么样的问题呢。我是想做一个CC2541.在这个平台上的IIC上面接了很多传感器。想通过蓝牙吧相关的数据与手机通信。硬件基本已经快要开板了。请问你觉得这方案应该可行吧。就和SENSORTAG那板子功能很类似。知识传感器多了些还有换了些。请问为何编译还是不通过呢。

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

网站地图

Top