资源描述:
《UCOSII在STM32中的移植的》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、哈尔滨工业大学本科毕业设计(论文)μC/OS-Ⅱ在STM32中的移植摘要近些年来,数字化技术高速发展,嵌入式产品已经出现在我们生活中的方方面面。嵌入式操作系统又作为嵌入产品的基石,在产业发展过程中扮演了越来越不可替代的角色。本文主要研究了嵌入式操作系统中应用较为广泛的、源代码开放的μC/OS-II在STM32芯片上的移植。本文首先分析了μC/OS-II实时系统的内核结构,介绍了μC/OS-II的中的任务、事件等基本概念以及μC/OS-II对任务和事件的基本操作。随后介绍了本次移植用到的STM32F103系列微处理器并简
2、要描述了该微处理器内核Cortex-M3的结构和编程模型以及部分本次移植用到的STM32F013系列微处理器的外设。然后在此基础上分析了μC/OS-II在STM32F103系列芯片上的移植,并详细地介绍了μC/OS-II需要移植的各个部分代码的结构及其编写。最后,在IAR编译环境下,应用STM32F103微处理器芯片上的部分外设,实现串口通信、CAN总线回环测试、流水灯、LCD显示任务,这些任务在系统的调度下自动切换、不断地运行。这些代码都在万利EK-STM32和DK-STM32开发板上完成了测试工作。测试所得到的现象
3、就是串口在不断发送和接收、LED在不停地闪烁、CAN回环测试时刻在运行、LCD上显示的内容则根据这些任务运行的信息一直在更新。这些也就反应了μC/OS-II的多任务特性,因而也证明了此次移植是成功的。关键词:μC/OS-II移植;STM32;串行通讯;CAN总线--I哈尔滨工业大学本科毕业设计(论文)μC/OS-ⅡPORTEDTOSTM32AbstractNowadayswiththerapiddevelopmentofdigitaltechnology,embeddedproductshaveappearedinev
4、eryaspectofourlives.Embeddedoperatingsystem,whichisthebasisofembeddedproducts,playsanincreasinglyirreplaceablerole.Inthispaper,anembeddedoperatingsystem,μC/OS-II,whichisopensourceandwidelyusedwillbeintroduced,andthenthepresentationoftheportofμC/OS-IItochipSTM32F
5、103willbeshown.Thispaperatfirstanalyzesthestructureofthekernelofthereal-timesystem,μC/OS-IIandthenintroducessomebasicconceptofμC/OS-IIsuchastask,eventetc.,andtheoperationofthem.Afterthis,themicroprocessorSTM32F103serials,anditsperipherals,whichareusedintheportex
6、periment,willbedescribed,andthestructureandprogrammer‘smodelofitsCortex–M3kernelwillbeintroducedbrieflytoo.Thenonthisbasis,introducetheportofμC/OS-IIinSTM32F103serialchips;thepartofCPU-relatedcodewhichneedstobemodifiedwillbedescribedatlength.Finally,inIARenviron
7、mentandwiththeapplicationofpartsofSTM32F103peripherals,thetasksofUART,CANloopback,ledflickerandLCDdisplaywillberealized.ThesetasksarescheduledbytheOSautomaticallyandrunningallthetime.what’smore,thecodehaspassedtestonManley’sED(DK)-STM32board.Fromthephenomenaweca
8、nseethatUARTtransferringandreceivinguninterruptedly,theLEDsareflickeringwithoutstop,thetaskofCANloopbackrunningallthetimeandLCDdisplayupdatingallthewhile.Allofthesere