TI中文支持网
TI专业的中文技术问题搜集分享网站

添加库文件后编译异常——跪求解答

Hi All:

        我在simpleBLECentral工程中添加Lib文件《CC2540_BLE_peri.lib》编译后出现以下异常:

Error[e6]: Program module ll_halt redeclared in file F:\CC2540资料\工程文件\1.4\Projects\ble\Libraries\CC2540DB\bin\CC2540_BLE_peri.lib

       我这么做的目的是,通过在初始化时判断IO口来识别主从模式,从而达到在一套工程里即可跑central也可跑peripheral的程序(且不论这么做合不合适)。上面编译的那个问题有办法解决吗?

       Very Thanks。

Yan:

shaokai,

include “CC2541_BLE.lib” 和 “CC254x_BLE_HCI_TL_None.lib” 就行。

2540 的话,就是 “CC2540_BLE.lib” 和 “CC254x_BLE_HCI_TL_None.lib” 

shaokai Lin:

回复 Yan:

Yan

    Very very thanks,But…

    我使用simpleBLECentral工程,尝试替换Lib文件是成功的:将原本的《cc2540_BLE_cent.lib》替换为《CC2540_BLE_.lib》之后编译正常;

    而使用simpleBLEPeripheral工程,也如此做时却失败了:将原本的《cc2540_BLE_peri.lib》替换为《CC2540_BLE_.lib》则编译会出现另一个错误:

Error[e104]: Failed to fit all segments into specified ranges. Problem discovered in segment XDATA_N. Unable to place 2 block(s) (0xc02 byte(s) total) in 0xbb8 byte(s) of memory. The problem occurred while processing the segment placement command "-P(XDATA)XDATA_N=_XDATA_START-_XDATA_END", where at the moment of placement the available memory ranges were  "XDATA:1348-1eff"

   How can I solve the problem?这是哪里设置的出问题吗?

shaokai Lin:

回复 shaokai Lin:

哦耶!内存不够。。。

原来是这样的:cc2540内部RAM只有8kB,而我的堆空间大小分配本身占用了3kB。

修改预处理器中堆得大小分配:INT_HEAP_LEN=1024之后编译通过。

但是我这样减小堆空间大小会不会有其他隐患呢?不过我自己的代码目前很少用到堆空间。。。

junping wang:

回复 Yan:

你好,最近在开发微信蓝牙功能,我用的是CC2541,用的协议栈是BLE-CC254x-1.4.1.43908a,工程里面已经加入了上述两个文件,但是问题还是没有解决。

赞(0)
未经允许不得转载:TI中文支持网 » 添加库文件后编译异常——跪求解答
分享到: 更多 (0)