用哪个库文件编译CC2540带PTM的量产版代码
我这有一个关于用于量产PTM测试时库文件选用的问题。
项目概括:
1. HW:CC2540
2. BLE stack:v1.3
3. 应用:BLE peripheral
需求: 在量产的功能软件中加入PTM,用GPIO控制,缺省为低进入功能模式,将GPIO拉高进入PTM模式
编译时选择BLE-CC254x-1.3\Projects\ble\Libraries\CC2540DB\bin\CC2540_BLE_peri.lib 以及 BLE-CC254x-1.3\Projects\ble\Libraries\Common\bin下的一个库文件时有以下问题:
1. 用CC254x_BLE_HCI_TL_None.lib, 功能正常,但不能进入PTM模式
2. 用CC254x_BLE_HCI_TL_PTM.lib, PTM正常,但正常功能异常
3. 用CC254x_BLE_HCI_TL_Full.lib,编译错误,有没有定义的函数,但我从developer guide中看到,是应该用这个库文件的
请帮忙!急,等着上工厂调试!谢谢!
-LSY
HI Shuyu,
不清楚为什么你要换lib, 正常情况下是不需要更换lib文件的, 1.2版本以后的协议栈都支持PTM. PTM目的只是为了把UART口暴露出来给测试仪.
Hi Yan ,
是否应该用CC2540_BLE.lib和CC254x_BLE_HCI_TL_Full.lib?
谢谢!
-LSY
工程自带的lib文件应该就可以. 1.2以后的lib文件应该能通过GPIO口拉电平进入PTM模式了.
Hi, Yan,
我们也遇到了这个问题。
wiki上确实说,“1.2版本以后的协议栈都支持PTM”,但是我们试过了,在1.3版本上,在options->c/c++ compiler->preprossor上增加以下宏:
HCI_DISABLE_UART,HAL_UART,HAL_DMA=TRUE。编译连接后,连接有以下警告:
Warning[w52]: More than one definition for the byte at address 0x6b in common segment INTVEC. It is defined in module "hal_uart" as well as in module
并且,烧录后,UART也不能工作。
后来,我看到在source code 的 Libraries/common/lib下存放着三个库文件:
CC254x_BLE_HCI_TL_Full.lib,CC254x_BLE_HCI_TL_None.lib,CC254x_BLE_HCI_TL_PTM.lib。
我们的上面默认的是使用的..._TL_None. 所以我试了下带PTM的,确实能用(进入PTM模式,即PTM能工作起来),但上面的警告依然会有,
而且,进入正常的工作模式,会死掉。
你有遇到过这样的问题吗?
或者,正如你说所的,不用换库,就能工作在正常模式和PTM模式,只需要用一个GPIO口的拉高拉低就行,你是怎么配置的?
求解!谢谢!
用的是KeyFob工程
Hi TonyBie,
要用PTM的话相应的代码也需要修改, 不知道你参考过TI的wiki没有?
http://processors.wiki.ti.com/index.php/PTM#How_to_use_Production_Test_Mode_.28PTM.29_on_the_CC254x
Thanks,Yan。
Yes, IT WiKI is just what I am always refering to .
so now the issue is resolved.
Hi, Yan,
我有另外一个问题,请教下:
由于货源的问题,需要用2541替代。
使用的是1.3版本,之前用的是keyfob工程下的CC2540DB,现使用CC2541DB,去掉了两个宏
ACC_BMA250
DC_DC_P0_7
编译,下载都没有问题,但是不能正常使用。跟踪了下:key的中断都没有响应,这是什么原因?
之前,使用CC2540DB是没有问题的。
芯片是直接在原来2540的板子上,换成2541,看了下原理图,是PIN对PIN的,只有2540的1~4脚是USB功能,接的地,而2541的是作I2C的处理,我们也都把他们接地了,不知道是不是这个的影响。
两个是pin to pin的, 只是2540是uart, 而2541是i2c.
但是应该不是这个影响. 可能是你把 DC_DC_P0_7 定义取消了的影响. 请保留这个定义再试一下.
请问ptm测试不用测试仪器是否可以,我想根据wiki所说用电脑给待测试板子发送命令来进行测试。
另外不知道Tonybie是如何进入ptm测试的,库文件是否需要改动?我现在怎么也进入不了PTM,即我通过电脑串口给待测试板子,串口没有回应。
ptm目的就是为了暴露uart口去做产线测试, 这个暴露出来的uart口就是让专门仪器去控制芯片做测试的, 你用pc去控制下命令也行,pc也只能做到发命令而已, 但是最终的测试还是需要专门仪器的, 比如Anritsu 的 MT8852B.
hi,
库文件要改为带PTM的,另外,代码也要做些修改。
Hi TonyBie:
我这边遇到的情况跟你描述的一样,我是按照wiki修改的,但PTM模式和正常工作模式无法兼容。请教下,你是怎么解决的?谢谢!