基于STM32和FreeRTOS的多线程程序设计与实现开题报告
2020-04-14 15:05:53
1. 研究目的与意义(文献综述)
计算机的出现是信息化时代来临的一个重要标志。近百年来,计算机技术以及相应信息技术的发展使得人类的生产生活发生了翻天覆地的变化。计算机系统无处不在,发挥着不可替代的作用。随着微处理器的出现,微型计算机系统越来越符合社会发展的需要,计算机系统不断朝着体积小,成本低,专用性强等方向发展,将计算机系统嵌入到对象体系中成为了不可避免的趋势,嵌入式系统也由此发展而来。
嵌入式系统融合了计算机技术,通信技术,电子技术和半导体技术,包含了硬件和软件两个部分,嵌入式技术遍布应用在工业生产和日常活动的各个领域。嵌入式系统的发展历程主要经历了以下四个阶段:
(1)无操作系统阶段:嵌入式最早应用在工业和军事中,是基于单片机的,通过汇编语言直接对硬件进行控制,这样的系统功能单一,控制简单,存储容量小,基本没有用户接口,但是使用方便,价格低廉,因而获得广泛应用。
2. 研究的基本内容与方案
基于stm32和freertos的多线程程序设计与实现,以stm32为开发平台,将freertos移植到stm32开发平台上,利用其多任务管理机制,新建三个任务,设置不同的优先级,配置好堆栈大小,并进行演示。
在嵌入式系统中,进程是程序执行和资源分配的基本单位。每个进程都拥有自己的数据段、代码段和堆栈段,这就造成了进程在进行切换等操作时都需要有比较复杂的上下文切换等动作。为了进一步减少处理机的空转时间,支持多处理器以及减少上下文切换开销,进程在演化中出现了另一个概念——线程。它是进程内独立的一条运行路线,处理器调度的最小单元,也可以称为轻量级进程 。线程可以对进程的内存空间和资源进行访问,并与同一进程中的其他线程共享。因此,线程的上下文切换的开销比创建进程小很多。
启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种"昂贵"的多任务工作方式。而运行于一个进程中的多个线程,它们彼此之间使用相同的地址空间,共享大部分数据,启动一个线程所花费的空间远远小于启动一个进程所花费的空间,而且,线程间彼此切换所需的时间也远远小于进程间切换所需要的时间。据统计,总的说来,一个进程的开销大约是一个线程开销的30倍左右。
3. 研究计划与安排
第1周—第4周 搜集资料,撰写开题报告;
第5周—第6周 论文开题;
第7周—第12周 撰写论文初稿;
4. 参考文献(12篇以上)
[1] 丁育萍, 邱玲玲. 基于freertos和stm32的手持激光测距仪系统设计[j]. 现代计算机, 2014(18):56-60.
[2] 朱耀麟, 樊佩. 基于freertos的嵌入式云台控制系统设计[j]. 电子技术应用, 2015, 41(5):25-27.
[3] 龙冰洁. 基于stm32的freertos以及驱动设计[d]. 东南大学, 2014.