1

按照http://processors.wiki.ti.com/index.php/SensorTag_with_iBeacon上的说明进行操作。启用 iBeacon 的固件是使用 IAR 创建的,并使用 iPhone 的 OAD 进行更新,但 SensorTag 在更新后停止工作。没有广告,侧面按钮没有 LED 闪烁。

我尝试了几次相同/相似的事情,还尝试通过 CC Debugger 直接从 IAR IDE 上传固件,但没有运气。

我可以通过使用闪存编程器上传下载的固件将其恢复到以前的工作状态。

我还尝试使用 IAR 自己编译标准固件(没有来自 BLE 堆栈的 iBeacon 的 SensorTag),但它也不起作用。

所以我认为在 IAR 中编译是我的问题,但 make 可以成功完成。我自己没有更改任何代码。(只有 _NR_OF_VIRTUAL_REGISTERS 以避免链接器错误)。

我想知道是否有人按照上述 URL 上的说明成功使其工作。

  1. iBeacon 固件:SensorTag_Beacon_Patch_1v0
  2. CC 调试器的 FW:0041
  3. 传感器标签:CC2451、1.4.1、1407
  4. 8051 版本 8.30.3 的 IAR
  5. BLE 堆栈:BLE_CC254x_140.zip
  6. 工作标准固件版本:1.5 A & B

如果我能得到任何建议或建议,将不胜感激。

谢谢并恭祝安康,

4

1 回答 1

0

谢谢你的评论,克里斯。

我在 TI E2E 社区上找到了解决方案。

IAR 8051 V8.30 从 V8.20 更新后出现问题。报告为“8051 V8.30 链接器错误[e16]:Segment ISTACK is too long for segment definition”(http://supp.iar.com/Support/?Note=95811)。

修改 .xcl 链接器配置后,构建运行正常,没有任何错误。但是固件在 SensorTag 上不起作用。

TI E2E 社区上的一篇帖子提到,将“选项”设置中的虚拟寄存器数量从 16 个更改为 12 个适用于 IAR V8.30.3。然后用一个原始的 .xcl 文件(未修改的文件)进行了尝试。在构建过程中没有错误,并且也可以在 SensorTag 上工作。

SensorTag_Beacon 项目中有 3 个包,分别是 CC2541DK-Sensor、CC2541DK-Sensor-OAD-ImgA 和 CC2514DK-Sensor-OAD-ImgB。只有 CC2541DK-Sensor 选项中的虚拟寄存器数设置为 12 且未修改 .xcl 文件。

CC2541DK-Sensor-OAD-ImgA 和 CC2514DK-Sensor-OAD-ImgB 不适用于选项设置和 .xcl 修改的任何组合。

希望这对将来的其他人有所帮助。

问候,

于 2014-07-29T00:09:52.503 回答