stm32移植.PDFVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
stm32移植

stm32 移植 stm32 移植 本文件请参考《都江堰操作系统与嵌入式系统设计》第15 章,该书在可以下载。 1. 浅谈移植 本次移植针对的硬件平台,是“起航一号”djyos评估板,大家可到这里了解这块评估板: /bbs/read.php?tid=6043 。 Djyos 为方便大家移植,所有在移植时可能需要修改的地方,均注有 “移植关键”字样。 在开始之前,对于OS 移植,先回答一个大家普遍关心的问题:“移植操作系统的首要工作是什 么?” “废话,这算哪门子问题哦,不就是用新cpu 的指令重写汇编部分代码,重写硬件相关的部分代 码嘛!” 如果这样想的话,你就大错特错了!操作系统就是计算机中的政府机关,开机后首先得到 cpu 眷顾的就是你,你享有控制一切社会资源的权利,移植操作系统,就相当于以某一个地区政府为蓝 本,在一个新大陆上建立起政治制度相同的政府机关。然而各地有自己的乡土人情、风俗习惯、文 化程度、经济水平等,政府机构的设置虽大同,但必存小异。依葫芦画瓢地创建一套行政机关,必 然水土不服。因此,同一个操作系统,由不同的人移植到同一套硬件平台上,结果可能大相迳庭, 甚至运行效率也相差很远。 移植操作系统的首要工作是:决定目标系统资源的使用方式和权限管理策略,也就是常说的先 定个调。一般来说,移植操作系统,在动手写代码之前,至少应该确定以下几个策略: 1、 有许多 cpu 有多种运行模式,操作系统要安排好内核和应用程序代码分别在什么模式下运 行,应用程序代码有什么权限,使其各守本分,各司其职。 2 、 分配内存空间,代码存放地址,运行时地址,数据存放地址,运行时地址,堆内存地址, 线程的栈地址,异常处理程序的栈空间,中断的栈空间等。 3、 系列化安排,嵌入式cpu 都是系列化的cpu,同一个内核,系列化型号,不同型号之间大同 小异,内核在适应不同型号cpu 时,不应该修改代码,而是应该只修改配置文件。 4、 决定中断管理硬件如何与操作系统的中断模块匹配。 前三点是传统操作系统需要考虑的,而第四条是djyos 独有的。这来源于djyos 特有的中断管理 模块,传统操作系统对中断的管理很少,基本上不外乎提供以下几个功能: 1、 提供一个中断处理函数的封皮和封底,一般用汇编语言实现,使应用程序可以用普通C 语 言函数的方式写ISR 。 2 、 提供关中断和开中断的函数。 3、 提供中断连接函数,使中断发生时相应的应用程序ISR 能被调用。 4 、 设置中断ISR 的栈指针。 5、 linux 提供了上下半部的管理功能,算是有一点管理,其实现方式虽然跟djyos 的“中断同 步”完全不一样,但能实现相似的目的。 而djyos 则对中断实施了系统级的管理,详见《都江堰操作系统与嵌入式系统设计》一书的第六 章,djyos 把中断划分为实时中断和异步信号,并且提供中断同步功能,使得大部分中断代码变得更 加容易,少量实时性要求高的代码又有更高的实时性,而且更加方便了项目经理管理项目团队。Djyos 有无以伦比的中断延迟,在M0 (主频40Mhz ,flash 速度20Mhz )平台下,可保证在最坏情况下实 现1.5us 的中断响应时间。在RTOS 应用中,设计者往往会把实时性要求最高的功能,放在中断中完 成,在这个意义上,RTOS 的实时性,等效于最坏情况下中断延迟时间。然而,有得必有失,这些 红利不是白白得来的,你需要在移植操作系统时,付出代价。因此,移植djyos 的工作量,会比普通 stm32 移植 同类操作系统大一些。然而,移植操作系统是一次性的,应用程序项目则有成千上万,故这种付出 是值得的。 讲了这么多大道理,都是纸上谈兵,来点实际的吧,我们也给si 版本的djyos for stm32 定个调: 1、 操作系统内核和应用程序都在特权模式下运行。 2 、 异步事件的优先级全部设为最低优先级,且不可改变。 3、 所有异常ISR

文档评论(0)

ldj215323 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档