嵌入式微处理器系统及应用-Chapter13_嵌入式实时操作系统内核硬件相关设计与代码移植.pptVIP

嵌入式微处理器系统及应用-Chapter13_嵌入式实时操作系统内核硬件相关设计与代码移植.ppt

  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文档。上传文档
查看更多
UART Uart(Universal Asynchronous Receiver/Transmitter),是通用异步收发器的简称,一般称之为串口。 可以通过它将目标板上的程序执行信息发送出来,供调试观察之用。 采用支持格式输出的函数printk将串口相关的驱动函数封装起来(通过调用Uart_SendChar来输出字符),而应用只需调用printk就可以了 AIC AIC(Advanced Interrupt Controller),高级中断控制器,类似于X86体系的8529芯片,是W90P710芯片中控制中断的部件。 W90P710可以处理 多达32个中断源, 现在只定义了31种, 每个中断源都对应 了唯一的中断号 AIC 为了更好地管理中断,还实现了一个8级(0-7)的中断优先级位表:中断号越低,优先级就越高,1号中断(看门狗中断)优先级最高。 优先级为0的四个中断触发的是FIQ中断,而其余级别的中断全都属于IRQ中断 中断号 优先级 4 3 2 1 0 8 7 6 5 1 12 11 10 9 2 16 15 14 13 3 20 19 18 17 4 24 23 22 21 5 28 27 26 25 6 31 30 29 7 13.2.2 移植的函数结构 13.2.2 移植的函数结构 os_cpu_a.S文件函数与uCOS层交互作用图 移植任务 编写BSP,以支持ucos运行所必要的功能函数接口,主要是串口、时钟和中断,而这需要熟悉W90P710芯片的UART、Timer和AIC等部件,完成对它们的驱动。 修改uCOS的三个硬件相关文件: os_cpu_c.c os_cpu.h os_cpu_a.S 13.2.3 BSP层的移植 AIC相关函数 Aic_Init Aic_Int_Enable Aic_Int_Disable AIC_Get_Vector Timer相关函数 Timer_Init Timer_Start UART相关函数 Uart_SendChar AIC相关函数(1) 在整个中断体系中,有三级控制开关。AIC处于中断体系的第二级 AIC相关函数(2) AIC_Init :中断初始化函数,开始一般将31个中断通道都关闭,而后选择要响应设备的中断号,将其打开。因为我们要响应时钟0的中断,所以要打开13号通道 AIC相关函数(3) AIC_Int_Enable :中断使能函数,接受中断号,打开该中断通道 AIC相关函数(4) AIC_Int_Disable :和AIC_Int_Enable函数的作用相反,关闭某个中断通道 AIC相关函数(5) AIC_Get_Vector :用于从寄存器IPER里读取最高优先级的中断号,然后跳转到相应中断的处理程序。 *ISR[])()是对应中断处理函数的函数指针数组,其初始化步骤: Timer相关函数 初始化Timer:选择timer的工作模式,给计数器赋初值,选择合适的分频数。 Timer_Start 电子科技大学嵌入式软件工程中心 电子科技大学嵌入式软件工程中心 嵌入式微处理器系统及应用 嵌入式实时操作系统内核硬件相关设计与代码移植 主要内容 1 嵌入式实时操作系统内核硬件相关设计 2 嵌入式操作系统uCOS-II的移植 13.1.1嵌入式实时操作系统内核硬件相关内容 任务管理:主要实现任务的激活、结束、调度,以及一些任务信息的获取功能。 中断管理:主要实现系统中断的打开和关闭功能。 时间管理:主要实现计数器的计数、信息查询等功能,提供软件定时器,在预定时间到达时触发相关的操作,如设置事件、激活任务、进行回调等。 资源管理:对系统中的共享资源进行管理,保证资源的互斥使用,主要实现资源的获取、释放等功能。使用互斥信号量是实现资源管理的一种方式。 同步信号量:提供任务与任务之间、任务与中断之间的同步机制。 13.1.1嵌入式实时操作系统内核硬件相关内容 事件管理:一种通知机制,可以附属于任务实现,不作为一种独立的内核对象。事件管理主要负责实现事件的发送、等待、查询、清除等功能。 消息队列:提供消息发送、接收等功能,满足不同任务、中断之间数据通信的需要。如果通信的双方是位于不同的处理器上的任务,则涉及到网络通信,一般不属于操作系统内核的范畴。 邮箱:提供单条消息的发送和接收功能,发送者与接收者之间不能形成消息的缓冲队列。 执行管理:主要实现操作系统的启动和关闭功能。 13.1.1嵌入式实时操作系统内核硬件相关内容 在嵌入式实时操作系统内核的上述功能模块中,与硬件相关的模块主要是任务管理、中断管理、时间管理,具体来说是: 任务管理 任务上下文,它主要由特定嵌入式微处理器的寄存器构成,内核对任务上下文的主要操作是保存与恢复 任务栈的

文档评论(0)

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

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

1亿VIP精品文档

相关文档