关于cc2541官方例程编译不通过,另外请教下自己设计了一个CC2541+其他传感器的板子,用和sensortag配套的苹果那软件可以收到有相同传感器的数据吗?
我用软件打开官方下载的BLE-CC254x-1.4.0 打开里面的例子。\projects\ble\SimpleBLEPeripheral\CC2541DB编译不通过。请问这是为何。参考过http://www.deyisupport.com/question_answer/wireless_connectivity/f/45/t/18156.aspx这篇帖子。提示说吧7改成10.在编译还是有问题。求解答下
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那板子功能很类似。知识传感器多了些还有换了些。请问为何编译还是不通过呢。另外我还有一个问题。在APP 商店里面提供了一个SENSORTAG的软件。我想如果我自己设计的板子换了几种传感器。但是有一些相同的传感器。比如TMP006.mag3110.那用那个苹果的软件还能使用吗。是不是还是可以收到这些一样的传感器的数据。不同的当然就收不到了。?
我想你一定是用的IAR V8.20以后的版本,在这个版本之后IAR不再需要NR_OF_VIRTUAL_REGISTERS,也就是这个问题中的+_IDATA_STACK_SIZE#08-_IDATA_END,IAR能够对其自动优化。具体解释:打开IAR软件,可以在release notes中找到highlights,linker configuration files ,
看到如下信息
其中
-
EW24413: Linker configuration files (with the filename extension .xcl) from version 8.20 or older contain:
-Z(DATA)VREG+_NR_OF_VIRTUAL_REGISTERS=08-7F
.
In the 8.30.1 release this internal_NR_OF_VIRTUAL_REGISTERS
symbol was deprecated. In the new version of these files, this changed to:-Z(DATA)VREG=08-7F
.
This change is now also applied to the Texas Instruments (Chipcon) linker configuration files.
是引起这个问题的最终原因,你需要找到协议栈安装路径$PROJ_DIR$\..\..\common\cc2540\ti_51ew_cc2540b.xcl的这个文件,将-Z(DATA)VREG+_NR_OF_VIRTUAL_REGISTERS=08-7F
改为-Z(DATA)VREG=08-7F