4941|4

2774

帖子

8

TA的资源

版主

楼主
 

TI 狂欢+ simplelink CC2640R2开箱点灯 [复制链接]

本帖最后由 strong161 于 2017-12-18 10:26 编辑

这次TIsimplelink 优惠活动力度不如以前大,但是CC2640R2作为首款BLE5开发板还是非常值得一试的,相对于以前Launchpad 经黄黑色包装,新出的CC2640R2包装显然用料就用心多了,盒子也比以前的高上那么一个档次了,如图:


Simplelink作为TI大力推广的高度代码复用平台,CC2640R2是也是首个得到支持的BLE无线MCU目测以后TI Simplelink平台将会是形成一个很强大的复用体系,最新的无线芯片全都进了simplelink平台。


板子外观大家都看多了吧,也没有太多好说的,基本上是TI最新的launchpad样板,板子比以前的红板要细一些,颜色也更加亮,新的亮红看起来也很漂亮,最新的launchpad最大的特点就是user key全都由原来的底物板面上移到了现在的中间两边侧放,老的launchpad设计确实不太好,因为TI大部分板子都采用相同的塔式扩展接口,而扩展板对挡着下方的user key,而且很多扩展板上面没有提供key 这就不方便使用了,显然新launchpad设计师是考虑到了这个问题的。而新的板子也就方便使用了。Launchpad 用心程序还是很高的,从老的到新的都是母口在下方,可以提供板的支撑减少桌面存在导电物品导至的问题,但是也有一个问题就是所有的基本上大部分launchpad是放不平的,因为扩展口全在下方,调试器部分没有支撑点,话说不影响使用确实是一个尴尬的问题。
接下来,先按老规距来,开箱那就必须点个灯吧,在这点上得说说TI了,既然推出了CCS MAC版的,竟然没有mac版的sdk……搞的整个demo工程都麻烦。这就是你的不对了,sdk需要在windows安装后拷出来或是下linux版的。但是还有一些问题就是所有的协议栈工程都会有编译前处理,在CCS mac版导入工程后,需要先将协议栈工程中 前处理的lib_search,有的时候是 lib_search.exe 改成lib_search.py.
在windows下是使用是的exe,在linux和mac下就需要使用python了,所以安装CCS mac版需要先安装一个python2.7。然后将python安装路径放到lib_search.py第一行
lib_search.py在以下两个sdk文件夹中
simplelink_cc2640r2_sdk_1_40_00_45\tools\blestack\lib_search\
simplelink_cc2640r2_sdk_1_40_00_45\tools\ble5stack\lib_search\
windows sdk下面第一行是””在这行前面加入路径,方式如图:
我的安装路径  /Library/Frameworks/Python.framework/Versions/2.7/bin/python
但是安装路径根据个人习惯来的,会有不同,在终端窗口中输入命令:  which python
就可以知道安装路径。打开lib_search.py 第一次加入
#!/Library/Frameworks/Python.framework/Versions/2.7/bin/python

依据lib_search.py 文件内容可以看出要求是python2.7.3,这个是老版本了,像我安装的是python2.7.14,大部分人也不可能是2.7.3,所以将最后的version_control() 调用注释掉就行了。
这样sdk没有大的问题了,使用RTOS工程没有什么毛病了,但是如果使用BLE协议栈工程的,就需要修改一下编译前处理,因为windows下是在使用的exe处理的,所以需要按前面的图修改exe 为lib_search.py,当然咯也可以用别的方式
其实前处理就是用来链接需要用的到lib,会生成一个lib_linker.cmd文件
内容如下,
  1. /*
  2. * DO NOT MODIFY. This file is automatically generated during the pre-build
  3. *                step by the lib_search utility
  4. */

  5. "C:\ti\simplelink_cc2640r2_sdk_1_40_00_45\source\ti\blestack\blelib\ctrl\cc2640_hci_pxxx.a"
  6. "C:\ti\simplelink_cc2640r2_sdk_1_40_00_45\source\ti\blestack\blelib\ctrl\cc2640_ll_pxxx.a"
  7. "C:\ti\simplelink_cc2640r2_sdk_1_40_00_45\source\ti\blestack\blelib\hci_tl\cc26xx_hci_tl_none.a"
  8. "C:\ti\simplelink_cc2640r2_sdk_1_40_00_45\source\ti\blestack\blelib\host\cc26xx_att_pxxx.a"
  9. "C:\ti\simplelink_cc2640r2_sdk_1_40_00_45\source\ti\blestack\blelib\host\cc26xx_gap_pxxx.a"
  10. "C:\ti\simplelink_cc2640r2_sdk_1_40_00_45\source\ti\blestack\blelib\host\cc26xx_gatt_pxxx.a"
  11. "C:\ti\simplelink_cc2640r2_sdk_1_40_00_45\source\ti\blestack\blelib\host\cc26xx_l2cap_pxxx.a"
  12. "C:\ti\simplelink_cc2640r2_sdk_1_40_00_45\source\ti\blestack\blelib\host\cc26xx_profiles_pxxx.a"
  13. "C:\ti\simplelink_cc2640r2_sdk_1_40_00_45\source\ti\blestack\blelib\host\cc26xx_smp_pxxx.a"
  14. "C:\ti\simplelink_cc2640r2_sdk_1_40_00_45\source\ti\blestack\blelib\host\cc26xx_sm_pxxx.a"
复制代码
当然每个工程会成的不一样,这个是在windows下生成的,mac下生成也就不同,所以也可以通过直接先在windows下编译工程,生成cmd文件,然后把这个文件放到对应的目录里面,并把路径修改成mac下对应的路径就行了,然后把前处理给删除了。当然按前面的方法更好,每个工程只需要改一下前处理的所引用的应用程序。所以sdk里面有mac与linux下的py来处理,完全没有必要再搞个exe嘛,直接全都用python处理那工程不就能通用了嘛。Windows下也是支持python的嘛。
接下来咱们点灯吧,sdk不仅有协议栈也有驱动,鉴于协议栈还不是太熟悉,先用RTOS点个灯点。先导入 sdk \examples\rtos\CC2640R2_LAUNCHXL\drivers\empty\tirtos\ccs,空白工程。
然后修改 empty.c 建立两个闪灯任务,也当作RTOS基本学习
  1. /* For usleep() */
  2. #include <unistd.h>
  3. #include <stdint.h>
  4. #include <stddef.h>
  5. /* Driver Header files */
  6. #include <ti/drivers/GPIO.h>

  7. /* Board Header file */
  8. #include "Board.h"

  9. /*
  10. *  ======== mainThread ========
  11. */
  12. void *LED0_Thread(void *arg0)
  13. {
  14.     /* 1 second delay */
  15.     uint32_t time = 1;

  16.     /* Call driver init functions */
  17.     GPIO_init();


  18.     /* Turn on user LED */
  19.     GPIO_write(Board_GPIO_GLED, Board_GPIO_LED_ON);

  20.     while (1) {
  21.         sleep(time);
  22.         GPIO_toggle(Board_GPIO_GLED);
  23.     }
  24. }


  25. void *LED1_Thread(void *arg0)
  26. {
  27.     /* 1 second delay */
  28.     uint32_t time = 1;

  29.     /* Call driver init functions */
  30.     GPIO_init();

  31.     /* Turn on user LED */
  32.     GPIO_write(Board_GPIO_RLED, Board_GPIO_LED_ON);

  33.     while (1) {
  34.         sleep(time);
  35.         GPIO_toggle(Board_GPIO_RLED);
  36.     }
  37. }
复制代码

然后打开 main函数所在文件 main_tirtos.c
加入两个任务放到原来的任务后面。

  1.     retc = pthread_create(&thread, &attrs, LED0_Thread, NULL);
  2.     if (retc != 0) {
  3.         /* pthread_create() failed */
  4.         while (1);
  5.     }

  6.     retc = pthread_create(&thread, &attrs, LED1_Thread, NULL);
  7.     if (retc != 0) {
  8.         /* pthread_create() failed */
  9.         while (1);
  10.     }
复制代码
好吧两个灯一起闪了。没有太动脑子,晚些再搞点复杂些的,把协议栈给加上。





此内容由EEWORLD论坛网友strong161原创,如需转载或用于商业用途需征得作者同意并注明出处







查看本帖全部内容,请登录或者注册
此帖出自无线连接论坛

最新回复

我是来给队长送祝福的哈哈哈哈节日快乐!  提前祝双旦快乐!  详情 回复 发表于 2017-12-23 11:21
点赞 关注
 

回复
举报

626

帖子

173

TA的资源

一粒金砂(高级)

沙发
 
来拜读一下丝状的帖子。
写的真好,赞一个先!
此帖出自无线连接论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

欢迎领导视察  详情 回复 发表于 2017-12-15 17:48
 
 
 

回复

2774

帖子

8

TA的资源

版主

板凳
 
高进 发表于 2017-12-15 17:33
来拜读一下丝状的帖子。
写的真好,赞一个先!

欢迎领导视察
此帖出自无线连接论坛
 
 
 

回复

3415

帖子

0

TA的资源

纯净的硅(高级)

4
 
来支持一下屎壮
此帖出自无线连接论坛
个人签名

So TM what......?

 

 
 

回复

714

帖子

2

TA的资源

一粒金砂(高级)

5
 
我是来给队长送祝福的哈哈哈哈节日快乐!  提前祝双旦快乐!
此帖出自无线连接论坛
个人签名Hello astroturfers
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条
电源解决方案和技术 | DigiKey 应用探索站
当月好物、电源技术资源、特色活动、DigiKey在线实用工具,干货多多~

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表