登录
首页 » Others » μC/OS-II操作系统在STM32上的移植

μC/OS-II操作系统在STM32上的移植

于 2020-12-07 发布
0 343
下载积分: 1 下载次数: 1

代码说明:

详细介绍μC/OS-II操作系统在STM32上的移植过程,引导初学者完成基本的操作系统架构的创建。建立工程使用(我使用版)在目录下建立工程,工程名为。选一个系列的芯片,哪一个都无所谓(我选的是因为我的板子就是用这个芯片),接下来要注意的是当弹出是否拷贝启动代码到工程文件夹时要选,因为标准外设厍里已经有启动代码了。将里的顶层日录名改为,并将第一个名改为把日录下所有和文件加载到工程里的在下建立一个目录用来放置系统初始化代码。把拷贝到文件夹拷贝到文件夹中。是中断服务程序文件。是标准外设库的配置文件,对于工程中不需要的外设,可以注释掉里面的包含的头文件。这里我建议先仅留下,用到什么再打开什么,这样编译起来快一点,当然也可都留着。使用标准外设库事实上标准外设库的使用在中的节中已有说明,下面我把其中的步骤罗列一下根据所选芯片,把中的启动代码加到工程中,这一步在上面凵经做过了。在的行,根据所选芯片类型,去掉相应注释,这里我去掉行的注释(大谷量型片)去掉行的注释,启用标准外设库。在的行,根据所选芯片主频,去掉相应注释,默认注释已去掉,如果你的芯片主频是,就不用做修改了,这里我的芯片是注释去掉注释跑马灯程序现在可以使用标准外设库了,下面以一个简单的跑马灯程序说明。在日录下建立作为系统入口在下建立一个日录用来放置板级支持代码,建立代码如下:在中建立组,并将各种代码加入。在工程的选项卡的中添加选项卡中选选项卡中选选项卡选打钩,这一步大家可以根据自己手上的仿真器做不同选择。编译运行。在上的移植详解虽然目前网上凵经有不少关于在上的移植版本,包括也有官方移植版本。但这些版本具体是怎么移植出来的,又该怎么基于移植好的开发应用软件,网上介绍的并不多。这里介绍一下我的移植经历,希望对大家有所帮助。我的移植基本上是从零开始的。首先想要做好移植,有两方面的內容是必须要了解。日标芯片内核原理虽然我们移植的目标芯片是,但操作系统的移植基木是针对内核(以下简称)而言的,所以我们只需了解内核就好了。片就是内核加上各种各样的外设。怎么才能了解呢?看一本书权威指南(宋岩译,网上多的很)就好了,很多同学可能想,看完这本书移植的新鲜劲都没了,因此我把该书和移植有关的章节都刎了出来,并对其中的重点内容进行介绍,我数了数相关章节还不到页,就这点内容,总要看了吧。相关章节如下概览主要了解的概貌。刚开始看时不用追求仝部理解,后面会有详细介绍,很多内容多看几遍就明白。其中指令集,只要了解,只使用就了基础寄存器组通用寄存器堆栈寄存器有两个,和同时只能看见一个引用时,引用的是正在使用的那个可用于异常服务和应用程序只能用于应用程序系统复位后,用的堆栈指针是连接寄存器,又名,存储返冋地址程序计数寄存器,又名特殊功能寄存器程序状态字寄存器组(中断屏蔽寄存器组(控制寄存器(程序状态字寄存器组()分为应用程序中断号执行每个都是位,由于这个寄存器有效位是错开的,因此可以组合访问。中断屏蔽寄存器组(),这三个寄存器用于控制异常的使能和除能。控制寄存器()它有两个作用:定义特权级别选择当前使用哪个堆栈指针操作模式和特权极别操作模式处理者模式和线程模式异常处理:处理者模式主程序:线程模式不区分特权级和用户级,程序始终工作在特权级这两个堆栈指针的切换是全自动的,就在出入异常服务例程时由硬件处理。没什么好讲的,需要看。复位序列初值初值复位向量异常异常类型分为系统异常编号和外部中断大于优先级支持个固定的高优先级和多达级的可编程优先级。在中,每个中断都有一个优先级配置寄存器(个,用来配置该中断的优先级。但该寄冇器并不是每个位都被使用,不同制造商生产的芯片不相同,譬如使用位,也就是说支持个可编程优先级(参考注意该寄存器是以对齐的,因此每个中断的优先级配置寄存器位有效,位无效。对于优先级,又分为抢占优先级和亚优先级,中的应用程序中断及复位掉制寄存器的优先级分组描述了如何划分抢占优先级和亚优先级什么意思?以为例,优先级配置寄存器不是位有效吗,如果中的优先级分组值为,则优先级配置寄冇器的位确定抢占优先级,位确定亚优先级。此时所有中断有个抢占优先级,每个抢占优先级有个亚优先级。抢占优先级高的中断可以抢占抢占优先级低的中断,即抢占优先级决定了中断是否可以嵌套相同抢占优先级的中断不能嵌套,但当抢占优宄级相同的异常有不止一个到来时,就优先响应亚优先级最高的异常。参考附求表表中断优先级寄存器阵列共系统异常优先级寄冇器共个优先级相同,看中断号,中断号小的优先。向量表初始在处,可以通过向量表偏移量寄存器(地址:)更改,般无需更收。中断输入及挂起行为需要看。异常可不看和主要用在分特权级和用户级的操作系统,不区分特权级和用户级可以不管这个东西。这里说点题外话,一开始我很奇怪为什么会提供这种中断,因为这种中断一般都是用在大型的操作系统上,如系统上,可又不提供,应该是无法移植系统。后来我才知道是针对没有的嵌入式系统而设计的不过还是很怀疑有人会在像这种芯片上用中断主要做上下文切换,也就是任务切换,是移植过程中最重要的中断。主要有两点中断是手工往的悬起寄存器中写产生的(由写)中断优先级必须设为最低在讲移植代码时会介绍具体是如何做的。对于的部分应认真研读一下。与中断控制负责芯片的中断管理,它和内核紧密相关。如果对于中断配置不是很了解,可以看看节讲述了定时器,需要看。中断的具体行为中断/异常的响应序列当开始响应一个中断时以及入栈取向量选择堆栈指针,更新堆栈指针,更新连接寄存器,更新程序计数器对移植米说,需要注意异常返同在中,进入中断时,寄存器的值会被自动更新。节对史新后的值进行说明。这里统称。返回时通过把往里写来识别返回动作的。因为是一个特殊值,所以对于,汇编语言就不需要类似这种指令,而用语言开发时,不需要特殊编译器命令指示个函数为中断服务程序。实际上,中断服务程序如果是代码编写,汇编成汇编代码,函数结尾一般是嵌套的中断只要注意:中断嵌套不能过深即可。和这两节说明对中断的响应能力大大提高了,主要是硬件机制的改进。但对移植来说,并不需要关注异常返回值对不同状态进入中断时,寄存器的值进行说明,需要看。这里有一点需要注意,该点在讲移植代码时再介绍利对移植来说,并不需要关注。的低层编程这·章仅需关注节,因为对移植来说汇编与的接口是必须面对的。汇编与的接口有两点需要知道当主调函数需要传递参数(实参)时,它们使用。其中传递第一个,传递第个在返冋时,把返冋值写到中在函数中,用汇编写代码时,可以随便使用,而使用则必须先以上内容和移植多少都有些关系,刚开始看,可能不太明白,多看几遍就好了。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 城市综合应急系统设计方案
    【实例简介】城市综合应急系统设计方案 术语解释 5 第一部分 项目背景和目标 6 1. 项目背景 6 2. 系统总体目标及建设内容 7 2.1总体目标 7 2.2 建设内容 7 2.3 系统一期目标及建设内容 8 2.4 系统后续各期目标及建设内容 9 第二部分 系统需求分析和应急模型 9 1. 各子联动指挥中心Sub ERC的现状 9 1.1 110子联动指挥中心Sub ERC 9 1.2 119消防子联动指挥中心Sub ERC 9 1.3 122交通子联动指挥中心Sub ERC 10 1.4 120急救子联动指挥中心Sub ERC 10 1.5 存在的问题 10 2. 应急指挥组织模型 11 2.1 组织模型层次 11 2.2 应急业务模型 12 第三部分 一期工程系统设计 17 1.系统设计原则 17 2. 编写依据及参考 17 2.1 国家法规及标准 17 2.2 行业标准 17 3. 系统总体设计 17 3.1系统组成设计 18 3.2系统的层次结构设计 20 3.3系统的拓扑结构 21 3.4 系统流程 22 4. 数据及数据库设计 23 4.1 地图数据 23 4.2 数据库平台选择 26 4.3 C/S和B/S混合架构应用模式 26 5. 市政府应急决策指挥中心DMC设计 26 5.1 GIS系统 27 5.2 GPS车辆跟踪系统 28 5.3 领导辅助决策系统 29 5.4 综合协调PRouter 30 5.5 移动指挥调度系统 30 5.6 呼叫中心 33 5.7 数字录音系统 38 5.8 大屏幕显示系统 40 5.9系统接口设计 47 5.9.1与GYGIS的接口 47 5.9.2 DMC与移动指挥车的接口 47 5.9.3 DMC与省政府应急指挥系统的接口 47 5.9.4 DMC与联动单位指挥中心的接口 47 5.9.5 通讯接口 48 5.10应急管理数据库和方预案 49 5.10.1.案事件数据库管理 49 5.10.2资源管理系统 50 5.10.3方(预)案制作、启动、跟踪、终止与检索 51 方(预)案制作 51 方(预)案的启动 52 跟踪方(预)案的实施 53 跟踪方(预)案的终止 54 检索和查询方(预)案 54 5.10.4.专家库 55 6.防洪、空气质量和疾病控制系统与应急指挥系统的集成 55 7. 120急救指挥中心设计 58 7.1.1基本调度功能 59 7.1.2组网功能 59 7.1.3 IVR 和CTI功能 59 7.1.4 辅助功能 61 1) 维护管理 61 2) 录音播放设备 61 3) 数字话机 61 7.1.5 车辆定位和监控 61 7.1.6 业务功能 62 7.1.7数据库设计 63 8. 公安110指挥中心 63 系统结构 64 系统功能 64 9. 消防119指挥中心 67 9.1系统结构 67 9.2系统功能 67 9.3 数据 71 9.4 火灾汇报 72 10. 公安交通122指挥中心 72 系统结构 72 系统功能 73 接口开发 76 数据 76 特大交通事故汇报 76 汇报内容 76 11. ERS系统管理 77 字典维护 77 数据备份与恢复 77 12. ERS安全管理 77 1. 用户管理 78 2. 角色管理 78 3.权限划分 79 13. ERS性能管理 79 第四部分 一期工程系统实施 80 系统实施步骤 80 系统调研 80 概要设计 81 详细设计 81 程序编码及设备的购置、安装、调试 82 系统集成 82 系统调试 82 系统验收 82 系统维护 82 项目组织机构 82 项目领导小组 82 项目工程实施小组 83 项目技术支持小组 83
    2021-11-18 00:41:04下载
    积分:1
  • Qt调用摄像头并实现截图功能.zip
    【实例简介】Qt调用摄像头,并实现截图以及图像加载,后续打算实现一些模式识别的功能,比如人脸识别什么的。
    2021-11-29 00:32:05下载
    积分:1
  • 人工蜂群算法matlab
    人工蜂群算法是模仿蜜蜂行为提出的一种优化方法,是集群智能思想的一个具体应用,它的主要特点是不需要了解问题的特殊信息,只需要对问题进行优劣的比较,通过各人工蜂个体的局部寻优行为,最终在群体中使全局最优值突现出来,有着较快的收敛速度。为了解决多变量函数优化问题,Karaboga提出了人工蜂群算法ABC模型(artificial bee colony algorithm)。本资源是人工蜂群算法的matlab代码,方便大家下载使用
    2020-06-18下载
    积分:1
  • 数字信号处理(第四版)高西全(王军宁提供课件).zip
    数字信号处理(第四版)高西全(王军宁提供课件).zip
    2020-12-07下载
    积分:1
  • 五子棋java序(可局域网内联机对战,随意之作)
    基于java GUI的简单五子棋程序,可以局域网内联机对战,人机对战等一些地方未完善
    2020-06-28下载
    积分:1
  • Vive-Telepoter
    用于VR场景漫游
    2020-12-09下载
    积分:1
  • 自适应全变分图像去噪模型及其快速求解(Matlab CODE)
    构建能同时兼顾图像平滑去噪与边缘保留的自适应全变分模型
    2020-12-11下载
    积分:1
  • 串级DMC+PID控制
    DMC预测控制和预测控制加pid串级控制的Matlab文件
    2020-12-11下载
    积分:1
  • 表面肌电信号处理的matlab
    表面肌电信号处理的matlab程序,包括带通滤波、50Hz陷波滤波程序,以及计算时域、频域的指标iMEG、RMS , MF、MPF
    2020-12-03下载
    积分:1
  • 提取语音特征(短时能量,平均幅度、平均过零率)的matlab代码
    提取语音特征(短时能量,平均幅度、平均过零率)的matlab代码
    2020-11-27下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载