找回密码
 注册
关于网站域名变更的通知
查看: 351|回复: 1
打印 上一主题 下一主题

嵌入式系统的一些基本概念

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-10-26 13:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
嵌入式系统的一些基本概念
# P' D: f; o0 `- t* ^) `$ g9 l
" S2 o7 P' s5 K" Z
前后台系统 应用程序一般是一个无限的循环,可称为前后台系统或超循环系统。循环中调用相应的函数完成相应的操作,这部分可以看成后台行为。中断服务程序处理异步事件,这部分可以看成前台行为。后台也可以叫做任务级,前台也叫中断级。时间相关性很强的关键操作一定是靠中断服务程序来保证的。因为中断服务提供的信息一直要等到后台程序走到该处理这个信息这一步时才能得到进一步处理,所以这种系统在处理的及时性$ b6 U% ^! B+ K5 P" _0 ]
上比实际可以做到的要差。这个指标称作任务级响应时间。
6 j! c% G" _* E/ C( F, N" {
' a5 q8 ~! p+ t9 _& n. A实时操作系统(RTOS):实时操作系统是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于 RTOS 之上的各个任务,RTOS根据各个任务的要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。在 RTOS支持的系统中,每个任务均有一个优先级,RTOS根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。实时多任务操作系统,以分时方式运行多个任务,看上去好象是多个任务“同时”运行。只有优先服务方式的RTOS才是真正的实时操作系统,时间分片方式和协作方式的RTOS并不是真正的“实时”。
* ?% ~. r4 a! }# h/ A
% ?( x5 U6 T! s* w, T代码的临界区:指处理时不可分割的代码,运行这些代码不允许被打断。一旦这部分代码开始执行,则不允许任何中断打入(这不是绝对的,如果中断不调用任何包含临界区的代码,也不访问任何临界区使用的共享资源,这个中断可能可以执行)。为确保临界区代码的执行,在进入临界区之前要关中断,而临界区代码执行完成以后要立即开中断。
( I$ w" O# x5 H4 z6 s
4 K- T! C. ~, u非占先式内核:非占先式内核要求每个任务自我放弃CPU 的所有权。非占先式调度法也称作合作型多任务,各个任务彼此合作共享一个CPU。异步事件还是由中断服务来处理。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。
( x  \( |' K1 t  c8 `
% f7 G$ ]7 B. q* y占先式内核:当系统响应时间很重要时,要使用占先式内核。因此绝大多数商业上销售的实时内核都是占先式内核。最高优先级的任务一旦就绪,总能得到CPU 的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪状态,当前任务的 CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了 CPU的控制权。如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。" ~) J( y# S+ h. ?0 r6 Z
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 20:42 , Processed in 0.156250 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表