遵循http://processors.wiki.ti.com/index.php/SensorTag_with_iBeacon的指示。 支持iBeacon的固件是使用IAR创建的,并使用OAD从iPhone更新,但SensorTag在更新后停止工作。没有广告,侧面按钮没有LED闪烁。
我多次尝试相同/类似的事情,并尝试通过CC Debugger从IAR IDE直接上传固件,但没有运气。
我可以通过使用闪存编程器上传下载的固件将其恢复到以前的工作状态。
我也尝试用IAR编译标准固件(没有来自BLE堆栈的iBeacon的SensorTag),但它也没有用。
所以我认为IAR中的编译是我的问题但是make可以成功完成。我自己没有更改任何代码。 (只有_NR_OF_VIRTUAL_REGISTERS才能避免链接器错误)。
我想知道是否有人按照上述网址上的说明成功地使其成功。
如果我能得到任何建议或建议,我们将不胜感激。
谢谢和问候,
答案 0 :(得分:0)
感谢评论,Chris。
我找到了TI E2E社区的解决方案。
IAR 8051 V8.30自从V8.20更新后出现问题。它被报告为" 8051 V8.30链接器错误[e16]:段ISTACK对于段定义来说太长了" (http://supp.iar.com/Support/?Note=95811)。
修改.xcl链接器配置后,构建运行正常,没有任何错误。 但是固件并没有在SensorTag上运行。
TI E2E社区的一篇帖子提到改变" Option"中的虚拟寄存器数量。 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不适用于Option设置和.xcl修改的任何组合。
希望将来对其他任何人都有帮助。
此致