How to Code on TinyOS.ppt

上传人:周芸 文档编号:376417 上传时间:2018-10-08 格式:PPT 页数:32 大小:1.46MB
下载 相关 举报
How to Code on TinyOS.ppt_第1页
第1页 / 共32页
How to Code on TinyOS.ppt_第2页
第2页 / 共32页
How to Code on TinyOS.ppt_第3页
第3页 / 共32页
How to Code on TinyOS.ppt_第4页
第4页 / 共32页
How to Code on TinyOS.ppt_第5页
第5页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、How to Code on TinyOS,Xufei Mao Advisor: Dr. Xiang-yang Li CS Dept. IIT,Outlines,What is TinyOS? Hardware & Software NesC A simple example Conclusion,So why do we need a new OS?,Traditional OS,Huge ! Multi-threaded architecture =large memory I/O model Kernel and user space separation Typically no en

2、ergy constraints Ample available resources,Sensor Hardware Constraints,Lower Power Limited memory Slow CPU Size (Small) Limited hardware parallelisms Communication using radio Low-bandwidth Short range,Desired OS Properties,Small memory footprint Efficient in power and computation Communication is f

3、undamental Real-time Support diverse application design,TinyOS Solution,Concurrency: uses event-driven architecture Modularity Application composed of components OS + Application compiles into single executable Communication Uses event/command model FIFO and non pre-emptive scheduling No kernel/appl

4、ication boundary,The Hardware,Software,TinyOS (Platform) Coding language NesC (Network Embedded System C),TinyOS Memory Model,STATIC memory allocation! No heap (malloc) No function pointers No dynamic, run-time allocation Global variables Available on a per-frame basis Conserve memory Use pointers L

5、ocal variables Saved on the stack Declared within a method,TinyOS & nesC Concepts,New Language: nesC. Basic unit of code = Component Component Process Commands Throws Events Has a Frame for storing local state Uses Tasks for concurrency Components provide interfaces Used by other components to commu

6、nicate with this component,Components,Two type of components Module component written with code Configuration components wired together,Components,TinyOS Application (Sample),Commands/Events/Tasks,Commands Should be non-blocking i.e. take parameters start the processing and return to app; postpone t

7、ime-consuming work by posting a task Can call commands on other components Events Can call commands, signal other events, post tasks but cannot be signal-ed by commands Pre-empt tasks, not vice-versa Tasks FIFO scheduling Non pre-emptable by other task, pre-emtable by events Used to perform computat

8、ionally intensive work Can be posted by commands and/or events,nesC,Naming conventions nesC files extension: .nc Clock.nc : either an interface (or a configuration) ClockC.nc : a configuration ClockM.nc : a module,nesC Keywords,nesC Keywords -implementation,Interfaces,Modules,Implement one or more i

9、nterfaces Can use one or more other interfaces,Modules (Sample),Configurations,Two components are linked together in nesC by wiring them Interfaces on user component are wired to the same interface on the provider component 3 wiring statements in nesC: endpoint1 = endpoint2 endpoint1 - endpoint2 end

10、point1 endpoint1),Configurations (Sample),nesC Wiring Syntax,Compile & Run,Compiler processes nesC files converting them into a gigantic C file Has both your application & the relevant OS components you are using Then platform specific compiler compiles this C file Becomes a single executable Loader

11、 installs the code onto the Mote (Mica2, Telos, etc.),Simple Example 1,Blink Application Blink.nc configuration,Simple Example 1,Blink Application BlinkM.nc module,Simple Example 2,Communication between two sensors Environment : Xubuntu + TinyOS 2.0 Hardware: TelosB sensors,Resources,Gauravs TinyOS-

12、1.x installation howto: http:/www.cs.umass.edu/gmathur/misc/tinyos_setup.htm Tinyos-2.x installation howto (straightforward): http:/ The official TinyOS tutorial (pretty good): http:/ The offical TinyOS-2.x tutorial (very good): http:/ nesC: http:/ Docs: nesC paper: http:/none.cs.umass.edu/gmathur/t

13、inyos/nesc-pldi-2003.pdf nesC manual: http:/none.cs.umass.edu/gmathur/tinyos/nesc-ref.pdf TinyOS abstractions: http:/none.cs.umass.edu/gmathur/tinyos/tinyosnsdi04.pdf,Reference,TinyOS Tutorial by Jeremy Gummeson, Sensors Lab, UMass-Amherst TinyOS Programming by Philip Levis nesC paper: http:/none.cs.umass.edu/gmathur/tinyos/nesc-pldi-2003.pdf,Conclusion,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学课件 > 大学教育

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1