嵌入式系统设计课程设计

合集下载

嵌入式课程设计

嵌入式课程设计

嵌入式课程设计一、课程目标知识目标:1. 理解嵌入式系统的基本概念,掌握其组成、原理和应用领域;2. 学习嵌入式编程的基本语法和技巧,能够阅读和分析简单的嵌入式程序;3. 了解嵌入式系统在不同行业中的应用案例,理解其对社会发展的意义。

技能目标:1. 能够运用所学知识设计简单的嵌入式系统电路,并进行调试;2. 掌握使用至少一种嵌入式编程语言进行程序设计,实现基本功能;3. 学会使用嵌入式系统的调试工具,具备初步的问题分析和解决能力。

情感态度价值观目标:1. 培养学生对嵌入式系统的兴趣,激发其探索精神和创新意识;2. 增强学生的团队合作意识,培养其在嵌入式项目中的沟通和协作能力;3. 引导学生关注嵌入式技术在国家战略和社会发展中的作用,树立正确的价值观。

课程性质:本课程为嵌入式系统入门课程,结合学生年级特点和教学要求,注重理论与实践相结合,强调知识的应用性和实践性。

学生特点:学生处于初中阶段,具有一定的电子技术和计算机基础,好奇心强,喜欢动手实践。

教学要求:通过本课程的学习,使学生掌握嵌入式系统的基础知识,培养其编程和动手能力,提高学生在实际项目中解决问题的能力。

同时,注重培养学生的团队合作精神和正确的价值观。

课程目标分解为具体学习成果,以便于教学设计和评估。

二、教学内容1. 嵌入式系统概述- 嵌入式系统的定义与组成- 嵌入式系统的应用领域及发展趋势2. 嵌入式系统硬件基础- 微控制器原理与结构- 常用传感器及其接口技术- 嵌入式系统电路设计基础3. 嵌入式编程语言- C语言基础及其在嵌入式系统中的应用- 汇编语言基础- 嵌入式编程技巧及编程规范4. 嵌入式系统软件开发- 嵌入式系统软件开发流程- 常用开发工具及环境配置- 调试与优化方法5. 嵌入式系统应用案例- 智能家居系统设计- 物联网应用案例分析- 嵌入式系统在机器人领域的应用6. 课程项目实践- 项目需求分析- 硬件电路设计与调试- 软件编程与功能实现- 项目展示与总结教学内容安排与进度:第一周:嵌入式系统概述第二周:嵌入式系统硬件基础第三周:嵌入式编程语言第四周:嵌入式系统软件开发第五周:嵌入式系统应用案例第六周:课程项目实践本教学内容根据课程目标,结合课本内容进行科学性和系统性地组织,注重理论与实践相结合,以培养学生的嵌入式系统设计与开发能力。

电子信息工程专业嵌入式系统设计课程的优秀教案范本

电子信息工程专业嵌入式系统设计课程的优秀教案范本

电子信息工程专业嵌入式系统设计课程的优秀教案范本一、引言在当今数字时代,嵌入式系统设计变得越来越重要。

作为电子信息工程专业的学生,掌握嵌入式系统设计的知识和技能至关重要。

本教案旨在通过精心设计的课程内容和教学方法,帮助学生全面理解和掌握嵌入式系统设计的基本概念和实践技巧。

二、课程目标本课程的目标是让学生:1. 理解嵌入式系统设计的基本概念和原理;2. 学会使用主流的嵌入式开发平台和工具;3. 掌握嵌入式系统设计中的常用编程语言和算法;4. 能够独立设计、实现和调试简单的嵌入式系统。

三、教学内容和安排1. 嵌入式系统设计概述- 嵌入式系统的定义和特点- 嵌入式系统的应用领域和发展趋势- 嵌入式系统设计流程和方法2. 嵌入式硬件平台和工具- 常用的嵌入式硬件平台介绍(例如Arduino、Raspberry Pi等) - 嵌入式系统设计所需的硬件组件和接口- 嵌入式系统开发工具和集成开发环境(IDE)的使用3. 嵌入式软件开发基础- 嵌入式系统的基本软件架构- 常用嵌入式操作系统和实时操作系统的介绍- 嵌入式系统编程语言(例如C、C++)的基础知识4. 嵌入式系统设计实践- 基于硬件平台的嵌入式系统设计案例分析- 嵌入式系统的硬件和软件设计与调试流程演示- 学生进行小组项目实践,完成一个简单的嵌入式系统设计任务四、教学方法和教学资源1. 授课方式:- 理论授课结合实例分析,深入浅出地讲解嵌入式系统设计的基本概念和原理;- 实践操作,通过演示和示范实现嵌入式系统设计的过程,引导学生掌握实践技巧;- 小组活动和讨论,培养学生的团队合作和问题解决能力。

2. 教学资源:- 提供教材和参考书籍,包括嵌入式系统设计的基础知识和案例分析;- 提供在线学习平台,供学生自主学习和讨论;- 提供实验室设备和软件工具,支持学生进行实践操作和项目设计。

五、评估方式和考核要求1. 平时表现:学生参与课堂讨论,完成作业和实验报告。

嵌入式简单课程设计教案

嵌入式简单课程设计教案

嵌入式简单课程设计教案一、课程目标知识目标:1. 理解嵌入式系统的基本概念,掌握其组成和功能。

2. 学习嵌入式编程的基本语法和常用指令。

3. 了解嵌入式系统的应用领域和发展趋势。

技能目标:1. 能够使用嵌入式开发环境,进行简单的程序编写和调试。

2. 学会使用嵌入式系统的输入输出接口,实现基本的功能控制。

3. 培养学生动手操作、问题解决和团队协作的能力。

情感态度价值观目标:1. 培养学生对嵌入式系统的兴趣,激发其探索精神和创新意识。

2. 增强学生的责任心和自信心,使其在嵌入式学习过程中保持积极态度。

3. 培养学生遵守实验规程,养成良好的实验习惯,注重团队合作。

课程性质:本课程为实践性较强的学科,结合理论教学和实验操作,培养学生对嵌入式系统的认识和实际操作能力。

学生特点:六年级学生,具备一定的计算机基础,好奇心强,喜欢动手实践,但注意力集中时间较短。

教学要求:注重理论与实践相结合,以学生为主体,引导他们主动探索、实践,提高解决问题的能力。

将课程目标分解为具体的学习成果,以便在教学过程中进行有效评估。

二、教学内容1. 嵌入式系统基本概念:介绍嵌入式系统的定义、组成、特点和应用领域,对应教材第一章内容。

2. 嵌入式编程基础:讲解嵌入式编程的基本语法、数据类型、运算符和常用指令,对应教材第二章内容。

3. 嵌入式系统开发环境:介绍嵌入式开发环境搭建、编译器使用和程序下载,对应教材第三章内容。

4. 嵌入式系统输入输出接口:学习嵌入式系统的GPIO、中断、定时器等接口的使用,对应教材第四章内容。

5. 嵌入式系统应用实例:分析典型的嵌入式系统应用案例,如温度控制、智能家居等,对应教材第五章内容。

教学安排和进度:第一周:嵌入式系统基本概念第二周:嵌入式编程基础第三周:嵌入式系统开发环境第四周:嵌入式系统输入输出接口第五周:嵌入式系统应用实例及实验操作教学内容注重科学性和系统性,结合教材章节安排,确保学生能够逐步掌握嵌入式系统的相关知识。

嵌入式系统课程设计报告

嵌入式系统课程设计报告

嵌入式系统课程设计报告一、教学目标本课程的教学目标是使学生掌握嵌入式系统的基本概念、原理和设计方法,能够运用嵌入式系统进行实际项目的开发和实现。

具体来说,知识目标包括了解嵌入式系统的定义、特点、分类和应用领域;掌握嵌入式系统的硬件和软件组成及工作原理;熟悉嵌入式操作系统的基本概念和常用操作系统。

技能目标包括能够使用嵌入式系统开发工具和平台进行程序设计和调试;具备嵌入式系统硬件电路的设计和调试能力;能够运用嵌入式系统进行实际项目的开发和实现。

情感态度价值观目标包括培养学生的创新意识和团队合作精神,提高学生解决实际问题的能力和责任感。

二、教学内容根据课程目标,本课程的教学内容主要包括嵌入式系统的基本概念、原理和设计方法。

具体包括以下几个方面:1. 嵌入式系统的定义、特点、分类和应用领域;2. 嵌入式系统的硬件组成,如处理器、存储器、输入输出接口等;3. 嵌入式系统的软件组成,如固件、操作系统、应用程序等;4. 嵌入式操作系统的基本概念和常用操作系统;5. 嵌入式系统的设计方法和开发流程;6. 嵌入式系统硬件电路的设计和调试方法;7. 嵌入式系统在实际项目中的应用和案例分析。

三、教学方法为了实现课程目标,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

通过多样化的教学方法,激发学生的学习兴趣和主动性。

具体教学方法如下:1. 讲授法:通过讲解嵌入式系统的基本概念、原理和设计方法,使学生掌握相关知识;2. 讨论法:通过分组讨论和课堂讨论,培养学生的思考能力和团队合作精神;3. 案例分析法:通过分析实际项目案例,使学生了解嵌入式系统在实际中的应用和设计方法;4. 实验法:通过实验操作和调试,锻炼学生的动手能力和实际问题解决能力。

四、教学资源为了支持教学内容和教学方法的实施,本课程将选择和准备以下教学资源:1.教材:选用权威、实用的嵌入式系统教材,为学生提供系统的学习资料;2. 参考书:推荐学生阅读相关参考书籍,丰富学生的知识体系;3. 多媒体资料:制作课件、教案等多媒体教学资料,提高课堂教学效果;4. 实验设备:准备嵌入式系统开发板、仿真器等实验设备,为学生提供实践操作的机会。

嵌入式开发系统课程设计

嵌入式开发系统课程设计

嵌入式开发系统课程设计一、课程目标知识目标:1. 理解嵌入式系统的基本概念、组成和分类;2. 掌握嵌入式开发环境搭建及编程基础;3. 学习嵌入式系统设计与实现的基本方法;4. 了解嵌入式系统在实际应用中的发展及其在各领域的应用。

技能目标:1. 能够独立搭建嵌入式开发环境,进行基本的程序编写和调试;2. 学会使用常见的嵌入式系统设计工具和软件;3. 掌握嵌入式系统硬件与软件的协同设计方法;4. 能够运用所学知识解决实际问题,完成一个小型嵌入式项目的设计与实现。

情感态度价值观目标:1. 培养学生对嵌入式系统开发的兴趣,激发其探究精神和创新意识;2. 培养学生的团队协作和沟通能力,使其能够在项目实践中相互学习、共同进步;3. 增强学生的社会责任感,使其认识到嵌入式技术在国家战略和民生领域的重大意义;4. 引导学生树立正确的价值观,关注技术发展对社会和环境的影响,培养其良好的职业道德。

二、教学内容1. 嵌入式系统概述:介绍嵌入式系统的基本概念、发展历程、特点及应用领域,对应教材第一章内容。

- 嵌入式系统定义与分类- 嵌入式系统的历史与发展趋势- 嵌入式系统的应用领域2. 嵌入式系统硬件平台:讲解嵌入式硬件系统的组成、结构与原理,对应教材第二章内容。

- 嵌入式处理器- 存储器与I/O接口- 嵌入式系统硬件设计方法3. 嵌入式系统软件平台:介绍嵌入式操作系统、编程语言及软件开发工具,对应教材第三章内容。

- 嵌入式操作系统原理与应用- 嵌入式编程语言(C、汇编等)- 软件开发工具与调试方法4. 嵌入式系统设计与实现:阐述嵌入式系统设计与实现的方法与步骤,对应教材第四章内容。

- 系统需求分析- 硬件与软件协同设计- 系统测试与优化5. 嵌入式项目实践:结合实际案例,让学生动手实践嵌入式项目设计与开发,对应教材第五章内容。

- 项目选题与需求分析- 硬件系统设计与搭建- 软件编程与调试- 系统测试与总结教学内容安排与进度根据学生实际情况进行调整,确保学生能够循序渐进地掌握嵌入式系统的基本知识和技能。

嵌入式系统stm32课程设计

嵌入式系统stm32课程设计

嵌入式系统stm32课程设计一、课程目标知识目标:1. 理解嵌入式系统基本概念,掌握STM32的硬件结构和编程环境。

2. 学会使用C语言进行STM32程序设计,理解中断、定时器等基本原理和应用。

3. 掌握嵌入式系统外围设备的使用,如LED、按键、串口等,并能进行简单的系统集成。

技能目标:1. 能够运用所学知识,设计并实现具有实际功能的嵌入式系统项目。

2. 培养学生的动手实践能力,提高问题解决能力和程序调试技巧。

3. 增强团队协作能力,通过项目实践,学会分工合作和沟通交流。

情感态度价值观目标:1. 培养学生对嵌入式系统的兴趣,激发学习热情,形成自主学习的习惯。

2. 树立正确的工程观念,注重实际应用,关注技术发展,提高创新意识。

3. 培养学生的责任心,使其认识到所学知识对社会和国家的贡献,树立远大理想。

课程性质:本课程为实践性较强的课程,结合理论知识和实际操作,培养学生的嵌入式系统设计能力。

学生特点:学生具备一定的电子技术基础和编程能力,对嵌入式系统有一定了解,但缺乏实际项目经验。

教学要求:结合课程特点和学生学习情况,注重理论与实践相结合,通过项目驱动,引导学生主动探究,提高解决问题的能力。

将课程目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. 嵌入式系统概述- 嵌入式系统的定义、特点与应用领域- STM32微控制器简介2. STM32硬件结构与编程环境- STM32的内部结构、外设接口- Keil MDK集成开发环境的使用3. STM32编程基础- C语言基础回顾- STM32程序框架与编译过程- 中断、定时器等基本原理及应用4. 外围设备使用- LED、按键、串口等外设的原理与编程- ADC、PWM等模拟外设的使用5. 嵌入式系统项目实践- 设计并实现具有实际功能的嵌入式系统项目- 项目分析与需求分析- 硬件电路设计与软件编程6. 课程总结与拓展- 课程知识梳理与巩固- 探讨嵌入式系统发展趋势与前沿技术教学内容安排与进度:第1-2周:嵌入式系统概述、STM32硬件结构与编程环境第3-4周:STM32编程基础第5-6周:外围设备使用第7-8周:嵌入式系统项目实践第9-10周:课程总结与拓展教学内容与教材关联性:本教学内容紧密结合教材,按照教材章节顺序进行教学,确保学生能够系统地掌握嵌入式系统STM32的知识点和技能。

嵌入式系统课课程设计

嵌入式系统课课程设计

嵌入式系统课课程设计一、教学目标本课程的教学目标是让学生掌握嵌入式系统的基本概念、原理和应用,培养学生运用嵌入式系统解决实际问题的能力。

具体分为以下三个部分:1.知识目标:(1)了解嵌入式系统的基本概念、特点和分类;(2)掌握嵌入式处理器、外围设备及其接口技术;(3)熟悉嵌入式操作系统的基本原理和常用操作系统;(4)了解嵌入式系统的设计方法和开发流程。

2.技能目标:(1)能够使用嵌入式处理器和外围设备搭建简单的嵌入式系统;(2)能够编写嵌入式系统的基本程序,实现常见的功能;(3)具备嵌入式操作系统的基本编程能力;(4)能够运用嵌入式系统解决实际问题,开展创新设计。

3.情感态度价值观目标:(1)培养学生对嵌入式系统的兴趣,激发学习热情;(2)培养学生团队合作精神,提高沟通与协作能力;(3)培养学生创新意识,培育勇于探索的精神;(4)培养学生责任感,强化安全意识。

二、教学内容本课程的教学内容主要包括以下几个部分:1.嵌入式系统概述:嵌入式系统的概念、特点、分类和应用领域;2.嵌入式处理器:嵌入式处理器的结构、工作原理和性能评估;3.嵌入式外围设备:存储器、输入输出接口、定时器等;4.嵌入式操作系统:嵌入式操作系统的原理、结构和常用操作系统;5.嵌入式系统设计方法:需求分析、系统架构设计、软件设计等;6.嵌入式系统开发流程:项目立项、系统设计、编程调试、测试等;7.嵌入式系统应用案例:常见嵌入式系统的应用案例分析。

三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:通过讲解嵌入式系统的基本概念、原理和应用,使学生掌握相关知识;2.讨论法:学生针对嵌入式系统的某个主题进行讨论,提高学生的思考和表达能力;3.案例分析法:分析实际案例,使学生了解嵌入式系统在实际应用中的工作原理和设计方法;4.实验法:让学生动手搭建嵌入式系统,亲身体验嵌入式程序的编写和调试过程。

四、教学资源本课程的教学资源包括:1.教材:选用国内权威、实用的嵌入式系统教材;2.参考书:提供相关的嵌入式系统著作,供学生拓展阅读;3.多媒体资料:制作课件、教学视频等,丰富教学手段;4.实验设备:提供嵌入式系统实验平台,让学生动手实践。

嵌入式课程设计

嵌入式课程设计

嵌入式 课程设计一、课程目标知识目标:1. 理解嵌入式系统的基础概念,掌握其组成、工作原理和应用领域;2. 学习嵌入式编程的基本语法和技巧,能独立编写简单的嵌入式程序;3. 了解嵌入式系统的设计与开发流程,掌握基本的硬件调试和软件优化方法。

技能目标:1. 培养学生运用所学知识解决实际问题的能力,能针对特定需求设计简单的嵌入式系统;2. 提高学生的编程实践能力,熟练使用嵌入式开发工具和调试设备;3. 培养学生的团队协作能力,通过项目实践,学会与他人共同分析和解决问题的方法。

情感态度价值观目标:1. 激发学生对嵌入式系统的兴趣,培养其探究精神和创新意识;2. 培养学生严谨、细致的学习态度,养成认真负责的工作作风;3. 强化学生的国家意识,使其认识到嵌入式技术在国家战略和经济社会发展中的重要性。

本课程针对高年级学生,结合学科特点和教学要求,旨在通过理论教学与实践操作相结合的方式,使学生在掌握嵌入式系统基本知识的基础上,提高实际应用能力。

课程目标具体、可衡量,以便学生和教师能够清晰地了解课程的预期成果,并为后续的教学设计和评估提供依据。

二、教学内容1. 嵌入式系统概述:介绍嵌入式系统的定义、发展历程、应用领域及发展趋势;教材章节:第一章 嵌入式系统概述2. 嵌入式硬件基础:讲解嵌入式系统的硬件组成、常见微控制器、外围设备及其接口技术;教材章节:第二章 嵌入式硬件基础3. 嵌入式编程基础:学习嵌入式编程语言(如C语言)、编程规范和技巧;教材章节:第三章 嵌入式编程基础4. 嵌入式系统设计与开发:介绍嵌入式系统的设计流程、开发环境、调试方法;教材章节:第四章 嵌入式系统设计与开发5. 嵌入式系统实例分析:分析典型嵌入式系统的结构和功能,进行实际案例讲解;教材章节:第五章 嵌入式系统实例分析6. 嵌入式系统项目实践:组织学生进行小组项目实践,培养实际应用能力和团队协作精神;教材章节:第六章 嵌入式系统项目实践教学内容安排和进度:第1周:嵌入式系统概述第2-3周:嵌入式硬件基础第4-5周:嵌入式编程基础第6-7周:嵌入式系统设计与开发第8-9周:嵌入式系统实例分析第10-12周:嵌入式系统项目实践教学内容根据课程目标制定,具有科学性和系统性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电气与电子信息工程学院嵌入式系统设计课程设计设计题目:基于AT89S52单片机的游戏机嵌入式系统设计与制作专业班级:电子信息工程2008级(2)班学号:200840210212姓名:童俊指导教师:邓彬伟李玉平设计时间:2011/11/14~2011/12/2设计地点:K2自动化综合实验室嵌入式系统设计课程设计成绩评定表指导教师签字:2010年12 月20 日课程设计任务书2011 ~2012 学年第 1 学期学生姓名:林忠航专业班级: 08电信本1、2 指导教师:邓彬伟、李玉平工作部门:电信教研室一、课程设计题目嵌入式系统设计课程设计二、课程设计目的为了提高嵌入式系统设计与实际的应用能力,开始为期三周的嵌入式系统设计课程设计。

通过实训使学生在巩固所学单片机知识的基础之进一步把其与μC/OS-II操作系统的移植结合起来,增强学生对所学知识的实际应用能力和以及与当前专业的前沿知识结合,达到对μC/OS-II操作系统的学习和理解,为以后从事嵌入式工作的研究和开发打好基础。

三、课程设计内容设计基于51单片机的嵌入式系统,把μC/OS-II操作系统移植到51单片机上,能完成基本的输入和输出,输入采用4*4的键盘,输出采用1602液晶。

再此基础之上,每个同学根据自己的特长扩展应用系统,具体可参考以下五种扩展方案的实现。

1、设计的游戏机,在游戏机工作时有背景音乐放出。

2、设计的是电子琴以及1602液晶显示。

3、设计的流水灯、蜂鸣器、闪烁灯任务。

,4、设计的流水灯和电子书功能。

5、(1)所有灯灭,(2)1602显示 93)LED灯闪烁,显示字符。

五、基本要求1、设计基于51单片机的输入和输出电路。

2、用4×4的键盘作为输入设备。

3、用LED或LCD进行显示。

4、开发μC/OS-II操作系统的移植代码。

5、对系统的进行综合和调试,通过硬件指示移植成功的标志。

6、在此嵌入式系统上,除过能完成最基本的输入和显示以外,每个同学根据自己的特长开发出应用系统。

7、编写课程设计的总结.六、设计报告课程设计报告的基本内容至少包括封面、正文、附录三部分。

课程设计报告要求统一格式,字体工整规范。

1、封面封面包括“《嵌入式系统设计》课程设计报告”、班级、姓名、学号以及完成日期等。

2、正文正文是实践设计报告的主体,具体由以下几部分组成:七、考核方式与成绩评定办法备注:成绩等级:优(90分~100分)、良(80分~89分)、中(70分~79分)、及格(60分~69分)、60分以下为不及格。

八、参考书目[1] Jean J Labrosse.嵌入式实时操作系统μC/OS-II[M].邵贝贝译.北京:北京航空航天大学出版社,2003.[2] 任哲.嵌入式实时操作系统μC/OS-II原理及应用[M].北京:北京航空航天大学出版社,2003.[3] 沈睿. μC/OS-Ⅱ在DSP2407 上若干移植问题的研究[J].中国水运,2007,5(5)::43-44.[4] 马忠梅编著.单片机的C语言应用程序设计[M].北京:北京航空航天出版社,2OO3.[5] 徐灵伟,刘飞.基于μC/OS-Ⅱ的嵌入式中断实现与扩展[C].北京:中国控制与决策学会,2007 :999-1002教研室主任签名:年月日基于μC/OS-II的贪食蛇游戏设计一、μC/OS-II实时操作系统简介μC/OS-是一种免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统。

多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU 时间,并且负责任务之间的通讯。

内核提供的基本服务是任务切换。

μC/OS-II可以管理多达64个任务。

由于它的作者占用和保留了8个任务,所以留给用户应用程序最多可有56个任务。

赋予各个任务的优先级必须是不相同的。

这意味着μC/OS-II不支持时间片轮转调度法(round-robin scheduli ng)。

μC/OS-II为每个任务设置独立的堆栈空间,可以快速实现任务切换。

μC/OS-II 近似地每时每刻总是让优先级最高的就绪任务处于运行状态,为了保证这一点,它在调用系统API 函数、中断结束、定时中断结束时总是执行调度算法,μC/OS-II通过事先计算好数据简化了运算量,通过精心设计就绪表结构使得延时可预知。

二、uC/OS-II在51单片机上的移植1. uC/OS-II简介uC/OS-II并非一个完备的实时操作体系,它只是一个实时内核。

uC/OS-II 不像其它实时操作体系一样,提提供用户的是一个尺度的API函数,步伐开发职员使用操作体系提供的API函数举行应用步伐的开发。

要想在uC/OS-II内核上举行应用步伐的开发,就需要步伐开发职员在实时内核的基础上创建自己的实时操作体系。

首先,把uC/OS-II移植到自己的硬件目的板上,写出相应的驱动步伐以及用户图形界面等等;在这些接口函数之上,加上用户自己的应用步伐,就组成了嵌入式软件。

2. uC\os-II在MCS-51上的移植虽然μC/OS-II大部分源代码是用C语言写的,但是完成和处理器一些有关的代码时,照旧必须要用汇编语言来实现的。

要使uC\OS-II正常运行,必须满足一下要求:(1)处理器的C编译器能产生可重入型代码。

(2)用C语言就可以打开和关闭中断。

(3)处理器支持中断,并且能产生定时中断(通常频率在10至100Hz之间)。

(4)处理器能支持容纳一定量的数据存储硬件堆栈(可能是几千字节)。

(5)处理器有将堆栈指针和其他CPU寄存器的内容读出并存储到堆栈或内存中的指令。

MCS-51与KeilCx51编译器可以满足以上条件,可以将uC\OS-II移植到MCS-51系列处理器。

需要说明一点,目前uC\OS-II的版本较多,但基本都一致,兼容性也很好,本例采用的是uC\OS-II V2.52版。

μC/OS-II的移植包括以下几个部分。

(1)设置与编译器有关的代码[OS_CPU.H]在差异的处理器中有差异的字长,所以必须界说一系列数据范例以确保移植的准确性。

另外,在uC/OS-II中,不使用C的short、int和long等数据范例,这些都是和编译器相干的。

下面即是uC/OS-II界说的一部分数据范例。

typedef unsigned char BOOLEAN;typedef unsigned char INT8U; /*无标志8位整数*/typedef signed char INT8S; /*有标志8位整数*/typedef unsigned int INT16U; /*无标志16位整数*/typedef signed int INT16S; /*有标志16位整数*/typedef unsigned long INT32U; /*无标志32位整数*/typedef signed long INT32S; /*有标志32位整数*/typedef float FP32; /*单精度浮点数*/typedef double FP64; /*双精度浮点数*/首先来看对临界段的处理,就是关中断,处理完毕后在开中断。

uC\OS-II 提供了3种方法来处理,针对MCS-51单片机,可以使用方法1来处理临界段。

在MCS-51系列单片机中,中断允许寄存器IE的第7位EA为中断允许控制为,EA=0屏蔽所有中断、EA=1允许所有中断。

MCS-51堆栈从低地址往高地址增长(1=向下,0=向上),因此将OS_STK_GROWTH定义为0。

OS_TASK_SW()是一个宏,在uC\OS-II从低优先级任务切换到高优先级任务是被调用。

uC\OS-II假定任务切换时靠中断级代码完成的,或者说uC\OS-II的任务切换时靠模仿中断动作来完成的。

uC\OS-II需要一条处理器指令,使其行为就像是硬件中断。

MCS-51没有软中断指令,在这种情况下,需要将堆栈结构设置成与中断堆栈结构一样,在用函数调用的方式来实现任务切换,也就是说,通过函数来模仿软中断指令。

(2)用C语言编写6个与操作体系有关的函数[OS_CPU_C.C]这10个函数是:OSTaskStkInit()、OSTaskCreatHook()、OSTaskDelHook()、OSTaskSwHook ()、OSTaskStatHook()、OSTaskIdleHook()、OSTimeTickHook()、OSInitHookBegin()、OSInitHookEnd()和OSTCBInitHook()。

这10个函数只对OSTaskStkInit()编写代码,后9个函数必须声明,但是内部并没有代码。

在对堆栈设计时需要考虑一下因素:<1>传统的8051处理器在中断来临时只将程序计数器PC的值压入堆栈。

<2>按照uC\OS-II的要求,保存全部寄存器,MCS-51的寄存器有PSW、ACC、B、DPL、DPH、R0-R7和SP。

<3>Cx51编译器允许用CPU寄存器传递3个参数。

<4>堆栈从低地址向高地址增长。

<5>堆栈指针指向上次入栈地址。

<6>MCS-51存在系统栈。

<7>系统栈深度为256字节。

因为需要进行任务栈与系统栈的复制,获得系统栈的起始地址,所以需要对系统进行一些定义。

首先,堆栈起点由Keil决定,只关心大小,然后通过SOStack 获得keil分配的SP起点。

下面的代码就是相关的汇编代码,可以放在启动代码中,也可以放在相关的文件中。

为了函数重入,形参和局部变量必须保存在堆栈里。

MCS-51硬件堆栈太小,Keil将根据内存模式在相应内存空间仿真堆栈,增长方向由上向下,与硬件栈相反。

对于大模式编译,函数返回地址保存在硬件堆栈里,形参和局部变量放在仿真堆栈中,对MCS-51咬使用大模式编译。

3. 编写4个汇编语言函数[OS_CPU_A.S]uC/OS-II的移植实例要求用户编写4个简略的汇编语言函数:OSStartHighRdy()、OSCtxSw()、OSIntCtxSw()、OSTickISR()。

表1移植所需要的具体材料及移植的参数4. 测试、编写驱动和应用步伐做完以上事情以后,就要测试移植的是否准确。

测试一个μC/OS-II实时内核并不庞大,即是让这个实时内核在自己的目的板上跑起来。

开始时,可以运行一些简略的使命和时钟节奏停止使命,如果调试乐成就可以在上面添加应用步伐。

uC/OS-II移植完成以后,就要在这个实时内核之上编写接口驱动步伐。

由于嵌入式操作体系体积更小,功效更强,且快速、稳固,更具有针对性,因此不像其它操作体系那样,对体系的全部接口配置都需要驱动、管理、调治和监视。

由于嵌入式产品是针对特别的用途而计划的,有很强的埋头性,因此,在编写驱动步伐时内容更精简,更具有稳固性,编写出的驱动模块更小。

相关文档
最新文档