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

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

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

代码说明:

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

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

发表评论

0 个回复

  • 数电康华光第六版课件
    电子技术基础数字部分(第六版) 康华光 课件完整版,跟教程完全配套,非常实用
    2021-05-06下载
    积分:1
  • 位移、速度、加速度信号互转
    Matlab代码,速度,位移和加速度信号互转程序
    2020-11-30下载
    积分:1
  • 亚像素边缘提取
    通过求高斯梯度的方法进行亚像素级别的图像边缘提取,效果不错,附有运行结果图。
    2021-05-07下载
    积分:1
  • 基于遗传算法的改进FCM算法GA-FCM
    代码实现了基于遗传算法的模糊c均值算法,用于改进FCM当中的局部收敛问题,以达到全局最优。
    2020-11-28下载
    积分:1
  • json数据的转换工具
    用来转换.json文件,不用手动的去操作,只需放在json文件目录下,运行即可
    2020-12-06下载
    积分:1
  • LDPC码MATLAB
    非常实用的LDPC程序代码~可以参考以更好地学习LDPC~
    2020-12-04下载
    积分:1
  • XYZ和STL文件MFC显示示例
    VS13 MFC工程代码, 示例如何使用glfw通过opengl显示xyz文件以及stl文件. 代码中使用到的glfw是进过稍微修改过后的, 可以直接支持将创建的窗口集成到MFC控件中. 代码结构清晰, 使用示例简单. 详情可以查看博客: http://blog.csdn.net/sunbibei/article/details/51783783
    2020-12-07下载
    积分:1
  • STM32红外遥控 控制步进电机正反转实验
    STM32红外遥控 控制步进电机正反转实验
    2021-05-06下载
    积分:1
  • 飞机机票系统
    网上机票预订系统,里面有详细的外部接口需求、性能需求、软件属性需求、数据需求、概念设计以及详细设计的部分代码相关内容,如果满意可以点击订票,把相关信息添加到机票数据库表中,如果不满意,可以点重置,所有信息清空,再重新选择。●退票窗口,用户可以根据用户信息表中的我的机票信息査询,找出机票号,在输入到机票号査询里,点击査询获得你的杋票信息以及价格显示,点击退票则在数据库机票信息表中朋除本条信息。●管理员界血的管理员添加芥血能对管理员信息进行査询、添加、删除和修改,包括用户名、登陆密码和联系方式。管理员界面的舱位信息的査询、添加、删除和修改,包括舱位等缴编号、舱位等级名称、提供的各种服务类别,以及备注信息等。●管理员界面的客机信息界面对客杋信息的添加、修改、删除和査询,包括客机编号、客机型号、购买时间、服役时间、经济舱座位数量、公务舱座位数量、头等舱座位数量以及备注信息等。●管理员界面的航线信息界面对航线信息的添加、修改、朋除和査询,包括航线编号、出发城市、到达城市、航班日期、出发时间、到达时间、客机编号、经济舱价格公务舱价格、头等舱价袼和备注信息等。●客户等级信息的的添加、修改、删除和查询,包括客户等级编号、客户等级名称折扣比例和备注信息等。管理员界面的用户信息查询,能查询所有的已注册的用户信息。管理员界面订票信息界面,可以査询所有的已订的机票的信息。23用户特点及一般约束1.管理员和用户的登陆要求合法的管理员以及用户才能登陆体统,防止系统被无关人员动用,使用字符串匹配对用户名和密码进行判断。管理员和用户的登录对相应的操作权限也不一样,如果是用户登录,管理员的窗口属性为不可用,管员冇舱位信息管,客杋信息管理,航线信息管理客户类型信息管理,客户信息和订票信息管理,用户主要有舱位査询,客机信息査询,航线信息查询,客户类型信息查询,自己的信息管理,和自己订票和退票2管理员的日常操作管理员可以对舱位信息,客杋信息,航线信息,客户类型信息,进行査询、修改和删除操作,可以对客户信息和订票信息只有査询操作。3用户的的日常操作用户可以进行注册然后登陆系统,可以查询舱位信息,客机信息査询,航线信息查询,客户类型信息,可以对自己的信息进行修改,可以定票(按照肮班号进行预订机票,显示所订机票的信息和价格,进入支付系统付账,并再次要求客户确认,确认无误后订票成功)可以退票(在特殊情况下(如天气不适合飞机起降,飞机延误超过30分钟)等给予全额退票,如果是个人原因只能退50%),对退票后的机票要在未售出机票中重新体现24功能需求(用DFD图表示)241用户注册的DFD图顶层图:点击新用填写信息P获得确认注册成功可户注册填写相应的登录信息注册图点击新用写信息PIP2获得确认户注册填写相应的返回用户注册成功信息注册信息D添加用户信息数据流图开输入用广名和密码而断用P名和测码是青正提错忍录金理面判断管理阻标志录时f结束242用户订票的DFD图顶层图用户登杳阅积订1层图PLP2用广登输入要查查洵机处理订订票订票成询D1机票信2层图D2订票信息票信息票信息P用户信息用户登陆处理用户查询用户查询订票信D3机票已卖完节息信息用户信息用户证信检查机票是D4订票有误信D1用户信息否存在机票数冒已满信息错更新机票误信息书信信用户243退票的DFD图顶层图白票信息用户登陆退票退票成功1层图D订票记用户登处理订票取消机票退票成机票信退款处退票的原因D2退票的相关规244机票信息查询的DFD图顶层图用户登的机票铜查询机机票层图:P用户脊找机处理机票机.票信机单D票信息清D2机票信25外部接口需求在用户界面方面要求错误信息格式均以弹出提示框的形式出现,硬软件接∏方面没有特别的需求,一般用户都可以直接使用。25性能需求因为系统夲身较小,并不投入实际应用,因此响应时间、结果精度方面可能会比较差,数据量大小方面能够处理较大的数据量。26软件属性需求在数据检索、数据增删改方面必须做到丝亳不差,满足软件开发的正确性要求。必须考虑充足的异常处哩机制以及软件的复用性,以便增强软件的健壮性。在安仝保密性方面倣到不同身份所能处理的事务不同,避免保密数据泄漏:设置足够的触发器对不安全的数据修改进行回滚操作,进而保证了安全性要求。所廾发出来的软件必须是叮维护的,不能把一些东西做的太妣。27数据需求(ER图表示)管理员信息实体E-R图如图2-1所示。管理员信息实体管理员编号管理员电话管理员用户名管理员密码舱位等级信息实体E-R图如图22所小。船位感位等线号m>均日图2-3客机信息实体ER图航线信息实体ER图如图2-4所示信比号备思出发城市到达球市图2-4航线信息实体ER图客户类型信息实体ER图如图2-5所示癣型实斗鬥型端号客广型姓名折比例图25客户类型信息实体ER图客户信息实体ER图如图2-6所示。吞户信实售户号客姓名联票图2-6客户信息实休ER图订票信息实体ER图如图2-7所示订票信息实体订票倌息号客户共客户信恩航线信息图2-7订票信息实体ER图实体之间关系的ER图如图2-8所示。舱位等信息机信容户垄型信客户记线设置户信息航线信息顸订机票□订哪信图28实体之间关系的ER图三、概要设计3.1总体设计(系统总流程图)网上机票预订系統用理路录广|需共●验证登陆名密码,正确进入主菜单,根据登录时所选的脊录方式(客户、管理员)的不同分别对用户设定不同的访问权限(如果是输入的客户用户名和密码正确,选择以客户方式登陆则主界面里面的管理员界面不能用,如果输入的是管理员的相应用户密码正确,以管理员的方式登陆则管珥员界面可用)不正确则清空登录框,最多可以输入三次,三次不止确系统会自动关闭登陆界面FrmLoFan用户名:Wg=icha距码:客尸登阵地定●新用户注册,新用户可以注册,注册时输入用户名可以杏询用户可不π用,可用就可以注册,注册时可以判断用户输入的密码和验证密码是否相同,相同才给以注册,如果满意可以点注册,注册成功后用户可以选择不用在回到登陆界面,可以直接陆到用户主界面,以后就可以用这个用户登录了,如果不满意,点取消,所有信息清空,重新输入注册界面Farm⊥Teg1tcrx用户注册1个人信启垆写用户名: ansi chao校验是古有重名操示长用片名由家字和导母组前A已1q位密码确认:**两输入的密码应一瘿姓名:思超性别:黑身份证号:同502419809029313庭址;太原迎新街联方式:卩3468832247输入正确的于机号电子信箱:i≤i2203183.cm我是一个开的人个人奋注:据不内提亮
    2020-12-01下载
    积分:1
  • 虚拟定位.apk Android APP
    虚拟定位,免root安装后可修改其他应用定位,可修改钉钉打卡位置,微信/QQ朋友圈位置,附近的人位置等,跟手机模拟定位不一样,后台无法发现是虚拟定位,可放心使用。开箱即用。
    2020-12-04下载
    积分:1
  • 696518资源总数
  • 105540会员总数
  • 37今日下载