RT—Thread操作系统在STM32中移植的研究

来源 :计算机光盘软件与应用 | 被引量 : 0次 | 上传用户:hhww541
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:介绍了RT-Thread操作系统在STM32F107VC上的移植,简要说明了具体的移植过程和使用的方法,并分析了RT-Thread操作系统内核代码的各个功能,给出了移植环境的如何搭建,及编写应用程序如何修改代码的方法。最后通过一个实例成功实现RT-Thread在STM32F107VC上的移植,证明了移植是可行的。
  关键词:RT-Thread;STM32;嵌入式操作系统;Keil
  中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2012) 22-0000-02
  RT-Thread属于第二代微内核操作系统,最突出的优势就是其支持处理器平台广泛,最低要求8k ROM,4k RAM空间就可以了。STM32是基于Cortex-M3内核的处理器,也是一款性能优越的32位单片机,在工业控制方面的应用大有取代传统16位单片机之势。
  1 RT-Thread操作系统介绍
  RT-Thread主要优点是:实时、小型、可裁剪。它不仅仅是一个实时内核,也是一个功能丰富的软件平台,可以搭建POSIX环境,运行独立的应用程序,这是传统的实时操作系统所不具备的。RT-Thread具有32~256可选优先级抢占式调度,线程度不限,相同优先级线程时间片轮转调度,支持动态创建、销毁线程,任务等待可按优先级进行排队。
  RT-Thread内核大致可分为对象管理、实时调度器、线程管理、线程间通信、时钟管理、设备驱动6个部分。
  (1)对象管理(object.c):定义了对象容器的种类,包括线程、信号量、互斥量、事件、邮箱、消息队列、内存池、设备、定时器、组件。此部分主要完成各模块的创建,系统对象的初始化。
  (2)实时调度器(schedule.c):定义了优先级。该部分完成优先级的创建及调度算法的定义,对线程的初始化、创建、插入、移动进行了描述。
  (3)线程管理(thread.c):该部分完成了线程的创建、对当前线程的操作、超时线程的处理、线程的启动和推出操作。
  (4)线程间通信(ipc.c):完成通信的初始化,线程挂起,通信对象的恢复,消息的获取和删除操作。
  (5)时钟管理(clock.c,timer.c):提供线程运行所需要的时钟,包括系统时钟和定时器,有定时器的初始化、开始计时、停止计时、时间的转换。对线程同样有定时的操作。
  (6)设备驱动(device.c):对设备的初始化、发现设备、打开设备、关闭设备、读设备、写设备、对设备的控制、指示设备的运行和完成状态的操作。
  2 STM32系列處理器
  STM32具有高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。本文应用的STM32F107VC是其互联型的产品,闪存存储器有256K,64K的SRAM,以太网IEEE1588接口,2个CAN总线,2个音频级I2S。
  3 RT-Thread在STM32F107VC芯片上的移植
  本次移植是基于最新的RT—Thread 1.0.3正式版,从网站下载RT—Thread 1.0.3版本会解压得到如下文件夹:bsp、filesystem、finsh、include、libc、libcpu、net、rtgui、src。
  下面对各个文件夹里的内容进行说明:bsp里存放的是针对各个具体开发板、平台的目录;filesystem里存放的是包含了RT-Thread文件系统组件代码;finsh里存放的是包含了RT-Thread的finsh shell组件代码;include里存放的包含了RT-Thread核心的头文件;libc里存放的是面向GCC移植的小型C库;libcpu是面向各个芯片移植的代码;net包含了RT-Thread网络组件代码;rtgui包含了RT-Thread的GUI图形用户界面组件代码;src包含了RT-Thread内核核心的代码。
  移植所用软件的编译环境是集成开发编译环境为Keil MDK 4.12,下面是移植所用步骤。
  (1)打开软件建立工程。Project→New u Vision Project 保存文件到C盘文件夹目录下,芯片选择STM32F107VC,不加入系统自带的启动代码。
  (2)建立工程浏览目录,并向目录里添加库代码。在工程管理选项中,改工程名为RTthread_STM32,建立如下文件夹APP,CMSIS,SYSTEM,STM32,kernel,Stdperiph_driver,finsh,lwip。Lwip里加入lwip TCP/IP协议源文件;finsh里加入finsh shell组件代码。Stdpriph_driver里添加STM32固件库源文件,这里来自官方最新的V3.5版;kernel里加入RT-Thread内核源代码;STM32里加入基于STM32系列处理器开发的驱动代码;SYSTEM里加入系统所需的启动文件、中断向量表、核心板文件和编写的例程;CMSIS里加入core_cm3.c和system_stm32f10x.c这两个文件;最后APP里添加用户所要运行的线程文件application.c。
  (3)添加编译运行所需的文件定义。在Options for Target “RTthread_STM32”→C/C++选项里,Define一栏里加入USE_STDPERIPH_DRIVER,STM32F10X_HD,这是加入标准外设驱动,是程序在编译时寻找入口所用到的。在Include Paths一栏里加入编译器运行所需的文件路径,包括STM32固件库文件和RT-Thread内核文件和头文件。至此移植的准备工作已经完毕,可以写入应用程序进行测试了。
  4 平台应用程序测试
  5 结论
  RT-Thread是一款优秀的实时微内核操作系统,特别适合那些程序存储器和数据存储器特别小的微处理芯片。同时其在商业上免费使用,随着其的广泛应用,必然会给信息化、网络化的发展提供更大的保障,降低产品的成本,为将来的网络应用提供另一个解决方案。
  参考文献:
  [1]李宁.基于MDK的STM32处理器开发应用[M].北京:北京航天航空大学出版社,2009
  [2]张立勋.李雪伟.唐小景.STM32与LabVIEW 串行通信的设计[J].煤矿机械.2011.32(5):215-217.
  [3]陈志旺.STM32嵌入式微控制器快速上手[M].北京:电子工业出版社,2012.
  [4]RT-Thread操作系统.URL:http://www.rt-thread.org/
  [作者简介]
  朱志国(1989-),安徽淮南人,安徽理工大学电气与信息工程学院电路与系统专业研究生,研究方向:智能控制与嵌入式开发。
其他文献
针对虚拟现实领域中特殊天气、战斗等场景中需要雾、雨、云、火焰、爆炸等场景特效来提高场景逼真度与兼顾渲染实时性的问题,提出采用基于OSG的粒子系统特效。本文在分析粒子
传统的车辆检测器算法虽然简单快速,但依然存在许多误触发的问题,在此背景下,本文首先介绍了传统的Meanshift跟踪算法和Kalman跟踪算法,然后提出了解决多目标跟踪问题的结合Means
<正> 南共联盟十三大提出,南斯拉夫党和国家今后将在国际斗争中牢牢地坚持铁托制定的对外政策,同世界上所有国家发展平等合作关系,积极支持各种进步的政党和运动,努力解决世界遇到的所有问题和争端,为维护世界和平的事业做出贡献。为了加深理解这一原则立场,我们有必要对南斯拉夫党和国家的对外政策,从理论与实际、历史与现实的结合上加以分析。在当代国际共产主义运动中,南共联盟致力于建立党际平等关系南共联盟一贯坚持无产阶级政党之间的独立、自主、互不干涉内部事务和尊重各自差异的原则立场,主张在各国共产党、工人党
对于企业类型的组织来讲,工会是其重要的组成部分,一方面是职工权利得到有效保障的基础前提,另一方面也是职工生活的重要场所,可以为职工的业余生活带来丰富多彩的变化和颜色。可
单点登录技术是当前网络安全应用中的一项重要的技术,在万维网服务环境中能大大提高信息的安全度及工作效率。介绍和分析了当前两种主流单点登录协议的基本特点及实现流程,对单
目的观察瑞芬太尼复合丙泊酚用于右胸小切口房缺封堵术快通道麻醉的应激反应、血流动力学变化及术后恢复的影响。方法 22例患者,ASAI-Ⅱ级,择期行房间隔缺损封堵术,以瑞芬太
<正> 学报质量是刊物的生命,也是学报发挥其功能,推动教学和科研的发展,促进学术繁荣,为改革和经济建设服务的重要保证。因此研究学报质量问题,对于提高刊物质量具有重要的意义。本文对学报质量的分类、学报质量的评价标准、学报质量的提高问题进行探讨,以就教于同仁。
<正> 1861年2月19日,沙皇亚历山大二世颁布了“解放”农奴法令,作为俄国封建专制制度基础的农奴制度宣布“自上而下”地废除。俄国历史开始走上了一个新阶段。百多年来,关于这次改革一直是史学家们关心的问题。然而,人们只注重对农奴制经济基础方面的变革,即“解放”农奴法令的研究,以及由此而造成的俄国社会经济基础方面变迁的研究,而忽视了对这一时期俄国社会上层建筑领域种种变革的研究。事实上,在1861年废除农奴制以后,沙皇在政治、司法、行政以及文化教育等方面都作了相应的改革。在这一系列的改革
目的分析门诊患者用药咨询情况,对指导药物应用和提高药学服务提供参考。方法对2012年1月至2012年12月间来门诊咨询药物的703例患者咨询用药资料进行回顾性分析,运用统计表进
当前,医院的信息化建设飞速发展,很多中医院具备一流的网络设施和计算机设备,但是“信息孤岛”的现象却广泛存在,究其原因就是缺乏统一的信息系统标准。本文分析了中医院信息系统