转载来源:http://forum.armfly.com/forum.php?mod=viewthread&tid=16521&highlight=RTX%B2%D9%D7%F7%CF%B5%CD%B3%BD%CC%B3%CC

第3章  初学RTX操作系统准备工作

俗话说万事开头难,学习一门新的知识,往往难的不是知识本身,而是如何快速上手,需要什么资料和开发环境,一旦上手后,深入的学习相对就要容易些了。
    本章节就起到这样的作用,主要说明下初学RTX操作系统需要做的准备工作。
    3.1 开发环境
    3.2 重要说明
    3.3 RTX系统参考资料
    3.4 RTX的调试方法
    3.6 RTX调试组件功能介绍
    3.5  总结

3.1  开发环境
u IDE:MDK4.74,建议用户使用此版本操作教程配套的例子。
u 调试器使用JLINK,ULINK或者STLink均可。
u 配套开发板是安富莱STM32-V4开发板,MCU是STM32F103ZET6和STM32-V5开发板,MCU是STM32F407IGT6。

3.2   重要说明

u RTX操作系统是由KEIL公司(现在已经被并入ARM公司旗下)开发并进行升级维护的。
u 每个MDK的安装目录里面都会有一个RTX源码,对于MDK4.XX来说,大家使用的那个MDK版本,务必使用那个MDK版本下面的RTX,这样使用MDK自带的RTX调试组件时,才能显示正确的调试信息。
u 当前STM32F103和STM32F407开发板使用的RTX源码是MDK4.74里面的,KEIL官方已经放弃MDK4系列的更新了,这个版本号是MDK4系列里面最新版本了。如果需要使用MDK自带的RTX调试组件显示信息,请务必使用MDK4.74。
u 对于MDK5.XX,RTX也在其安装目录里面,但是RTX已经不作为单独版本发布了,它有一个全新的名字叫CMSIS-RTOS RTX。ARM官方在RTX的基础上给RTX又做了一层封装。

3.3   RTX系统参考资料

学习RTX主要有两个可以参考的资料:
u KEIL MDK安装目录里面的rlarm.chm文件。
u KEIL官网上在线查看。
    当然,两者的内容是一样的。其实不光RTX操作系统是这样,像FreeRTOS和uCOS现在也是这种形式,一个离线方式的电子手册和一个在线的手册。
    rlarm.chm文件在MDK4.74的安装目录C:\Keil_v474\ARM\Hlp里面,下图3.1就是打开后的效果

图3.1 RTX手册

官网的在线查看方式在地址:http://www.keil.com/support/man/docs/rlarm/rlarm_ar_artxarm.htm。下图3.2就是打开后的效果(部分截图):

图3.2 RTX手册在线查看

等RTX操作系统入门后,主要看这两个手册即可,基本可以解决大部分问题。

3.4  RTX的调试方法

MDK(以MDK4.74为例)中自带RTX的调试组件,本小节就给大家介绍下如何使用RTX的调试组件。首先将基于RTX的MDK工程进行全编译,然后进行软件仿真或者硬件仿真,因为只有在仿真状态下才可以使用RTX的调试组件。下面是详细的设置步骤:
u 第1步:进行MDK工程全编译
u 第2步:点击MDK的这个图标
                           

u 第3步:进入调试状态后,选择如下选项System and Viewer
                         

选择后,可以看到右侧弹出如下窗口:
                         

u 第4步:选择如下选项Event Viewer
                               

选择后,可以看到右侧弹出如下窗口:
                            

u 第5步:使能调试状态下的窗口周期性更新功能
                                          

u 第6步:这里就是最后一步了,点击RUN图标:
                                          

点击运行后,可以看到窗口System and Viewer在不断的刷新RTX多任务的执行情况,
                                                 

而窗口Event Viewer上面没有数据更新,这是因为需要配置Serial WireViewer(简称SWV),SWV仅在调试接口使用SW模式的时候才可以工作,调试接口使用JTAG模式是无法工作的。JTAG和SW的切换可以在MDK的下图所示位置进行设置:

图3.3MDK设置

图3.4JTAG和SW接口在MDK中的切换位置

另外配置SWV模式需要使用到STM32的SWO引脚,本教程配套的STM32F103和STM32F407开发板的调试接口没有使用SWO引脚,所以关于Event Viewer功能就不做过多介绍了。
    重要说明:实际测试MDK4.74使用Event Viewer有bug,这部分就不作为教程内容了,详情请看帖子:http://forum.armfly.com/forum.php?mod=viewthread&tid=14879。
l JTAG接口和SWD接口区别

下图分别是20pin的标准JTAG引脚和SWD( SerialWire Debug)引脚,一般SWD接口仅需要Vref,SWDIO,SWCLK,RESET和GND五个引脚即可,SWO(Serial Wire Output)引脚是可选的。有了SWO引脚才可以实现数据从芯片到电脑端的数据发送。


l 词条 SWV(Serial Wire Viewer)

SWV是由仪器化跟踪宏单元ITM(Instrumentation Trace Macrocell)和SWO构成的。SWV实现了一种从MCU内部获取信息的低成本方案,SWO接口支持输出两种格式的跟踪数据,但是任意时刻只能使用一种。两种格式的数据编码分别是UART(串行)和Manchester(曼彻斯特)。当前JLINK仅支持UART编码,SWO引脚可以根据不同的信息发送不同的数据包。当前M3/M4可以通过SWO引脚输出以下三种信息:

1.  ITM支持printf函数的debug调用(工程需要做一下接口重定向即可)。ITM有32个通道,如果使用MDK的话,通道0用于输出调试字符或者实现printf函数,通道31用于Event Viewer,这就是为什么实现Event Viewer需要配置SWV的原因。

2.  数据观察点和跟踪DWT(Data Watchpoint and Trace)可用于变量的实时监测和PC程序计数器采样。

3.  时间戳,ITM 还附带了一个时间戳的功能:当一个新的跟踪数据包进入了 ITM 的 FIFO 时, ITM 就会把一个差分的时间戳数据包插入到跟踪数据流中。跟踪捕获设备在得到了这些时间戳后,就可以找出各跟踪数据之间的时间相关信息。另外,在时间戳计数器溢出时也会发生时间戳数据包。

3.5  RTX调试组件功能介绍

由于STM32F103开发板和STM32F407开发板没有引出SWO引脚,调试组件Event Viewer是无法使用的,这里仅介绍一下System and Viewer组件。下图3.5是System and Viewer界面。

图3.5 Systemand Viewer界面

下面是系统部分功能介绍:

u Timer Number:0表示使用芯片的滴答定时器,1表示使用外设定时器。
u Tick Timer:RTX的时钟节拍周期。
u Roud Robin Timeout:时间片溢出时间,即时间片调度时任务分配的时间片大小。
u Stack Size:任务栈大小,单位字节。
u Stack Overflow Check:设置是否支持栈溢出检测。
u Tack Usage:任务创建情况,Available表示可以创建的最大任务数,Used表示实际创建的。
u User Timers:软件定时器个数,Available表示可以创建的最大任个数,Used表示实际创建的个数。
    
    下面是任务部分功能介绍:
u ID:任务的ID标示。
u Name:任务的函数名。
u Priority:任务优先级。
u State:任务状态。
u Delay:任务延迟时间。
u Event Value:任务当前的事件标志数值。
u Event Mask:任务等待的事件标志数值。
u Stack Load:任务堆栈利用率。

3.6  总结

本章节就为大家讲解这么多,建议初学者花些时间对RTX系统的参考资料章节结构了解一下,随着以后的学习最好可以达到熟练查看这个手册的程度。

【RTX操作系统教程】第3章 初学RTX操作系统准备工作相关推荐

  1. 【STM32F407开发板用户手册】第1章   初学STM32F407的准备工作

    最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255 第1章   初学STM32F407的准备工作 俗话说万事开头难,学 ...

  2. arm rtx教程_【RTX操作系统教程】第5篇 RTX操作系统库方式移植(超级简单).pdf

    武汉安富莱电子有限公司 武汉安富莱电子有限公司 WWW.ARMFLY.COM 安富莱STM32-V4开发板RTX教程 WWW.ARMFLY.COM 安富莱STM32-V4开发板RTX教程 第5章 RT ...

  3. 第2章 初学 emWin 的准备工作及其快速上手

    以下内容转载自安富莱电子论坛:http://forum.armfly.com/forum.php?mod=viewthread&tid=24552&extra=page%3D3%26f ...

  4. 【RTX操作系统教程】第6章 RTX操作系统源码方式移植

    原文来源:http://forum.armfly.com/forum.php?mod=viewthread&tid=16616&highlight=RTX%B2%D9%D7%F7%CF ...

  5. arm rtx教程_【RTX操作系统教程】第4章 RTX操作系统介绍

    第4章 RTX操作系统介绍 本章节介绍一下RTX操作系统,让大家对RTX有一个整体的了解,Keil RTX 是免版税的确定性实时操作系统,适用于 ARM 和 Cortex-M 设备. 4.1 RTX系 ...

  6. 【RTX操作系统教程】第4章 RTX操作系统介绍

    原文来源:http://forum.armfly.com/forum.php?mod=viewthread&tid=16553&highlight=RTX%B2%D9%D7%F7%CF ...

  7. 【安富莱】RTX嵌入式操作系统教程发布,支持F103,F407和F429,含81个配套例程(2017-10-17)...

    前言说明: 1. 首先感谢大家对我们安富莱电子一年来的支持,2016年我们会再接再厉推出更好的教程. 2. 估计也有网友会问RTX的优势在那里,针对这个问题,教程中第一章分为6条专门回答了这个问题,有 ...

  8. RTX操作系统教程[00]

    官方教程地址: RTX官方教程 (下文摘自官方教程) 一.概述 该RTOS本身由一个支持循环.抢占和协作的程序线程多任务调度程序组成.以及时间和内存管理服务.其他RTOS对象支持线程间通信,包括信号触 ...

  9. linux死锁的例子,操作系统教程—Linux实例分析 孟庆昌 第8章 死锁new.ppt

    操作系统教程-Linux实例分析 孟庆昌 第8章 死锁new.ppt 第8章 死锁 8.1 概述 8.2 产生死锁的条件 8.3 死锁的预防 8.4 死锁的避免 8.5 死锁的检测与恢复 8.6 处理 ...

最新文章

  1. sqoop架构_SQOOP架构的深入介绍
  2. 玩转 JavaScript 面试:何为函数式编程?
  3. SPOJ LCS Longest Common Substring
  4. 论机智,还是国产安卓旗舰花样多,从2999到10999元,各有各的“开窍点”
  5. 用计算机写作文的好处,《用计算机写作文》教案
  6. JVM运行参数_JVM内存模型_常用内存分析工具
  7. freecodecamp_我在1个月内完成了整个freeCodeCamp课程(并记录了所有内容)
  8. int 转 const char*
  9. R语言ETL工程:分组(group_by)
  10. 毕业设计-基于stm32的校园旧物回收系统
  11. sql计算机计费系统,美萍网吧计费管理系统SQL安装教程
  12. LaTeX中的参考文献-BibTeX
  13. 【初识 JQMobile 小小总结】
  14. sql 连续两个月活跃的用户
  15. 网站服务器过载,服务器过载保护
  16. BZOJ 1062: [NOI2008]糖果雨(二维树状数组)
  17. 华硕飞行堡垒安装ubuntu一系列坑
  18. ArcGIS 地理数据库(GDB)/Tolerance/Resolution简介
  19. centos7下安装forever_CentOS7 安装和部分设置参考
  20. 2022 全球网络黑客常用攻击方法 Top10

热门文章

  1. 服务器协议密码,确定SSL服务器支持的最差/最佳协议、最弱/最强密码的最快速方法?...
  2. 狠!删库跑路!一行代码蒸发10亿人民币!
  3. 慕课网 springboot学习记录
  4. 数据堂CEO齐红威应邀出席“数据要素市场制度体系建设”专家研讨会
  5. 主生产计划(MPS)及物料需求计划(MRP)
  6. 英语2017年6月听力
  7. 2021年N1叉车司机考试APP及N1叉车司机新版试题
  8. 制作一个3D旋转相册
  9. Three.js光照贴图添加阴影(·lightMap)
  10. 曲线快捷键,色阶快捷键,曝光度,自然饱和度,色相饱和度,色彩平衡