- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ucosii在STM32上的移植详解.pdf
ucosii在stm32 上的移植详解
虽然目前网上已经有不少关于ucosii 在stm32 上的移植版本,包括micrium 也
有官方移植版本。但这些版本具体是怎么移植出来的,又该怎么基于移植好的ucosii
开发应用软件,网上介绍的并不多。这里介绍一下我的移植经历,希望对大家有所
帮助。
我的移植基本上是从零开始的。首先想要做好移植,有两方面的内容是必须要
了解。1. 目标芯片;2.ucosii 内核原理。
虽然我们移植的目标芯片是stm32,但操作系统的移植基本是针对Cortex-M3
内核(以下简称CM3)而言的,所以我们只需了解CM3 内核就好了。stm32 芯片
就是CM3 内核加上各种各样的外设。
怎么才能了解CM3 呢?看一本书ARM Cortex-M3 权威指南 (宋岩译,网
上多的很)就好了,很多同学可能想,看完这本书移植的新鲜劲都没了,因此我把
该书和移植有关的章节都列了出来,并对其中的重点内容进行介绍,我数了数相关
章节还不到100 页,就这点内容,总要看了吧。
相关章节如下:
chapter2 Cortex-M3 概览
2.1 - 2.9
主要了解Cortex-M3 的概貌。刚开始看时不用追求全部理解,后面会有详细介
绍,很多内容多看几遍就明白。其中2.8 指令集,只要了解,CM3 只使用thumb2
就ok 了。
chapter3 Cortex-M3 基础
3.1 寄存器组
R0-R12: 通用寄存器
R13: 堆栈寄存器
有两个,MSP 和PSP,同时只能看见一个
引用R13 时,引用的是正在使用的那个
MSP:可用于异常服务和应用程序
PSP:只能用于应用程序
系统复位后,用的堆栈指针是MSP。
R14: 连接寄存器,又名LR,存储返回地址
R15: 程序计数寄存器,又名PC
3.2 特殊功能寄存器
程序状态字寄存器组(PSRs)
中断屏蔽寄存器组(PRIMASK, FAULTMASK, BASEPRI)
控制寄存器(CONTROL )
程序状态字寄存器组(PSRs)分为
应用程序 PSR (APSR )
中断号 PSR (IPSR)
执行 PSR (EPSR)
每个都是32 位,由于这3 个寄存器有效位是错开的,因此可以组合访问。
中断屏蔽寄存器组(PRIMASK, FAULTMASK, BASEPRI),这三个寄存器用于
控制异常的使能和除能。
控制寄存器(CONTROL )它有两个作用:
1.定义特权级别
2.选择当前使用哪个堆栈指针
3.3 操作模式和特权极别
操作模式: 处理者模式和线程模式
异常处理:处理者模式
主程序:线程模式
ucosii 不区分特权级和用户级,程序始终工作在特权级
这两个堆栈指针的切换是全自动的,就在出入异常服务例程时由硬件处理。
3.4 - 3.7
没什么好讲的,需要看。
3.8 复位序列
0MSP 初值
0PC 初值 复位向量
chapter7 异常
7.1 异常类型
分为系统异常(编号1-15)和外部中断(大于15)
7.2 优先级
CM3 支持3 个固定的高优先级和多达256 级的可编程优先级。
在NVIC 中,每个中断都有一个优先级配置寄存器(1 个byte),用来配置该
中断的优先级。但该寄存器并不是每个位都被使用,不同制造商生产的芯片不相同,
譬如stm32 使用4 位,也就是说stm32 支持16 个可编程优先级(参考:chapter9 )。
注意该寄存器是以MSB 对齐的,因此stm32 每个中断的优先级配置寄存器7:4
位有效,3:0 位无效。
对于优先级,CM3 又分为抢占优先级和亚优先级,
NVIC 中的应用程序中断及复位控制寄存器(AIRCR)的优先级分组(10:8)描述了
如何划分抢占优先级和亚优先级。
什么意思?以stm32 为例,优先级配置寄存器不是7:4 位有效吗,如果AIRCR
中的优先级分组值为4,则优先级配置寄存器的7:5 位确定抢占优先级,位4 确定
亚优先级。此时所有中断有8 个抢占优先级,每个抢占优先级有2 个亚优先级。
抢占优先级高的中断可以抢占抢占优先级低的中断,即抢占优先级决定了
您可能关注的文档
最近下载
- 油品管理台账.xlsx
- 2024新质生产力引领下十大重点产业趋势解读.docx
- 山东省外墙外保温应用技术规程 DBJ 14-035-2007.pdf
- 【课件】安全生产治本攻坚三年行动方案(2024-2026年)解读(43页).ppt
- 七年级道德与法治上册(统编版2024)【新教材解读】义务教育教材内容解读课件.pptx VIP
- 过敏源控制记录.xls VIP
- 土地整治施工方案.docx
- 工程项目渣土运输车司机安全教育学习知识培训课件.docx VIP
- 司马迁史记简介及垓下之围赏析省公共课一等奖全国赛课获奖课件.pptx VIP
- 广东深圳市福田区选用机关事业单位辅助人员和社区专职工作者227人笔试题库含答案解析.docx VIP
文档评论(0)