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

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

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

代码说明:

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

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

发表评论

0 个回复

  • C# 串口调试助手源码(自动搜索PC可用串口)
    经典的串口收发调试工具,实现了利用C# SerialPort串口控件进行(二进制,十进制,十六进制)数据的收发和显示处理; 已经经过测试调试,可用!-----No.2
    2020-12-06下载
    积分:1
  • 小波包分解能量谱
    对信号序列进行小波包分解,获取没层分解的归一化能量,并绘制能量谱图
    2020-11-27下载
    积分:1
  • 雷达信号分选源码(matlab)
    仿真产生的雷达信号脉冲,并使用聚类方法进行分选,代码精辟详细。值得借鉴!
    2020-12-06下载
    积分:1
  • NSST(非下采样剪切波变换)matlab工具箱
    NSST变换,可用于图像融合,分割等方面
    2020-07-03下载
    积分:1
  • gbvs显著性检测
    Graph-Based Visual Saliency显著性检测代码
    2020-12-05下载
    积分:1
  • 智能制造——数字化工厂
    从智能工厂到智能生产,数字化工厂的层次分析及应用案例全球产业价值分配附加值微笑曲线价值链技术与资本密集劳动密集信息与管理密集全球产业价值链The Third Industrial Revolution第三次工业革命当前,第三次革命正在展开,这就是制造业的数字化。制造业数F i字化为传统制造业的面貌和生产方式正在带来巨大改变Bret Ryder我们传统的工厂是从设计到开模生产,需要投入大量设备、资金和人力,如今有了三维印制机,只要在电脑上设计,就可三维打印出零部件和产品,包括航空航天、汽车摩托车、各种装备等复杂产品的精密零件及各种生活和工业用品,这种新型工艺的应用具有无限可能,并可大幅降低制造的门槛。计算机软件、新型材料、更灵活的机器、新工艺(特别是三维打印),以及网络上提供的各种软体服务,这些新科技的汇聚使工厂将逐渐告别大批量生产,进入完全客户化定制,以更低的成本、更高的效率和质量生产更多样化的产品,满足不同顾客的不同需求。所有革命都要进行一场惨烈的淘汰,不会以人的意志为转移。第三波工业革命,×也不例外,就像之前两波工业革命都曾淘汰若干行业和劳工,未来制造业势必再出现一场优胜劣败的大洗牌,工厂需要的劳工将越来越少,但需要更高的技能。当工厂需要的劳工减少,工资占生产成本的比重也会降低,从而改变目前到工资低的海外国家设厂的模式,跨国企业将逐渐把工厂搬回国内,以便设计人员能够和生产线更密切合作,同时更能贴近客户并迅速回应其需求。先进发达国家的应对策略2009年1月,美国邛BM公司提出了“智慧地球( Smarter planet)"概念。2009年4月,新西兰政府推出了《新西兰数字战略2.0》>2009年6月,英国出台了“数字英国( Digital Britain)”战略。>2009年7月,日本推出了《- Japan战略2015》>2009年9月,韩国出台了红IT韩国未来战暗》研究。>2010年5月,欧盟推出了《信息化战略行动计划》以应对当前欧盟的金融危机。2010年,奥巴马政府签署规模为170亿美元的《美国制造业促进法案》;2011年6月,又启动了美国《先进制造伙伴》计划2011年4月,德国首次提出了《工业4.0》发展战略,旨在支持工业领域新一代革命性技术的研发与创新,提高德国工业的综合竟争力T。 ra smarte冒aetimtlememtays she.OrSIRIRTA欧盟“信息化战略行动计划”欧盟“信息化战略行动计划”是欧洲数字计划七项旗舰举措中的一项,可促进经济的明显增长,使社会各领域都能享受数字时代带来的快捷和便利。增强数字化文化技能应用信息和通信技术应对和包容性气候变化和人口老龄化信息化战略行动计划七大领域更强的互操作性更多的研发投资增强互联网的信任度更快的互联网接入和安全性统一数字市场的建立美国“先进制造伙伴”计划为了巩固制造业竞争优势并确保其在世界制造强囯中的领先地位,美囯提出并启动了“先进制造伙伴( Advanced Manufactur ing Partner ship)”计划,并投入5亿美元推动这项工作。主题词:3D打印、物联网、制造回归、先进材料、新一代机器人、自动化生产线、节能制造工艺2029年1月人工奥巴马发表美写2013年2月济要让已2014年8月奥巴马国智魘唱长机出工出台《造德驾台支提发动唱长的声明量促进作仅悍计见印素重振美国制告业211年月21年】月选力公室出台【美国奥已马提出键出台《想新战:设全美想遇业3D打印机圈人美西皇保护我们为出胃络针复呢》是济增长机将打情咤需】为方之工业4.0—一从智慧工厂到智能生产信息物联系统a Industry 4.0德国高科技战略计划首位电子、IT、工复杂程业机器人工业革命4度电力广泛应用工业革命30工业革命20茶汽机1784工业革命1018世纪末20世纪初时间工业4.0——从智慧工厂到智能生产a Industry 4.0国高科技战略计划首位“工业4.0”研究项目由德国联邦教硏部与联邦经济技术部联手资助,在德国工程院、弗劳恩霍夫协会、西门子公司等德国学术界和产业界的建议和推动下形成,并已上升为国家级战略。德国联邦政府投入达2亿欧元运 Fraunhoferi acatechNATIONAL ACADEMY OFSCIENCE AND ENGINEERINGSIEMIENS
    2020-12-11下载
    积分:1
  • 单通道盲源分离
    基于ICA的单通道盲源分离算法,程序代码方便读者理解,里面包含了相关数据源和程序包
    2020-11-29下载
    积分:1
  • morlet小波matlab代码
    关于morlet小波的一个matlab代码,又注释,仅供参考
    2020-12-06下载
    积分:1
  • 基于matlabGUI的小车倒立摆pid控制
    一个用matlab的GUI编写的小车倒立摆环境,自带pid控制
    2020-12-05下载
    积分:1
  • 安川MP2000系列手册0606(内部资料)
    安川MP2000系列编程手册0606(内部资料),不可多的,学习安川运动控制器的最佳资料,有详细样例和注解!涵盖安川全系列运动控制器!本手册的使用方法本手册的使用方法前言机器控制器MP900/WP2000系列是指,采用最新的电子信息技术,将迄今为止以机构为主体的机器实现杋电一休化,大幅度提高其性能、功能,冋时集成了机器的控制技术及使用技巧的控绱器以往的机器是使用通用的电机作为动力源,由电机驱动齿轮、连杆、凸轮等产生各种各样的运动来进行加工和装配等。安川电机凭借数百年的发展历史和技术积累,各种各样的机器正不断面世,并且其性能、功能显著提正因为如此,迎来了个日诸多机器的辉煌但是,由于这些杋器也是由称作机构的硬件构成的,因此缺乏高灵活性。另外,事实表明:由于受机器本身的限制,无法期待其性能、功能有更进一步的提高。另一方面,材料的革新性开发和提高,特是半导体领域的芧命性的性能提高和小型化,对电机以及电机控制技术带米的影响是无可估量的。其影响之一就是变频器、伺服电机及其驱动技术得到了惊人的发展。另外,即使是在驱动伺服电机的运动控制技术领域,基」微电脑的,融合了已普及的以数值控制(NC)为代表的运动控制器(MC)和可编程控制器(PC)的新型控制器正在不断面世采用这些伺服电机和新型控尙器,使以往的以机构为主休的机器实现机电一休化,进一步提高其性能、功能,以及在搭载前所未有的新功能等方面都在进行不断的积极尝试。然而,由于这些新技术采用的配套方法还没有得以充分普及,许多机槭技术人员对机电一体化还是很犹豫,有时甚至敬而远之,这是不可否认的亨实。因此,本手册作为用户指南,主要介绍采用安川电机的伺服驱动器∑系列和其机器控制器Ⅶ2000系列如何来实现机电一体化以及如何实现控制的方法。机器品种繁多,不可能一一介绍但是,由」作为基础的基本控制技术对哪个札器鄱是通用的,通过对其的介绍,无论将其应用」哪个机器上都能仗过去的机器实现机电一体化。木手册正是为此目的编写的参考手册,它与控制器和伺服驱动器的使用说明书不同,主要说明如何能实现各种搾制以及具体的编稈方法本手〗按以卜项目分门别类列出了苫丨梯形图或运动程序的编写示例。同步控制速度控制位置控制转矩控制位置控制以轨迹为主的运动控制各种机器的运动,如果从电机运转角度来看,都可以还原为上述控制。因此,在进行某种机器的控制时,就要弄清楚感应电机和伺服电机需要何种控制,如果知道其控制的具休控制内容(梯形图和运动程序),就可将该控制组合起来。有村一种控制并不够,必须同时使用个同的控制模式。木手册就是木着这样的观点列出了实际的栏序。如果以这些程序作为指导编程的方针,任何人都能编写出某种机器的基本控制程序。使用本手册时的推荐设定本手册示例的梯形图是使用安川电机的MP900/MP2000系列程序编辑软件MPE720Ver.5.22编写的。使用该梯形图时,请使用上述软件的Ver.5.22或史高的版木。另外,请在勾选“使用新的梯形图编辑器”后再使用梯形图编辑器。/7yPLc欄重動作環境棵能指定工P礻一?2一212-步管理7配送他1辛么[列=于F-工使用了新一老使用主寸1作成大几2工使用主OK也卟另外,作为OS,可选择 Windows95/98/T4.0/2000/XP中的任何一个。以MP2000系列控制器为主体的程序实例已发行的本手册2004年8月版本中,针对MP00系列给出了程序的基本框架巾最近面世的MP2000系列可构成新的机器控制虽然两机型的基本使用方法都相同,但在地址和运动命令的使用方法上存在一些差别。MP2000系列全面地强化并改善了MP900系列的功能。籍此札会,决定发行以M2000系列控制器为主体的编程手册另外,对于MP900系列,已发行版(2004年8月版)仍然可以使用,请加以利用。目录本手册的使用方法第1章计算机与机器控制器的连接1.1利用机器控制器进行设计1.2计算机和MP2000系列的通信参数的设定1.3设定MPE720的使用环境---1.4新建文件夹1-91.5进行M2200构成设定1-23第2章设定参数2.1设定伺服驱动器或变频器的规格2-42.2设定编码器的规格2-62.3设定机器的相关参数2-102.4设定控制结构202.5设定设定参数2-222.6设定伺服参数2-23第3章连接硬件3.1连接伺服驱动器(∑-Ⅱ、∑-I系列)3.2连接带 MECHATROL INK-Ⅱ的伺服单元的输入输出(∑-Ⅲ系列)第4章运动控制设计4.1各种控制的基本构成-4-34.2将伺服设定为0N4-64.3自由切换动作模式4.4设计主干梯形图4.5J0G(点动)运行4-134.6STEP(步进)运行4-154.7给出平滑的运行指令4-17第5章速度控制5.1速度控制(基本一直线加减速—)5-25.2设定直线加减速5-95.3速度控制(S形加减速)第6章转矩控制6.1转矩控制(基本:无反馈)6.2转矩控制(有反馈)6-66.3由运动程序改变转矩限制值6-14第7章位置控制7.1位置控制(基础)7-27.2基于运动程序的位置控制7-107.3通过运动命令、用外部信号定位7-217.4用手动脉冲发生器移动--7-257.5滚珠丝杠节距误差的补偿7-327.6用直线伺服驱动器定位7-337.7使用绝对值编码器7-38第8章编写运动程序8.1进行定位8.2通过外部信号进行定位(运动程序)8-583使其直线移动(直线加工)-84使其以圆弧的方式移动(圆弧加工)8-88.5平滑地加工自由曲线(直线移动命令)86坐标变更8-1087施加额定速度比88进行无限长定位-8-1289剪裁加工中保证刀具角度垂直8-138.10由运动程序控制外部设备-8-148.11从外部赋予运动程序中的设定值8-158.12暂时从工件坐标移到机器坐标-8-168.13使数个运动程序同时动作-8-178.14单方向定位回转工作台8-198.15以最小移动量进行回转工作台定位-8-20第9章相位控制9.1相位控制的基本内容9.2控制薄膜生产线(相位控制实例)9-10第10章使用电子凸轮控制机器10.1使用双向型电子凸轮控制机器10-410.2使用单向型电子凸轮控制机器10-1910.3电子凸轮加超前角控制10-3610.4编写凸轮曲线10-40第11章进行原点复归11.1进行原点复归(基本)-11-211.2使用运动程序进行原点复归11-9第12章掌握了梯形图将会带来很大便利12.1设定图中使用的D寄存器的数量-12-212.2全部清除继电器和作业寄存器----12-312.3检测各轴的警报,显示警报12-512.4防止失控(位置控制、相位控制)一12-812.5掌握运动程序的警报内容12912.6通过运动程序进行顺序控制12-11第13章进行调试13.1故障检修的流程13-213.2数据示踪13-613.3更加便利地示踪数据13-1413.4调试运动程序-13-27第14章便利的功能14.1对程序加注释14-214.2打印程序14-414.3检查程序存储器的剩余量14-5V11附录附录1MPE720简明手册附录-2附录2指令一览附录-23附录3梯形图转换作业步骤附录-30附录4 Expression的表示方法附录-31第章第1章计算机与机器控制器的连接1.1利用机器控制器进行设计1-21.2计算机和MP2000系列的通信参数的设定1.3设定MPE720的使用环境1.4新建文件夹1.5进行MP2200构成设定1-23第1章计算机与机器控制器的连接1.1利用机器控制器进行设计本节介绍利用机器控制器MP2000系列设计运动控制系统的步骤。设计分硬件设计和软件设计,这里主要介绍以软件设计为中心的设计流程。设计流程软件设计流程如下所示选择、订购所使用的机器。绘制主电路·控制电路展开连接图。通过MPE720新建文件夹。①模块构成② MECHATR0L|NK构成③输入、输出分配(伺服单元和1/0单元的设定)脱机操作④组定义编写梯形图编写运动程序至CPU的统一传送和伺服单元的设定调试联机操作结束
    2020-12-05下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载