WCS (2c) Bluetooth Smart (3)

+荐课 提问/讨论 评论 收藏 分享
就是CC2640的平台就Software的一个软件的一个架构 大概架构 我就是前面其实也略微提到过 IDE编好之后 它会有两个 Image 出来 两个功能出来 所以这边大家可以看到 就是你下载 SDK 之后呢 编好以后烧到 Flash 里面 其实在 Flash 里面它有一个 Application 和一个 Stack 这两个东西在 Flash 里面 还有 TI 的 RTOS 然后它下面是我们M3 它是有 ROM 的 ROM 的里面 它是放了 RTOS的 kernel 和那个BLE底层的TI以下的那个协议栈 还是在那个 M3 的 ROM 里面 然后下面就是说硬件控制了就这样 你可以 IAR 就是 SDK 的 就是说在我们实际上2640里面的一个分布情况 就是整个的那个 就是说 SDK 的一个架构吧 就基于蓝牙的一个协议栈这样一个架构 下面是Stack 这一部分呢都是在那个 ROM 里面 然后上面呢就是说我们是在那个 Flash 里面 就是一些 API 一些下面的一些 ROM 的 API 接口 包括一些Profile 一些 Application 这都是在那个 ROM 里 在 Flash 里面 对吧 是在M3上面 就是大家开发 主要是基于这个就是淡蓝色的部分 这个工具我前面其实已经讲过了 就是BTool 做了BTool Device Monitor 这个是 Programmer 所以我就不仔细讲了 就很快的给大家过一下 就是说我们的 BLE 的 SDK 的一个 你装好之后 目录下面到底是什么东西 其实我刚才已经讲过那个什么 Profile 大家可以在这边看到就是很清晰的目录 在 Projects/ble 下面就在那个安装 SDK 之后 有Components 什么 RTOS 的一些 API 什么一些 Drivers 的一些 API 驱动的 API 然后比较重要 就是我刚才提提到过的 我们有那个对 BLE 的开发指导 TI BLE Vendor Specific HCI Guide 还有那什么 OAD 那么OAD 的 Guide 所以大家可以到这个Documentation 下面目录下面去看然后有一个Accessories 就是说有 BTool 一些预先编译好的那个HexFiles嘛对吧 这东西都在 其实跟我们原来的254041 SDK 是很像的 其实架构其实基本上是一样的 这个就是我前面讲过 非常流行的Simple BLE Peripheral 这个工程的一个情况 它可以模拟 就是它就是一个外设嘛对吧 比如说它可以做成一个 sensor 它可以跟那个手机去连 就是那它这个工程呢 客户用到的是最多的 就是在我们 你有 IAR 或者 CCS 打开之后 这是 CCS 这是 IAR 所以大家看其实都是一样的 如果你之前用 IAR 做过254041开发的话 现在觉得就是有 CCS 来讲是吧 转到 CCS 用 然后开发同时开发2640的话 其实也是很简单的 看到就是这个样子 你会觉得很友好很熟悉的 Startup 就是说 就是我们这边的 main 函数是在那里 就是其实就在这边 我们 CCS IAR可能都是一样的 我们有个 Starup 然后这样一个 main 函数 然后还有一个 configure 的一个 就这三个文件 还有一个 configure 的一个东西 就是给客户configure的是 比如说你要不要用那个DC/DC 使用外部 DC/DC 你可以打开关闭DC/DC 还有一些 Bootloader 的设置都在这边 Board.c就是说 我们这边的默认的是我们 Sensor Tag 或者是那个SmartRF 06的那个底板的一些板子的情况 就是一些板子的一些就是 IO 口什么针对性的一些设计 当然这个时候你最终开发 你要把这个稍微改一下 改成自己的板子的那个IO 口设置 那刚才讲的是 因为我之前讲过有两个 Project 对吧 这个是 Application Project 就是 Main 函数入口的地方 那这个是我们 Stack 的这个 Project 就是大家回过去看的话 就这两个 我刚才讲的是这边 现在是讲 Stack Stack 它是一个也有一个设置 它没有 Main函数的入口函数 它主要运行的M3的东西 入口函数都是在 Application 里面 这个里面它有一个 Build Configuration的一个config的文件 这个就是说你控制 能设置 Stack 的一些属性 就比如说你4.1的性能要不要 要不要那个 GAP Role Support 就是你要支持 BLE Client呢还是 噢 不好意思 是你要是支持 Central 设备呢 还是支持那个 peripheral 设备 Privacy Features 就是比如说一些 Bounding Manager的要不要打开 要不要关闭这些 PTM 就是产测的 就是 L2CAP COC 就是说是BLE 4.1里面 就是你要不要用 BLE 4.1里面的 L2CAP COC 这个属性 就直接通过 L2CAP 发数据 不通过 GATT 发数据 那这是 Main 函数入口 这就比较细节的一些地方 就是说其实也很简单 我就很快给大家过一下这边算了 因为大家如果 我觉得建议 最好还是建议就是下载 SDK 然后打开这个 Simple BLE Peripheral 去看一下 那 Main 函数里面首先是初始化板子很简单 然后把那个我们的那个8K的 Cache 打开 然后还有看看 PowerSaving 里 你是不是预先设置 有没有打开关闭 然后根据你设置的情况来设置一下 然后 ICall_init 是什么东西呢 没讲过前面 ICall 就是说 因为我们有两个工程就是分布在 Flash 里面 对吧 那这两个功能怎么通信呢 就是通过 ICall 来 其实就是一个桥接的一个东西 然后把它先初始化掉 然后完了之后就是 ICall_creatRemotTasks 因为是 TI 因为是一个 RTOS 的系统 当然要跑 Task 对吧 这个就是创建了就是我们那个 Stack 就是那个工程的那个 Task 就把整个 Stack 那个Image 你可以把它理解为就是变成一个 Task 就跑在我们的这个Main application 或者 Main 里面 然后就是 GAPRole 的 creatTask 然后就是你应用的那个Task创建 我们这边有一个SimpleBLEPeripheral 然后你改成自己的工程之后有自己的名字 然后最后是 BIOS_start 就是开始跳步了就这样 那就是创建 task 的这个函数 就是刚才我们看到的这个函数 那这个是什么 就其实很简单 我就给大家讲一下 最基本其实就是一个如果玩过 RTOS 的话 就知道首先是要一个优先级 对吧 然后还有一个给它分配 Stack 对吧 然后再是一个 Task 的Main的一个入口函数 一个for循环在这里面就这样 然后就完了 就是标准的一个 RTOS task 的一个创建过程 那这个 RTOS 的入口函数呢 是有一个 首先就是气氛来看的话 我们有一个初始化 就是说初始化一些 比如说你这个设备 是不是一上电就开始广播 什么的这种东西 对吧 然后进去就是 其实就是一个 这个就是 这个就是这个函数嘛对吧 其实初始化要不要广播 乱七八糟这些东西 完了之后呢 就是我们完了之后就是 for 循环了 for 句话是永远不会退出的 它里面做什么 就是做这些东西 它首先是等待一个信号量 未来就是激发 就把我们那个 Task 激活 激活了之后看看是不是 SDK 是不是 不好意思 是不是 BLE 的东西 协议栈的项目下来的东西 为什么这个判断什么 ServiceMsg呢 因为我们知道2650它支持 它支持 ZigBee 的对吧 因为你上面要 application 它下面有可能是可以跑 ZigBee 的东西 所以它会 我们之前的话也会有一个 service 注册 我们现在是跑 BLE 的东西 所以我们这边会有个判断 看是不是 BLE 如果 Stack 东西的话 我们就执行 Stack那个数据 完了之后是不是 APP 的 Message 就说你是不是你自己的 就是说我们有个 MessageQ 嘛 对不对 是应用层上面过来的数据 比如说你外部的 MCU 传过来的数据或者怎么样对吧 然后处理你自己的那个APP的那个函数 完了之后还有一个Event 就比如说是我们这边例程里面有一个定时器事件 就处理定期事件其实就很简单 完了之后就循环回到这里等待 然后再处理这几个事件这样 就我刚才讲过了 不同的就是你过来的数据 针对不同的那个处理事件 Event 还有 TimerEvent 就是一个定时器的那个东西 就是就说你一旦这个程序跑起来之后 你在那个 BTool 上连上之后 看到了那几个 service 我们有里面有五个service的 其实跟我们原来254041一样 如果玩过的话就一模一样 没区别 12345 然后不同的那个读写属性 包括 notification 这边最后举了一个就说是定时器的一个 我就给大家看 这个就是前面 其实就是前面的简化版 它为什么强调这个呢 等会我给大家讲 就是说包括刚看了下来 不是系统被唤醒 是被比如说我们那个 Timer 到了 我们有个 RTOS 的你设置的那个Timer RTOS不是有 一般 RTOS 都会提供一个Timer 的一个功能嘛对吧 你是时间到了被唤醒 唤醒了之后判断下来呢 噔噔噔不是那个 BLE 的数据也不是我应用层过来的数据 然后是一个定时事件到了 然后它就唤醒 然后处理处理完了之后又回去等 就这么简单 为什么这么强调这个东西呢 因为其实这是一个最简单的 就是处理一个事件呢 就是在我们那个整个系统里面的一个方法 很多客户就是拿这个来 就是很简单去设置一个事件 然后完了之后 就那边给一个 Timer 或是你不用 Timer 其他的那个触发也行 其他的 Task 包括就是说你设置一下这个事件 然后 post 的一个 Semaphore给这个 Task 然后就可以了 放心了 所以我们很多客户 其实目前用的是这么一种方式 SensorTag2.0 因为可能时间不多了 大家可能听得也有点烦 纯技术的东西是比较枯燥 SensorTag 就是我们有 SensorTag 1.0 就是老的 CC2541嘛 现在是2.0 就是说本质上还是一样的 区别就是我们用2640的这个东西做 不是2541了 价格也是很便宜的 在 TI 的那个 TI Design 里面 就是说 TI 官网上 就是 TI Store 上可以买到这个东西的 然后有这么多传感器 一看这个slice 如果以前受过2541培训的话 你就会觉得很眼熟了 一模一样把里面的 可能框换点掉 然后字换掉 然后这个图标换换掉 然后一样的 然后这边是那个 IOS 的 APP 也包括我们安卓 APP 现在也有 就更图形化了 对吧 我们这个APP同时支持2541 老的 SensorTag 和在新的2640 SensorTag 然后就是不同的传感器 然后放大之后大家可以看到 就是什么温度啊 对吧 那个湿度啊 还有那个大气压强 还有一些运动 就是 Sensor 的那个东西 实际上都是图形化的 IOS的那个 Apple Store可以搞到 Android 的 Google Play 这个就有点困难了 大家都知道 我们现在访问不了 Google Play是吧 所以比较可惜 但是我觉得其实都一样的 有IOS的话 它其实都已经看到这个问题了 因为安卓的这个东西 本身它有点不太稳定 不同的那个厂家 他做的东西有点不太一样 特别是像硬件上 所以 IOS 还是很稳定的 可以看到这个 那这是我们 sensor tag的那个板子 我本来有 就是小的 我觉得还不如看这个这边大 拿着手上面它都看不清楚 所以这是 SensorTag 一个板子 电极是纽扣电池 功耗能维持一年 然后那个还有数字麦克风 这是亮点 它可以做那个传语音的 然后那个 JTAG 在这边 两个按键 一个外挂 Flash 做空中升级用的 不同的 Sensor 这个参考设计 我们是网上是有公开大家可以去下载 在我们 WiKi上 Hands-on 我就这边其实就是给大家看到过 就没有什么特别 就是我们有一个 我本来想给大家看一下 那个就是我这个 SensorTag 就是说跟我的那个 iPhone 连起来是怎么样的 它其实就是这个样子对吧 没什么特别 而且现在由于时间的关系 我想给大家就是简单讲快点 让大家休息一下 然后我们有Device Monitor 跟 SensorTag连 就 CC2540 Dongle PC 上那个工具 然后还有那个 当然 IOS 它可以通过云把数据传到云上面去检查 有这个功能就是很简单 就这样 然后那个另外有一点 我们有个叫 Dev pack 大家都知道 TI 的那个 JTAG 工具很贵 RF 06 你整套板子可能要 一块那个板肯定要一千多块钱对吧 当然那个现在TI有便宜的那个什么 XDS 200 对 可以支持我们是2640的东西 但另外对 SensorTag 这个板子 我们有一个特殊的 Dev pack 的 一个叫 Dev pack 的一个 JTAG 工具 它也很便宜的 它比那两个都便宜 大家可以在那个 TI Store 上搞到了这个东西 就是说下面这张tag的板 上面插上这个板 然后连上 JTAG 就能 Debug这个东西理论上 也是能用于就是一般的那个板子的那个开发的 但是说可能大家要参考 SensorTag 的那个原理图 就说自己画板子出来 然后能跟它连上好像就可以 它用的是两线的那个 JTAG TI 的那个XDS 所以是两块分开的板子 大家看到的这块 SensorTag 然后上面还有一个小的 Dev pack 两个单独的
课程介绍 共计16课时,5小时14分59秒

2015 TI MCU研讨会(1) WCS

TI 无线 MCU WCS 研讨会

TI 微控制器 (MCU) 在世界各地帮助塑造系统,推动迅速、环保、智能和富于乐趣的设计进步。让 TI MCU 帮助您实现这一目标。从低功耗 MSP MCU 和高性能 C2000™ 实时控制器到用于功能安全的 32 位 Hercules™ARM® MCU 以及Cortex®-M4 MCU,TI 提供了种类繁多的嵌入式控制器产品以满足您的设计需要。TI 的 MCU 产品系列具有各种通用的可靠选件,能够满足客户在不断变化的技术世界中的需求。

  • 相关产品
  • EVM购买
  • 文档下载
  • 软件/工具
  • 技术支持

推荐帖子

我看 TI SEH 套件
这是在 华强电子网 看到的一个帖子。原文如下:(就是到了后来不知为何出现了乱码,看来没管理好呀)http://www.hqew.com/tech/doc/400295.html下面是自己看到这则消息的猜测和观点,当然是很不成熟的,欢迎批评,谢谢指教!其实早在知道MSP430的时候,就已经知道并且非常感兴趣这一个应用;因为MSP430主打低功耗,号称业界最低功耗的单片机,既然低功耗,那就催生了一个不...
辛昕 TI技术论坛
6638 arm 与 dsp通信的实现
请教下,6638上想实现arm与dsp通信,并且: 1.arm在linux环境下实现这个功能; 2.arm 向dsp 发送数据之后,可以通过中断通知dsp; 以上需求有什么库或者函数实现吗? ...
zhanghaibo DSP 与 ARM 处理器
“简简单单DSP”系列学习活动——第五期TIME0学习
2812除了通用定时器GP TIMER(事件管理器里面的定时器)还有TIME0 TIME 1 TIME2 三个CPU定时器,但是TIME1 TIME2保留给时时操作系统(例如DSP_BIOS)使用,只有TIME0开放给用户。 下面介绍定时器0的工作过程: 1、TIME0是一个32位的定时器,即有一个32位的计数器,这个32位的计数器是有两个16为计数器组成,分别是低16位TIM和高16为TIM...
superwangyang 微控制器 MCU
TMS320VC5509使用nof flash AM29LV400
本帖最后由 fish001 于 2020-2-6 22:08 编辑 . 硬件接口如下,其中nor flash的使用方法,写的时候和NAND FLASH是一样的,读的时候和DRAM是一样的 2. 看下擦除指令和编程指令   ...
fish001 DSP 与 ARM 处理器

大明58

TI MCU研讨会(1) WCS

2020年04月29日 11:46:07

zwei9

看---2015 TI MCU研讨会 视频

2019年07月09日 15:49:54

hellokt43

好好学习天天向上

2019年02月17日 14:16:34

xiaozhuang

学习

2018年11月29日 13:30:16

凤凰息梧桐

学习一下

2018年10月24日 19:45:18

weixiu123

学习一下

2018年10月22日 21:20:12

分享到X
微博
QQ
QQ空间
微信

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

站点相关: EEWORLD首页 EE大学堂 论坛 下载中心 Datasheet 活动专区 博客

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved