CC2650头文件
来源:互联网 发布:加密软件如何破解 编辑:程序博客网 时间:2024/06/07 00:14
转载请注明出处:http://blog.csdn.net/chenHCYJ/article/details/53113930
在TI的蓝牙SDK中,提供了三种类型的头文件,分别为 7ID,5XD和4XS。其中数字7、5、4分别代表CC2650芯片的封装7*7,5*5,4*4,I代表使用内部巴伦,X代表使用外部巴伦,D代表差分天线,S代表单端天线。所以7ID就是使用7*7封装芯片,内部巴伦,差分天线的头文件。
在实际使用时,我们可能会需要4ID的头文件,因为头文件中定义了很多的IO,自己完全写一个是完全不可取的,那么如何根据TI提供的头文件进行修改呢?这个需要先了解下头文件的包含关系,才能明白如何修改。
头文件包含关系
在 《ble_sdk_2_02_00_31》中,以 simple_peripheral 例程默认使用了7ID的头文件,其中有关board的头文件包含关系如下:
1. 宏定义
在工程Options选项中定义了“CC26XX”和“CC2650DK_7ID”,其中CC2650DK_7ID宏定义实现了对头文件的包含作用,而CC26XX和另一个在头文件中定义的宏(如CC2650EM_7ID)共同决定了巴伦电路内部或外部、天线差分或单端的模式。
2. board.c文件
我们在工程中可以找到Starup目录中的 board.c 文件
该board.c文件所在目录为 C:\ti\simplelink\ble_sdk_2_02_00_31\src\target\board.c,其中有如下代码:
#if defined(CC2650DK_7ID) || defined(CC2650DK_5XD) || defined(CC2650DK_4XS) #include "./cc2650em/cc2650em_board.c"#elseif ...#endif
根据#include,跟踪到 C:\ti\simplelink\ble_sdk_2_02_00_31\src\target\cc2650em\cc2650em_board.c,有如下代码:
#if defined(CC2650DK_7ID) #include <../../boards/CC2650DK_7ID/Board.h> #include <../../boards/CC2650DK_7ID/CC2650DK_7ID.c>#elseif ...#endif
到此我们找到了真正使用的.C文件 C:\ti\simplelink\ble_sdk_2_02_00_31\src\boards\CC2650DK_7ID\CC2650DK_7ID.c
在 CC2650DK_7ID.c 文件中有如下代码:
#include "Board.h"
我们右键单击,选择“Open Board.h”,会弹出两个选项
也就是说根据include的路径这两个目录下的Board.h都能被搜索到,其实第一个选项不难理解的,因为CC2650DK_7ID.c文件所在文件夹中确实有一个Board.h文件。
3. Board.h文件
打开 C:\ti\simplelink\ble_sdk_2_02_00_31\src\examples\simple_peripheral\cc26xx\app\simple_peripheral.c文件,有如下代码:
#include "board.h"
在simple_peripheral.c文件的目录中可没有Board.h文件,所以这个是根据工程Options —-> C/C++ Compiler —-> Preprocessor 中 Additional include directories项中的路径搜索的。
也就是第1步中红色方框标记的 $SRC_EX$/target,而$SRC_EX$代表的目录是:
所以我们能跟踪到 C:\ti\simplelink\ble_sdk_2_02_00_31\src\target\board.h文件,有如下代码:
#if defined(CC2650DK_7ID) || defined(CC2650DK_5XD) || defined(CC2650DK_4XS) #include "./cc2650em/cc2650em_board.h"#elseif ...#endif
继续跟踪到 C:\ti\simplelink\ble_sdk_2_02_00_31\src\target\cc2650em\cc2650em_board.h文件中,有如下代码:
#if defined(CC2650DK_7ID) #include <../../boards/CC2650DK_7ID/Board.h>#else ...#endif
继续跟踪,打开 C:\ti\simplelink\ble_sdk_2_02_00_31\src\boards\CC2650DK_7ID\Board.h文件中,有如下代码:
#include "CC2650DK_7ID.h"
到此我们找到了最终使用的.h文件:
C:\ti\simplelink\ble_sdk_2_02_00_31_ss\src\boards\CC2650DK_7ID\CC2650DK_7ID.h
我们可以看到该头文件中就是我们用到的Leds、Button、UART等IO的定义,也就是最终的 .h文件。
把7ID的头文件修改为4ID
知晓了board文件的包含关系,就不难修改了。具体做法:
1. 文件复制
C:\ti\simplelink\ble_sdk_2_02_00_31\src\boards\CC2650DK_4XS\目录中的
“Board.h”、“CC2650DK_4XS.h”和“CC2650DK_4XS.c”三个文件到
C:\ti\simplelink\ble_sdk_2_02_00_31\src\boards\CC2650DK_7ID目录中。
“Board.h”选择覆盖,其他两个进行重命名
“CC2650DK_4XS.h” —-> “CC2650DK_4ID.h”
“CC2650DK_4ID.c” —-> “CC2650DK_4ID.c”
2. 在Board.h文件中
#include "CC2650DK_4XS.h"
修改为:
#include "CC2650DK_4ID.h"
3.在CC2650DK_4ID.h文件中
#define CC2650EM_4XS
修改为:
#define CC2650EM_7ID
4. 在cc2650em_board.c文件中
在C:\ti\simplelink\ble_sdk_2_02_00_31\src\target\cc2650em\cc2650em_board.c文件中
#include <../../boards/CC2650DK_7ID/CC2650DK_7ID.c>
修改为:
#include <../../boards/CC2650DK_7ID/CC2650DK_4ID.c>
大功告成,重新编译工程即可。
- CC2650头文件
- 头文件
- 头文件
- 头文件
- 头文件
- 头文件
- 头文件
- 头文件
- 头文件
- 头文件
- 头文件
- 头文件
- 头文件
- 头文件
- 头文件
- 头文件
- 头文件
- 头文件
- 手机移动端WEB资源整合
- 大数据问题解决方案
- 第十周 项目3 利用二叉树遍历思想解决问题(2)
- Java中的接口、抽象类
- 万向节锁--简单解释
- CC2650头文件
- BAPI_PO_CREATE1创建服务类PO的关键数据关系
- 第11周项目2-用二叉树求解代数表达式
- 编译内核出现fatal error:XX File name too long的问题
- Entity Framework基础
- 安卓手机与蓝牙串口模块的通信
- 第11周项目2-用二叉树求解代数表达式
- linux常用头文件详解(转)
- JAVA 反射机制