基于TI-RTOS的CC2650DK开发(9)---任务示例


Task Hooks示例
下例使用了单个Task hook集。此例演示了如何读写每个hook集关联的Hook上下文指针。
首先是C代码:
Task Hooks示例
下例使用了单个Task hook集。此例演示了如何读写每个hook集关联的Hook上下文指针。
首先是C代码:
3.6 Tasks
SYS/BIOS task对象是由Task模块管理的线程。Tasks的优先级高于Idle Loop并低于硬件中断和软件中断。参阅video introducing Tasks进行概览。
Task模块基于task的优先级和当前task的运行状态动态地安排和抢占tasks。 这确保了处理器永远运行那些拥有最高优先级的线程。tasks的优先级总共有32个级别,默认优先级是16。MSP430和C28x的最高优先级是16。最低优先级0保留用于运行Idle Loop。
Task模块提供了一系列函数用于控制task对象。它们通过Task_Handle类型句柄访问Task对象。
内核为每个task对象维护了一个处理器寄存器拷贝。每个task都有自己的运行时栈用于存储本地变量以及下一层嵌套函数调用。见3.6.3节获取更多关于任务栈尺寸的输电网信息。
所有运行于单个程序中的tasks共享一个公共的全局变量集合,按照为C函数定义的标准规则范围进行访问。
3.6.1 创建Tasks
3.4 硬件中断
硬件中断(Hwis)是应用为了回应外部异步事件所必须处理的关键进程。SYS/BIOS中特定target/device的Hwi模块用于管理硬件中断。请阅读概述,请参考document introducing Hwis。
在典型的嵌入式系统中,中断由装置周边设备或由外部设备传给处理器。两种情况都使中断由处理器导向ISR地址。任何影响Swi和Task调度的SYS/BIOS APIs中断处理都必须使用C或C++编写。早期SYS/BIOS版本所为调用汇编语言所使用的HWI_enter()/HWI_exit宏都不再提供。
跟SYS/BIOS没有互动的汇编ISRs可由Hwi_plug()指定。这类ISRs必须做自己上下文的相关内容。它们可以使用中断关键字、C函数或汇编语言函数。
所有硬件中断都会运行至结束,如果Hwi在它的ISR有机会运行前提交了多次,那么ISR只会运行一次。为此,应当将执行Hwi中断的函数代码最小化。
如果要让中断为全局可用,可以调用Hwi_enable(),ISR可被任意eanbled过的中断抢占。
Hwis不能为指定target使用芯片支持库(CSL)。作为替代,可参考第8章硬件抽象层APIs的相关内容。
CC2650DK这块开发板最大的优点就是自带一块128*64像素的液晶显示屏,用多块板在室外做实验时可以脱离电脑,这是非常有用的。今天就来讲讲这块液晶的使用。当然,先上例子再详细讲解。
需要注意,这块液晶所使用的驱动需要手动引入,插麻烦。
1.打开CCS,选择菜单【Project】-->【New CSS Project】,弹出New CSS Project对话框:
2.【Connection】组合框选择“Texas Instruments XDS100v3 USB Debug Probe”调试器。
3.给工程起名:【Project name】写上“demo_LCDDisplay”。
4.选择模板:在【Project templates and examples】中依次展开:【TI-RTOS Examples】-->【CC2650 Development Kit(7ID)】-->【Driver Examples】-->【TI Driver Examples】-->【Empty Examples】,选择【Empty Project】。
关于按钮,TI公司有现成例子,只需将例子pinInterrupt导入CCS即可,以下代码是我在pinInterrupt基础上稍做修改,去掉异常判断,使得看上去更简单、轻松些。
#include "Board.h"
/* Pin driver handles */
static PIN_Handle buttonPinHandle;
static PIN_Handle ledPinHandle;
/* Global memory storage for a PIN_Config table */
static PIN_State buttonPinState;
static PIN_State ledPinState;
作者:abatei
看了下TI公司的开发工具Code Composer studio(CCS),基于eclipse,比Ubuntu下的vi好用得多了。实在是不喜欢在Linux下开发,太麻烦,无代码追踪,学习起来太不方便。TI公司有自己的操作系统TI-RTOS,我看了下,注释超级详细,代码编写堪称典范,如获至宝啊,看来商业代码和开源代码还是有区别的。最终决定用TI-RTOS来学习CC2650芯片。接下来就是考虑使用SensorTag还是CC2650DK进行学习了。对于单片机学习来说,肯定CC2650DK更为方便,自带模拟器,电路相对简单,引脚方便连接,更重要的是有一块LCD显示屏。那就CC2650DK吧,如此昂贵的一块开发板不用实在是暴殄天物。至于RPL,先放一放吧,搞清楚底层再往上走。
首先安装CCS,网址: http://www.ti.com.cn/tool/cn/ccstudio
下载文件的文件名为:ccs_setup_win32。需要注意安装时此文件的存放路径不能有中文,我是直接拷贝到D盘根目录下安装的。
双击进行安装,弹出如下图所示对话框:
近日,亚马逊被曝一年多以前成立团队,研究无人驾驶技术。该团队由十几名成员构成,成立初衷在于为亚马逊组建包括无人车在内的配送和物流网络。目前,亚马逊该计划还处于初级阶段,未来可能会使用包括无人卡车、铲车、无人机在内的自动交通工具来配送包裹。
与此同时,苹果的无人车团队也遭到了曝光。据上周五来自公开记录的一份苹果文件显示,目前正在为苹果测试自动驾驶汽车软件的苹果工程师中有四位拥有NASA背景,其中一名是前NASA研究员,曾参与开发一款用于探索木星卫星的自动驾驶太空车,而另外三名则曾为喷气推进实验室工作。
“亚马逊做无人驾驶的出发点是为了降低物流配送成本,其方案及目的与百度、谷歌等其他互联网巨头公司有所区别,后两者更希望将无人车作为获取用户流量和消费需求的手段之一,因此亚马逊这块的业务相对简单,更容易把技术落实到应用”,易观汽车与交通出行研究中心高级分析师赵香指出,“苹果过去致力于造车,如今将更多精力放在软件上,事实上从软件入手,也确实更容易一些。”
巨头攒动
又有两个科技巨头被证实涉足无人驾驶领域,但出发点各有不同。
如何准确判断电路中集成电路IC的是否工作,判断不准,往往花大力气换上新集成电路而故障依然存在,所以要对集成电路作出正确判断。
1、首先要掌握该电路中IC的用途、内部结构原理、主要电特性等,必要时还要分析内部电原理图。除了这些,如果再有各引脚对地直流电压、波形、对地正反向直流电阻值,那么,对检查前判断提供了更有利条件;
2、然后按故障现象判断其部位,再按部位查找故障元件。有时需要多种判断方法去证明该器件是否确属损坏。
3、一般对电路中IC的检查判断方法有两种:一是不在线判断,即电路中IC未焊入印刷电路板的判断。这种方法在没有专用仪器设备的情况下,要确定该电路中IC的质量好坏是很困难的,一般情况下可用直流电阻法测量各引脚对应于接地脚间的正反向电阻值,并和完好集成电路进行比较,也可以采用替换法把可疑的集成电路插到正常设备同型号集成电路的位置上来确定其好坏。当然有条件可利用集成电路测试仪对主要参数进行定量检验,这样使用就更有保证。
还有在线检查判断,即集成电路连接在印刷电路板上的判断方法。在线判断是检修集成电路在电视、音响、录像设备中最实用的方法。以下分几种情况进行阐述:
1、直流工作电压测量法:
形成干扰的基本要素有三个:
(1)干扰源,指产生干扰的元件、设备或信号,用数学语言描述如下:du/dt,di/dt大的地方就是干扰源。如:雷电、继电器、可控硅、电机、高频时钟等都可能成为干扰源。
(2)传播路径,指干扰从干扰源传播到敏感器件的通路或媒介。典型的干扰传播路径是通过导线的传导和空间的辐射。
(3)敏感器件,指容易被干扰的对象。如:A/D、D/A变换器,单片机,数字IC,弱信号放大器等。
抗干扰设计的基本原则是:抑制干扰源,切断干扰传播路径,提高敏感器件的抗干扰性能。(类似于传染病的预防)
1、抑制干扰源
抑制干扰源就是尽可能的减小干扰源的du/dt,di/dt。这是抗干扰设计中最优先考虑和最重要的原则,常常会起到事半功倍的效果。减小干扰源的du/dt主要是通过在干扰源两端并联电容来实现。减小干扰源的di/dt则是在干扰源回路串联电感或电阻以及增加续流二极管来实现。
作者:Kent Novak,德州仪器(TI)全球高级副总裁兼DLP®产品总经理
从汽车到厨房,甚至是更多的场景,装有数百万个闪闪发光的微镜的芯片正在改变我们与新一代消费类电子产品之间的互动。
而这样的转变来自于光学MEMS的技术进步——它们正变得更小、更灵活、质量更佳且更高效。先进MEMS正在将全新且创新型解决方案推进到一些应用领域,比如可穿戴技术、智能住宅和家用电器、汽车平视显示(HUD)、自适应大灯、红外传感器,甚至是全息图像。
在DLP® 产品部门工作的过去八年间,我经常亲眼见证这些创新,我也相信DLP技术可以在更加广阔的消费类市场有所作为,在刚刚过去的美国国际消费类电子产品展(CES)上,我看到,这项技术已经越来越受欢迎。
市场分析师同样认为DLP技术还有巨大的、未被开发的潜能。根据Yole Development 公司和Grand View Research公司的预测,MEMS市场在2015年至2021年之间将增长8.9%,单单在消费类和汽车应用领域它就有着260亿美元的市场商机。
但这对于我们意味着什么呢?以下是我个人的三项预测,用以推测基于MEMS的技术会为哪些领域带来最大影响。