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

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

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

代码说明:

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

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

发表评论

0 个回复

  • Saber仿真模型共享---uc3844仿真模型.zip
    【实例简介】Saber仿真模型共享---uc3844仿真模型Saber仿真模型共享---uc3844仿真模型Saber仿真模型共享---uc3844仿真模型
    2021-11-28 00:37:22下载
    积分:1
  • EZW_Matlab.rar
    基于小波变换的图像压缩技术,零数小波算法EZW_Matlab.rar
    2020-11-29下载
    积分:1
  • 二进制引力搜索算法(BGSA)matlab
    这是一万有引力算法的二进制应用,可以说是GSA的一种变形应用,大家可以看看这篇文章《BGSA: Binary gravitational search algorithm》,网址:https://www.researchgate.net/publication/220132723
    2020-12-09下载
    积分:1
  • 五百丁-word模板-推荐简历-top58-2019年3月15日.zip
    五百丁-word模板-推荐简历-top58-2019年3月15日.zip
    2020-07-01下载
    积分:1
  • 遗传算法模糊控制
    遗传算法模糊控制器最优设计,内含各接口函数的详细代码,已在MATLAB成功运行,对初学者有较好的借鉴建议
    2020-12-04下载
    积分:1
  • 最简单的基于FFMPEG的视频码器(修正)
    FFMPEG工程浩大,可以参考的书籍又不是很多,因此很多刚学习FFMPEG的人常常感觉到无从下手。因此特地分离出了一个简单的视频编码器供学习之用。该视频编码器实现了YUV420P像素数据编码为H.264码流尽管该视频编码器的代码十分简单,但是几乎包含了使用FFMPEG编码一个视频所有必备的API。十分适合FFmpeg的初学者。工程基于VC2010。使用了2014.5.6版本的FFmpeg类库。注:这是修正版,增加了flush_encoder()函数
    2020-06-13下载
    积分:1
  • Synthetic Aperture Radar Processing
    Synthetic Aperture Radar Processing" simply and methodically presents principles and techniques of Synthetic Aperture Radar (SAR) image generation by analyzing its system transfer function. The text considers the full array of operation modes from strip to scan, emphasizes processing techniques, ena
    2020-12-06下载
    积分:1
  • 《数字信号处理C语言序集》 殷福亮 宋爱军
    一本非常有用的书:数字信号处理C语言程序集,作者 殷福亮,宋爱军。清晰、完整。网上提供的有些版本残缺不全,存在漏页的情况,我上传的这个经仔细检查,不存在类似问题。本书内容十分丰富,紧贴工程应用实际,非常实用。提供了大量的函数及其源代码,利于读者参考。实在是不可多大的一本好书,你值得拥有!本书的具体内容不在此赘述,大家很容易百度得到的。图书在版编目(CIP)数据数字信号处理C语程序集/殷福亮、宋爱乍主编,-沈阳:辽宁科学学技术出版社,1997.7ISBN7-5381-25213数殷…Ⅲ.C语言-数学信号-信号处理应用程序Ⅳ.TN没1.72中国版本图书馆CIP数据核字(97)第03286号辽宁科学技术出版社出版沈阳市和平区北马路1(8号邮政编码110001)地方国营新民印刷总厂印刷新华书店北京发行所发开本:787×10921/16印张:28字数:710.0001997年7月第1版1997年7月第1次印刷责任编辑:马旭东版式设计:于浪封面设计;邹君文责任校对:东戈印数:15,0(0定价:30.00元目录第一篇常用数字信号的产生第一章数字信号的产生§1.1均匀分布的随机数baaa‘·aa·a··‘s4···‘44‘4··44·····4··-···§1.2正态分布的随机数…§1.3指数分布的随机数…………·······◆÷·············:§1.4拉普拉斯( Laplace)分布的随机数单·鲁。非号。非●着鲁鲁导●·。香§1.5瑞利( Rayleigh)分布的随机数……………………………………9§1.6对数正态分布的随机数………:11§L.7柯西( Cauchy)分布的随机数………·…·.13§1.8韦伯( Weibul)分布的随机数……15§1.9爱尔朗( Erlang)分布的随机数………………17§1.10贝努里( Bernoulli1)分布的随机数………●看鲁ψ鲁曹●自●喜鲁。由看看自命曲D自看19§1.11贝努里高斯分布的随机数·●中·······甲§1.12二项式分布的随机数……§1.13泊松( Poisson)分布的随机数§1·14ARMA(pq)模型数据的产生命●·p·看D●·看·。普。··●曲也。b§1.15含有高斯白噪声的正弦组合信号的产生…………§1.16解析信号的产生………35第二篇数字信号处理第一章快速傅立叶变换…"39§1.1离散傅立叶变换……§1.2快速傅立叶变换鲁鲁··音····着·D。·协。中·咖4卡4●音备·由画口省画曲命··44§1.3基4快速傅立叶变换………●4bb●■·即·●··。···鄂甲,银●看§1.4分裂基快速傅立叶变换………………………………57§1·5实序列快速傅立叶变换(-)….°°··.·····“···。61§1.6实序列快速傅立叶变换(二)……§1.7用一个N点复序州的FFT同时计算两个N点实序列离散傅立叶变换…。b自4血者b自晶。aa·70§I.8共轭对称序列的快速傅立叶反变换73§1.9紊因子快速傅立叶变换…………………………………………80§1.10 Chirp乙-变换算法…………………………………96第二章快速离散正交变换…§2.1快速哈特莱( Hartley)变换…………………………§2.2基4快速哈待莱( Hartley)变换§2.3分裂基快速哈特莱( Hartley)变换…§2.4快速离散余弦变换……15§2.5快速离散余弦反变换…………····自··非·中中····曹...·.118§2.6N=8点快速高散余弦变换·······…··…·121§27N=8点快速离散余弦反变换●鲁鲁·香垂香●鲁§28快速离散正弦变换…………………………129§2.9快速沃尔什( Walsh)变换…133§2.10快速希尔伯特变换(一)………………鲁·鲁音辛章·看·争●·●自章·自··137§2.11快速希尔伯特变换(二)…141第三章快速卷积与相关§3.1快速卷积………………………144§3.2长序列的快速卷积……………………147§33特别长序列的快速卷积…中4·鼻●………………∵"……152§3.4快速相关…………………………………………………158第四章数字滤波器的时城和频域响应…………16341数字滤波器的频率响应b●4,4看香·……163§4.2级联型数字滤波器的频率响应………………………166s4.3数字滤波器的时域响应171§4.4直接型IR数字滤波(一)………………………………174§4.5直接型IR数字滤波(二)…………177§4.6级联型IR数字滤波§4.7并联型IR数字滤波…………………………………………185第五章IR数宇滤波器的设计………………………………189§5.1巴持沃兹和切比雪夫数字滤波器的设计……◆香音非杳D,看看§5.2任意幅庋IR数字滤波器的优化设计……………………………2082第六章FIR数字滤波器的设计……………………………227§6.1窗函数方法………………………………………227§6.2频域最小误差平方设计………238§6.3切比雪夫通近方法…………………………………242第三篇随机数字信号处理第一章经典谱佔计···:·a4a命a4264§1.1功率谱估计的周期图方法264§1.2功率谱估计的相关方法………………………………………271第二章现代谱佔计隐自·音鲁章自●·●4鲁自费●●看§2.1求解一般托布利兹方程组的莱文森算法……………………280§2.2求解对称正定方程组的乔里斯基算法…83§2.3求解尤利沃克方程的莱文森德宾算法§2.4计算ARMA模型的功率谱密度……………………………….289§2.5尤利沃克谱估计算法…………292§2.6协方差谱估计算法.·…·…297§2.7Burg谱估计算法30§2.8最大似然谱估计算法鲁t···章·。看e308第三章时频分析………….314§3.1维格纳( wigner)分布……………◆鲁毋■章鲁·●●·●非b曲。島曲…314§3.2离散小波变换…318第四章随机信号的数字滤波330§41维纳( Wiener)数字滤波…唱·喜非最330§42卡尔曼( Kalman)数字滤波…·。··●··命···◆··命·335§4.3最小均方(LMS)自适应数字滤波………341§44归一化LMS自适应数字滤波344§4.5递推最小二乘(RLS)自适应数字滤波……………………348第四篇数字图像处理第一章图像基本运算………………ss"sss352§1·1图像读取、存储与显示…§1.2图像旋转….·····鲁具··。366§1.3图像灰度级直方图的计算…………368§1.4图像二值化的固定阀值法…1.5图像二值化的自适应阀值法…·中··看辛中·鲁音·甲●·372第二章图像增强-………376§2.1图像直方图均衡…………………………376§2.2中值滤波香看春·鲁自。看●··….·········色·.···B···378§2.3图像锐化······.···········世·D“·中·中···中·;··容e·咱要382§2.4图像平滑………………………………………………………………383第三章图像边缘检测辛b鲁卡鲁中●●·§31 Roberts算子边缘检测“····.…·386§3.2拉普拉斯算子边缘检测…………………………………388§3.3 Sobel算子边缘检测………§3.4 Robinson算子边缘检测………………………392§3.5 Kirsch算子边缘检测…鲁鲁·看§3.6 Prewitt算子边缘检测第四章图像细化……………………………………………139§4.1 Hilditch细化算法看●看非。●命D看鲁●●;·着●画399§4.2 Pavlidis细化算法qq··中····.404§4.3 Rosenfeld细化算法………第五篇人工神经网络第一章神经网络模型……·…·…"·416§1.1多层感知器神经网络………………………………………………416§1.2离散 Hopfield神经网络……………………………………425§1.3连续 Hopfield神经网络……。辛b4··吾。自司b命°…·434§1.4Tank- Hopfield线性规划神经网络参考文献…●●●电·单·4是p中······鲁s自····4·●……………”442第一篇常用数字信号的产生第一章数字信号的产生§1.1均匀分布的随机数功能产生(a,b)区间上均匀分布的随机数、方法简介均匀分布的概率密度函数为,a≤x≤b0,其它通常用U(2)表示,均匀分布的均值为+2,方差为(b2产生均匀分布随机数的方法如下:首先,由给定的初值x,用混合同余法ai=(ai-1+ c)(mod M)产生(0,1)区间上的随机数y。其中a=2045,c=1,M=20;然后,通过变换x;=a(b-a)y产生(ab)区间上的随机数z三、使用说明1.子函数语句double uniform (a.b. seed)2.形参说明a—双精度实型变量。给定区间的下限。b—双精度实型变量。给定区间的上限seed—长整型指针变量。*seed为随机数的种子。四、子函数程序(文件名: uniform.c)double uniform (a, b, seed)ouble ai doubled=2045兴(兴seed)+1Seed=关seed一(兴seed/1048576)为1048576;t=(兴seed)/1048576.0;t=a-(beturn (t)五、例题产生50个0到1之间均匀分布的随机数。主函数程序(文件名: uniform.m):#include " stdio. h# includi double a, bngdouble uniform(double, double, long int *a=0.0;b-1.0;s=13579for(i=0;
    2020-12-06下载
    积分:1
  • 卡尔曼滤波和互补滤波参考
    加速度传感器的角度和陀螺仪的角速度通过卡尔曼滤波或者互补滤波得到稳定的输出波形,本资源就是关于这方面的C语言代码...
    2020-12-02下载
    积分:1
  • CFD对机翼流场的模拟计算
    用CFD软件模拟机翼附近的流场分布,并计算温度场及速度矢量场的分布。
    2020-12-10下载
    积分:1
  • 696518资源总数
  • 104269会员总数
  • 42今日下载