zoukankan      html  css  js  c++  java
  • 第三周作业、实时操作系统µC/OS介绍及其它内容

    作业要求

    《实时控制软件设计》第三周作业

    1 阅读笔记——µC/OS

    1.1 基本介绍

    µC/OS是由Micrium公司研发的实时操作系统,以µC/OS-II或µC/OS-III为内核,附带有多种插件以实现不同的功能。这款操作系统主要面向于微处理器,如单片机、DSP等。它具有优秀的可移植性、功能可伸展性等特点,是抢占式的硬实时多任务操作系统。1

    它是以源代码的形式分发,附有相当完善的资料。开发时可以按需调整内核的体积,占用代码空间为6-24KB,以及数据空间1KB,以适用多种硬件环境。可以支持无限任务、无限优先级。系统中断时进入临界区时间极短,能用于安全要求高的产品中。2另外,Micrium还提供了多种扩展配合使用,包括有TCP/IP网络协议支持、USB通信协议支持、文件系统、图形界面等等。

    1.2 使用许可

    µC/OS是商用软件,需要按需购买许可,详见How to Buy Micrium's RTOS

    2 团队项目

    2.1 擅长和感兴趣的内容

    本人比较喜欢编写底层的内容,即用户接口任务和轨迹规范任务,有能理协调处理不同任务的通信协调等。物理引擎部分没学过,但是有兴趣试试。

    3 实时编程作业——Simple Motion

    详见Github仓库

    每次更新将及时发表在README.md上,未完成的和打算做的任务将写在同一目录下的TODO.md文件下。由于开发时是在另一条分支上进行,当功能完善后才会推送到master分支上面来,所以Github上不会有开发过程中的信息。

    最初的版本见历史提交。目前已经能基本实现轨迹规范的内容,采用了Xenomai提供的API实现任务间通信,降低代码间的耦合程度,与最初的代码有了较大差别。

    下面的内容更新至2016-12-13
    目录结构如下:

     .                                         # 根目录
    │  CMakeLists.txt                         # CMake主文件,生成文件在./build文件夹
    │  README.md                              # read me文件
    │  TODO.md                                # to-do list
    │
    └─src                                    # 源代码文件夹
        │  CMakeLists.txt                     # 子文件夹的cmake文件
        │  global_variables.cpp               # 全局变量定义、初始化函数、析构函数等
        │  main.cpp                           # 主程序入口,负责初始化任务
        │
        ├─include                            # 工程内共享头文件
        │      all_tasks.h                    # 任务头文件
        │      global_variables.h             # 全局变量声明头文件
        │      motion_types.h                 # 特殊类型(估计后期会合并到global_variables.h)
        │
        └─tasks                              # 任务文件
                command_sender.cpp             # 发送指令
                command_sender.h
                debug.cpp                      # 调试信息输出
                debug.h
                trajectory_generator.cpp       # 插值任务
                trajectory_generator.h
    

    参考文献

    [1] µC/OS Real-Time Operating System, Micrium, (https://www.micrium.com/rtos/)
    [2] Real-Time Kernel, Micrium, (https://www.micrium.com/rtos/kernels/)
    [3] Xenomai API: Native Xenomai API, Xenomai, (http://www.xenomai.org/documentation/xenomai-2.6/html/api/group__native.html), 2016-07-07

  • 相关阅读:
    ntopng网络流量实时监控
    LVS初始使用步骤
    Pycharm快捷方式
    Python之路,Day9, 进程、线程、协程篇
    Python之路,Day7
    Python 之路 Day5
    Python之路,Day6
    Python之路,Day3
    Python之路,Day2
    Python之路,Day1
  • 原文地址:https://www.cnblogs.com/passerby233/p/rtcsd_week3.html
Copyright © 2011-2022 走看看