论文部分内容阅读
本文重点论述原型开发Arduino应用多线程模型Protothreads实现多任务调度研究。由于硬件电路图公开、编写程序语句简洁、编程调试环境便捷、库函数丰富的原因,原型开发平台Arduino被广大设计者应用于快速完成原型开发。使用Arduino设计项目都只能实现单任务程序处理,限制Arduino在原型开发中发展。在实际项目中,多任务处理是常见的目标需求。设计者常用实现多任务程序处理的方法是原生开发移植嵌入式实时系统。原生开发涉及电路、编程、嵌入式系统等基础知识,对于设计者层次要求高,导致周期长和开发难度大。采用原生开发方法不能快速实现目标需求。本文创新点是原型平台Arduino移植多线程模型Protothreads实现多任务调度,同时保持原型开发的快速性,弥补了Arduino单任务处理的不足。本文按章节论述,共五章。第一章简述嵌入式系统发展状况,Arduino在原型开发中的优势,单任务程序结构限制Arduino在快速原型开发的发展。第二章讲述Arduino平台的硬件模块、软件调试环境,使用Proteus仿真环境进行Arduino原型开发。第三章分析说明基于时间触发调度器的原理,应用时间触发调度器设计情景实现多任务调度。第四章论述轻量级的多线程模型Protothreads调度任务机制,在Arduino平台移植多线程模型Protothreads设计多任务调度。第五章分析智能家居监控系统项目需求功能,在Arduino平台和Protothreads多线程模型、在Atmegal6平台上移植uC/OS-Ⅱ系统实现相同的情景任务功能。比较两个开发方法的差异,说明采用原型平台Arduino移植多线程模型Protothreads的方法进行原型开发设计者快速实现与原生开发移植操作系统同样的多任务调度功能,具有用户容易设计和开发周期短的优点,解决Arduino原型开发不能实现多任务调度的问题。