- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式操作系统全解
课程设计(大作业)报告
课程名称:嵌入式操作系统
设计题目:MQX基本要素综合项目
院 系:
设 计 者摘要
MQX已经走过了20多年的发展历程,基于MQX的产品已达数百万。飞思卡尔于2009年收购MQX,并推出第一个版本MQX-RTOS3.0.1后,对其功能进行了不断加强,MQX是一款免费、开源、有技术支持,面向工业控制、医疗电子、家用电器等领域的嵌入式实时操作系统。MQX具有学习难度低,开发工具强,外设驱动丰富,内核精简、架构清晰、实时性强、应用范围广等特点。与Linux相比,Linux的MMU、OpenGL功能强大,占用资源多,而MQX内核精简、效率高、实时性强,更适合工业控制、医疗电子、家用电器等领域。因此,选用MQX作为RTOS的学习蓝本,不仅入门难度小,且实际应用的可行性大。
关键词: MQX、内核精简、实时性强、效率高。
目录
一、题目分析 1
二、MQX的介绍及说明 1
三、各任务的主要功能介绍 2
四、系统框图 3
五、程序代码及分析 4
六、运行结果 5
七、总结 5
七、参考文献 5
课程设计(大作业)报告
题目分析
MQX基本要素综合项目,主要介绍一个包含MQX基本要素综合项目的设计过程,主要分为几个部分,介绍对模块引脚做统一说明,介绍中断服务例程ISR的功能设计与任务的功能设计,介绍PC与MCU通信帧协议,包含帧格式和帧命令,给出MCU方主要任务的代码实现,PC程序的界面。
需求分析:将设计一个实例来验证SD-FSL-K60-C评估板各个模块的硬件功能,需要包含任务、中断、驱动、轻量级事件、轻量级信号量、轻量级消息队列、轻量级日志等基本要素。为区分不同的功能单元并确保数据的完整性,需要以组帧的方式完成数据的双向传输。具体实现可通过串口发送相应的帧数据来控制具体的模块。基于以上需求,可运用以上基本要素来实现对LED、UART、ADC、RTC、Flash等几个模块的测试,其中LED模块控制板上的4盏小灯,UART模块实现串口的发送接收,ADC模块实现AD采样,RTC模块实现实时对时,Flash模块实现Flash的读取。
MQX的介绍及说明
1、介绍:本部分对程序中所使用的LED,ADC,RTC,Flash,UART几个模块的引脚做统一说明。
2、MQX的特点:
(1)实时性高。MQX提供高效的任务调度、内存管理等功能。MQX采用基于优先级的、抢占式调度策略。带有最优化上下文切换和中断处理,用于实现快速、高效的预测响应时间,具有高实时性。
(2)内核精简。MQX采用微内核结构,代码最小为16KB,RAM最小开销为2KB,对硬件系统开销较小;可以根据需要添加可定制组件,具有直接应用编程接口API、高度模块化架构,能够很好地满足各种不同应用需求。
(3)内核免费且有技术支持。MQX内核完全免费,开放源码,成本低,软件资源丰富。
(4)开发工具成熟、外设驱动丰富。
(5)性价比高。
3、硬件说明:
LED:LED1的外接引脚为PTB6,LED2的外接引脚为PTB7,LED3的外接引脚为PTB8,LED4的外接引脚为PTB9。
ADC:因外接引脚较多,ADC0模块的14通道为PTC0,ADC1模块的17通道为PTA17,K60芯片温度传感器内接ADC0模块的26通道。
RTC:要使RTC模块能够正确运行,首先要把K60_C型板反面上的32.768kHz晶振旁边的R8电阻去掉。
Flash:在默认情况下,程序中有关 Flash读写操作的 Flash区域是在 Flash的块0的最后若干字节,使用的长度取决于 Flash模块的帧数据内容。 Flash分为块0和块1,均为256KB,块0的范围是00x0003FFFF。
UART:发送引脚为PTE24,接收引脚为PTE25。
各任务的主要功能介绍
1、主任务(task_main):完成全局变量初始化(如轻量级信号量)、外设初始化、创建其他任务、安装用户ISR。
2、LED任务(task_run_LED)主要功能是用以控制K60-C板上的4盏LED灯。首先解析发给LED模块的帧命令,控制K60-C板上的4盏LED灯的某一盏。本任务中运用了轻量级日志,先将这6个32位的数据逐一写入一则日志条目中,再从该日志中将数据读取出来放入一个局部变量的数组中,最后将数据放入轻量级发送消息队列中。
3、解帧任务(task_decode):将由串口4接收到的完整帧数
文档评论(0)