嵌入式课程设计模式探索.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式课程设计模式探索.doc

  嵌入式课程设计模式探索 摘要:针对传统嵌入式课程设计的弊端,给出一种新的以ARM开发板为硬件基础的嵌入式课程设计方案,方案以介绍开发流程为主线,引入嵌入式实时操作系统,使学生能够从整体把握嵌入式开发流程。实践表明,以开发板为硬件基础的嵌入式课程设计,能够提高学生的开发兴趣和自主开发能力,达到嵌入式教学目标。 中国 8/vie   关键词:STM32;μC/OS-III;ARM;嵌入式开发;课程设计   中图分类号:TP338 文献标识码:A :1009-3044(2017)06-0177-02   1概述   嵌入式课程是高等院校电子和信息专业一门非常重要的课程。嵌入式技术应用规定了嵌入式这门课程应该侧重于工程性和应用性。然而目前嵌入式教学仍然处于以理论学习为主,课程设计为辅的局面。这导致了学生的实践能力得不到提升,缺乏对嵌入式课程的学习兴趣[1]。其次,现有的嵌入式课程设计多以教学试验箱为主,这类教学试验箱配备的微处理器性能低下,难以满足复杂项目的开发需求。这些缺点都限制了学生对嵌入式课程的学习热情,嵌入式教学难以达到预期效果[2]。使用开发板进行嵌入式教学将有效解决上述问题。首先,从接触硬件开始,学生有一定的开发兴趣,其次,目前市面上的教学开发板都配备了当前主流单片机,这类单片机具备卓越的处理性能和丰富的外设接口,能够设计更为复杂和实用的系统。最后,规范化的嵌入式开发流程也可以提高学生的动手能力和开发兴趣[3]。本文以远洋电子工作室出品的野火STM32开发板为例,设计一个加入嵌入式实时操作系统μC/OS-Ⅲ的课程设计,目的在于使学生能够接触当前主流的ARM芯片的结构并且学习复杂工程的基本开发流程,提高学生工程开发能力和开发兴趣。   2 开发环境介绍   硬件方面,野火开发板上的微处理器使用的是意法半导体公司的STM32F103ZET6。该处理器是Cortex-M3内核的32位微处理器,最高工作频率可达72MHz,内置512K的FLASH和64K的SRAM,11个定时器,同时具有多达13个通信接口。该开发板以总线的方式引出IO,这样的设计可以方便用户进行通信接口的外接工作,隔离跳帽设计可以方便用户进行DIY设计。开发板可以用于完成跑马灯、文件系统移植、微型实时操作系统移植等一系列复杂的实验,这些实验可以增强学生的动手能力和自主学习能力,同时培养他们对于嵌入式开发的兴趣。   软件方面,以μC/OS-Ⅲ嵌入式操作系统为开发环境。μC/OS以其开源、可裁剪、可固化、稳定性和安全性高的特点,在嵌入式领域有着极其广泛的应用,该嵌入式系统也以短小简洁而著称,适合引入嵌入式课程设计。μC/OS-Ⅲ作为μC/OS的必威体育精装版版本,较前面的版本加入了许多新的特性。比如,不再限制最大任务数目,允许相同优先级存在,加入时间片任务调度算法等。新的特性使得μC/OS-Ⅲ的功能更为强大,也方便了开发者的使用[4]。   3 μC/OS-Ⅲ在STM32上的应用   μC/OS-Ⅲ的代码量大约在6K~24K。野火STM32开发板的上512K字节FLASH和64K字节的SRAM运行μC/OS-Ⅲ是非常充足的,本次课程设计采用的是μC/OS-Ⅲ的V3.02.00版本。经过测试,该版本系统在STM32上可以可靠运行,并且非常稳定。下面将介绍课程设计的主要内容。   3.1 功能要求   根据图2所示的开发板上LED灯的硬件原理图,在给定的MDK工程中进行编程,实现以下要求:   开发板上电以后,三个绿色的LED小灯将进行间隔为200ms的闪亮,表示系统已经运行。使用PortHelper上位机软件,输入LED灯编号和长亮时间,对应的LED灯将进行定时长亮。长亮完毕后,LED灯将继续进行200ms的间隔闪亮。   3.2 设计分析   按照从下往上的原则,首先进行板级代码的编写工作,主要内容是LED的控制和串口的配置部分。之后进行应用级编程,在应用级代码中创建相应的任务,实现数据接收和长亮控制。具体编程步骤:首先编程实现板级驱动控制。然后在μC/OS-Ⅲ中建立启动任务,在启动任务中继续创建三个LED1~LED3灯的闪亮任务。上位机通过串口发送控制数据到内存中,各个LED任务通过检测内存中的数据来确定是否进行长亮和进行长亮的时间。   需要指出的是,在使用串口中断进行数据传输时,如果操作较快可能会出现数据出错的现象。鉴于此,将串口配置为DMA(Direct Memory Access)方式传输数据,这种方式可以有效提高传输速度和稳定性。   最后,为各个任务分配相应的任务优先级,分配方案如下表1所示:   3.3 编程流程   按照从下往上的编程原则首先进行板级代码编程,在MDK工程的bsp项目组中新建两个源文件和对应的头文件,这

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档