
RTOS学习
文章平均质量分 64
Amao_come_on
这个作者很懒,什么都没留下…
展开
-
ARM的异常处理过程分析
近来翻了翻uC/OS-II官网给出来的ARM7-ARM9移植手册(AN-104),分析了在ARM中移植的问题,想想从来没有认真的学习过ARM的汇编,趁着这个机会复习复习吧。其实底层的东西才是创造力的心脏。其中的移植代码中存在的很多问题比如中断的关闭和开启,任务级别的情景切换,中断到任务的情景切换都是我们在平时移植中讲到,我也不在此强调了。在官网中提供的移植过程中存在异常处理机制,这个本不是转载 2015-04-19 22:05:56 · 1312 阅读 · 0 评论 -
μCOS-II移植到ARM处理器上的几个要点
一、uCOS II在ARM处理器上移植过程中的中断处理 uCOS II是一个源码公开、可移植、可固化、可剪裁和抢占式的实时多任务操作系统,其大部分源码是用ANSI C编写,与处理器硬件相关的部分使用汇编语言编写。总量约200行的汇编语言部分被压缩到最低限度,以便于移植到任何一种其它的CPU上。 uCOS II最多可支持56个任务,其内核为占先式,总是执行就绪态的优先级最高的任务转载 2014-12-04 00:06:35 · 2109 阅读 · 0 评论 -
分析2440test中的中断处理部分
================================================================================= 作者 : Etual 日期 : 2009-4-17 邮箱 : Etual@163.com =============================================转载 2014-12-04 00:15:39 · 431 阅读 · 0 评论 -
实时操作系统的概念
http://www.cnblogs.com/bastard/archive/2012/03/01/2376105.html转载 2014-12-02 14:42:16 · 596 阅读 · 0 评论 -
对MTK平台的一些认识
对MTK平台的一些认识 一、 目的 来到这里近两月,更近距离的接近了MTK。身处基于MTK平台的产品开发浪潮之中,让我对MTK有更多的了解,不光是在平台技术本身。就技术上,从软件角度、系统角度,对MTK我应该能给出深度而全面的评价或看法。就产品上,我也有自己的一些见解和思考。总之,对于MTK我所产生的思考及结论,希望能在这里同大家分享。如果能抛砖引玉,引发大家更有意义转载 2014-12-02 14:41:25 · 748 阅读 · 0 评论 -
移植µC/OS-Ⅱ
http://www.embeddedlinux.org.cn/uCOSII/chapter8.htm转载 2014-11-29 10:38:35 · 707 阅读 · 0 评论 -
TMS320F28x上RTOS移植关键技术分析
TMS320F28x上RTOS移植关键技术分析详细分析TI公司TMS320F28x系列DSP的启动过程;说明BootROM中程序的运行过程,介绍C编译器和DSP/BIOS的工作细节;探讨DSP的中断处理及从RAM中执行代码等问题。最后分析如何在TMS320F28x系列DSP上移植实时操作系统。关键词 数字信号处理器 TMS320F28x BootROM 实时操作系统 TM转载 2014-11-29 10:35:20 · 2060 阅读 · 0 评论 -
HISR和LISR的区别
http://bbs.52rd.com/Thread-143022-1-1.html转载 2014-11-29 00:27:12 · 2885 阅读 · 0 评论 -
μC/OS-II中缩短中断关闭时间的方法
μC/OS-II中缩短中断关闭时间的方法在实时操作系统中,由于是多任务的并发运行,所以在进入一些临界区时为了保证多任务的正常运行要关中断。而最大关中断时间是衡量一个实时操作系统性能的重要指标,因为外部的输入一般都是通过中断方式来通知系统的,系统如果关中断时间长,必然不能及时接收中断,对中断的及时处理就更谈不上。 更重要的是,有些应用场合对关中断的时间有非常严格的要求。例如,在电力系统转载 2014-11-29 01:00:01 · 1165 阅读 · 0 评论 -
main函数及ISR init分析
初始化中断服务程序。当中断产生时,处理相应的程序void Isr_Init(void){pISR_UNDEF=(unsigned)HaltUndef;pISR_SWI =(unsigned)HaltSwi;pISR_PABORT=(unsigned)HaltPabort;pISR_DABORT=(unsigned)HaltDabort;rINTMOD=0x0; /转载 2014-12-04 00:00:23 · 1490 阅读 · 0 评论 -
为什么把中断分为两部分来处理
图3.8 中断的分割中断服务例程一般都是在中断请求关闭的条件下执行的,以避免嵌套而使中断控制复杂化。但是,中断是一个随机事件,它随时会到来,如果关中断的时间太长,CPU就不能及时响应其他的中断请求,从而造成中断的丢失。因此,内核的目标就是尽可能快的处理完中断请求,尽其所能把更多的处理向后推迟。例如,假设一个数据块已经达到了网线,当中断控制器接受到这个中断请求信号时,Linux内核只是简单地标志转载 2015-01-10 17:19:22 · 4026 阅读 · 0 评论 -
嵌入式c编程技巧_编程风格
目录:一.编程修养二.编程技巧三.编程风格 /*******************************************************一.编程修养 ----C语言程序写作上的三十二个“修养”*******************************************************/转载 2014-12-05 23:39:27 · 560 阅读 · 0 评论 -
可重入函数的概念
主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能运行在多任务环境下的。 也可以这样理解,重入即表示重复进入,首先它意味着这个函转载 2014-12-14 01:21:11 · 816 阅读 · 0 评论 -
基于ARM的nucleus plus的执行
一.ARM处理器的运行模式ARM处理器在嵌入式系统中应用广泛,共有7种运行模式:处理器模式描述用户模式正常程序执行的模式快速中断模式(FIQ)用于告诉数据传输和通道处理外部中断模式(IRQ)用于通常的中断处理特权模式(Supervisor ,S转载 2015-01-18 23:31:23 · 634 阅读 · 0 评论 -
Nuleus PLUS中断处理
中断发生的时候,Nucleus挂起当前的任务,处理器的控制权转交给中断处理程序(ISR)。ISR要使用系统功能,就不可避免的要使用到公共资源,而这些资源是需要保护的,保护的办法之一就是在运行ISR的时候屏蔽其它中断,但对于实时系统来说,这显然不是一个好办法,为此,Nucleus通过把应用程序的ISR区分为低级和高级中断处理程序。低级中断低级中断服务子程序(LISR)和普通的ISR一样运行在转载 2015-01-11 16:44:04 · 635 阅读 · 0 评论 -
中断处理“下半部”机制
目录(?)[-]中断处理下半部机制软中断请求softirq机制软中断描述符软中断触发机制初始化软中断softirq_init 软中断服务的执行函数do_softirq小任务 tasklet机制tasklet描述符改变一个tasklet状态的操作改变一个tasklet的运行状态使能禁止一个tasklettasklet描述符的初始化与杀死tasklet对列软中断转载 2015-01-10 15:08:22 · 577 阅读 · 0 评论 -
你的第一个中断程序!
Last Update:2011/11/09本文通过一个简单的中断程序来描述一般中断程序的基本框架。完整代码在这里。中断程序一般会包含在某个设备的驱动程序中,因此,接下来的程序本质上还是一个内核模块。说到内核模块,你应该知道首先去看什么了吧?对了,就是内核模块加载函数。01static int __init myirq_init()转载 2015-01-10 15:13:35 · 810 阅读 · 0 评论 -
第三篇:uCOS-II 任务的创建,挂起,恢复,删除
http://blog.sina.com.cn/s/blog_98ee3a930100w8zm.html转载 2015-01-10 11:48:06 · 1218 阅读 · 0 评论 -
嵌入式实时操作系统Nucleus中线程控制部件的实现方法
近些年来,随着嵌入式系统飞速的发展,嵌入式实时操作系统广泛地应用在制造工业、过程控制、通讯、仪器仪表、汽车、船舶、航空航天、军事、装备、消费类产品等方面。今天嵌入式系统带来的工业年产值超过了1万亿美元。当前嵌入式操作系统有数百种,比较流行的有Nucleus Plus,QNX,Lynx OS,Psos,VRTX,VXWorks,Windows CE等。它们各有特色,用户可以根据自身的软硬件环境的要求转载 2015-01-11 15:59:09 · 1405 阅读 · 0 评论 -
nucleus plus(Hisr,lisr学习)
前言: 最近一直都在看nucleus plus,之前看过一些linux内核的一些东西,但都是停留在文字上,代码看的很少,这个nucleus plus内核的代码量不大,看过source code确实对很多OS的知识有了更深入的认识,收获还是挺多的,把学到的东西记录下来。内容:一、nucleus plus特点: 1.内核采用微内核的设计,方便移植转载 2015-01-11 14:40:49 · 2850 阅读 · 0 评论 -
ARM嵌入式系统中断向量表的动态配置
摘要:通常32位ARM嵌入式系统的中断向量表是在程序编译前设置好的,每次编写中断程序都要改C程序的汇编启动代码,相当繁琐。本文给出一种配置ARM中断向量表新方法。该方法比通常方法仅增加一条指令执行时间,简便高效,功能完备,向量表在运行时动态生成,C程序可以使用固定向量表的启动代码,并可隐藏起来。一般32位ARM嵌入式系统的中断向量表是程序编译前设置好的。在编写32位ARM嵌入式系统的中断服转载 2014-11-26 12:52:46 · 758 阅读 · 0 评论 -
嵌入式系统优先级反转问题的分析 (1)
发布时间:2006.12.18 05:02 来源:电子产品世界 作者:电子产品世界摘要: 本文介绍了嵌入式系统任务调度优先级反转的一个实例。通过实例的讨论对嵌入式系统优先级反转有一个更深入的了解,有助于在编程中避免此类问题的发生。关键词:嵌入式实时系统;VxWorks;多任务;优先级反转。引言VxWorks是美国Wind River转载 2014-11-16 15:30:53 · 802 阅读 · 0 评论 -
ucos试验代码实例1:任务优先级反转
任务优先级反转:原理是,信号量是稀缺资源,当一个低优先级的任务霸占了信号量,高优先级任务想要用这个信号量只好等待,于是呢,在这个间隙里,中优先级的任务(当然,这个任务是不想用该信号量的)就获得了CPU的使用权,等低优先级任务在中优先级任务的压迫下缓慢的完成了信号量的使用并做了释放,这时高优先级的任务才得以获得信号量继续运行。这样,看实际效果呢,中优先级任务就事实上比高优先级任务更加优先了,转载 2014-11-16 15:21:28 · 2425 阅读 · 0 评论 -
GNU ARM汇编(综合的学习资料)
http://www.linuxidc.com/Linux/2012-08/68020.htm转载 2014-09-25 21:34:39 · 810 阅读 · 0 评论 -
自己实现的一个RTOS《实时操作系统揭秘》
http://bbs.youkuaiyun.com/topics/300000723转载 2014-09-25 13:37:04 · 975 阅读 · 0 评论 -
关于线程与进程以及线程和进程控制块理解
进程和线程的概念:进程是表示资源分配的基本单位,又是调度运行的基本单位。用户运行自己的程序,系统就创建一个进程,并为它分配各类资源。然后,把该进程放人进程的就绪队列。进程调度程序选中它,为它分配CPU以及其它有关资源,该进程才真正运行。进程是系统中的并发执行的单位。线程是进程中执行运算的最小单位,即执行处理机调度的基本单位。如果把进程理解为在逻辑上操作系统所完成的任务,那么线程表示转载 2014-09-25 13:54:39 · 3575 阅读 · 0 评论 -
有限状态机(FSM)的设计与实现(二)
分层状态机的设计:对于状态较多的状态机,通常的设计会维护一个庞大的二维矩阵,所有状态耦合在一起,这往往导致维护困难,由于可能存在许多公共的特性,也会导致许多状态具有相同的处理函数。针对这些问题我们可以通过设计分层状态机来解决,主要的思想就是根据不同的功能模块设计出多个状态机,各个状态机分布在不同的层次上。上层状态机调用下层状态机时,上层状态机入栈,下层状态机变为当前处理状态机。通常我们使用堆栈转载 2014-09-24 19:10:24 · 958 阅读 · 0 评论 -
《基于ARM的嵌入式系统设计与开发》学习笔记
目录 第1章 嵌入式系统基本概述 1.1 嵌入式系统的概念 嵌入式系统:嵌入到对象体系中的专用计算机系统。嵌入性、专用性、计算机系统是其三大基本要素。 国内一般定义:以应用为中心,计算机技术为基础,软硬件可剪裁,适应应用系统对功能,成本,体积,可靠性,功耗严格要求的专用计算机系统。 1.2转载 2014-09-24 15:37:55 · 1912 阅读 · 0 评论 -
关于优先级反转
在多进程、多线程并发的环境里,从概念上看,有多个进程或者多个线程在同时执行,具体到单个CPU级别,实际上任何时刻只能有一个进程或者线程处于执行状态;因此OS需要决定哪个进程执行,哪些进程等待,也就是进程的调度。一、调度的目标1、首先要区分程序使用CPU的三种模式:IO密集型、计算密集型和平衡型。对于IO密集型程序来说,响应时间非常重要;对于CPU密集型来说,CPU的周转时间就比较重要;对于转载 2014-09-24 21:38:03 · 455 阅读 · 0 评论 -
RTOS设备驱动向嵌人式Linux的移植
Linux暴风雨般占领了嵌入式系统市场。分析家指出,大约有1/3到1/2的32/64位新的嵌入式系统设计采用了Linux。嵌入式 Linux 已经在很多应用领域显示出优势,比如SOHO家庭网络和成像/多功能外设。在(NAS/SAN)存储,家庭数字娱乐(HDTV/PVR/DVR/STB),和手持设备/无线设备,特别是数字移动电话更获得大幅度发展。 嵌入式Linux新应用不会凭空从开发者转载 2014-09-24 09:52:55 · 865 阅读 · 0 评论 -
RTOS学习好资料
什么是RTOS(维基百科定义)? 实时操作系统(Real-Time Operating System, RTOS,通常读作"R-toss"),指的是专为实时应用而设计的多任务操作系统。其应用场合包括嵌入式系统(可编程恒温器,家用控制器),工业机器人,航空器,工业控制器,和科学研究设备等。 RTOS促进了实时系统的创造性,但它并不保证最终的结果是实时的。实时结果的保证要求软件的转载 2014-09-24 10:39:30 · 2395 阅读 · 0 评论 -
如何理解优先级反转这个概念
优先级翻转发生的条件: 1、首先发生翻转需要有三个任务,它们的优先级分别是高、中、低。 2、低优先级和高优先级都需要take同一个信号量。 优先级翻转的过程: 1、低优先级先take到信号量。 2、低优先级被中优先级任务抢占。(然后低优先级任务就只能等中优先级任务执行完,再继续执行之后,才能释放信号量了) 3、高优先级需要take该转载 2014-09-25 10:19:06 · 663 阅读 · 0 评论 -
多线程死锁问题
前天俺们谈到了加锁,但是在使用加锁的同时又会带来一个问题,就是死锁。什么叫死锁?所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。 那么为什么会产生死锁呢?1.因为系统资源不足。2.进程运行推进的顺序不合适。 3.资源分配不当。 学过操作系统的朋友都知道转载 2014-09-25 11:18:23 · 463 阅读 · 0 评论 -
一位老电子工程师十年的职场感悟
当电子工程师也是十余年了,不算有出息,环顾四周,也没有看见几个有出息的!回顾工程师生涯,感慨万千,愿意讲几句掏心窝子的话,也算给咱们师弟师妹们提个醒,希望他们比咱们强! 好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋润一些,爽一些。那 么,就需要慎重安排自己的轨迹。从哪个行业入手,逐渐对该行业深入了解,不要频繁跳槽,特别是不转载 2014-09-24 20:46:01 · 3405 阅读 · 0 评论 -
ucos试验代码实例2:互斥型信号量的应用实例--防止任务优先级反转现象的出现
续实验1-----ucos试验代码实例1:任务优先级反转在运行效果中明显看到,中等优先级的任务2抢夺了高优先级的任务1的运行权为了防止出现任务优先级反转,要使用互斥型信号量,此文就是实例与《ucos试验代码实例1:任务优先级反转》代码相比,修改了如下1.main函数中 创建互斥型信号量,允许占用信号量的任务短暂使用0优先级 Sem=OSMut转载 2014-11-16 20:00:34 · 1891 阅读 · 0 评论 -
uc/os-ii信号量的理解
http://bbs.youkuaiyun.com/topics/390322007转载 2014-11-16 20:11:54 · 480 阅读 · 0 评论 -
任务调度 (好资料)
ucos的任务调度思想是:“近似的让每时每刻让优先级最高的就绪任务处于运行状态”。在具体做法上,他在系统或用户任务调用系统函数及执行中断服务程序结束时来调用调度器,以确定应该运行的任务并运行它。 1,调度器的主要工作 在多任务系统中,令CPU中止当前正在运行的任务转而去运行另一个任务的工作叫做任务切换,而按某种规则进行任务切换的工作叫做任务调度。转载 2014-09-29 09:59:16 · 919 阅读 · 0 评论 -
实时操作系统概述(推荐) .
一 实时操作系统概述1 操作系统概述在计算机技术发展的初期阶段,计算机系统中没有操作系统(Operating System)这个概念。应用程序开发人员都要对处理器和硬件进行彻头彻尾的控制。实际上,第一个操作系统的诞生,就是为了提供一个虚拟的硬件平台,以方便程序员开发,同时提高计算机的资源利用率。为实现这个目标,操作系统只需提供一些较为松散的函数、例程――就好象现在的软件库一样――转载 2014-09-29 09:41:05 · 4434 阅读 · 0 评论 -
嵌入式学习经验
嵌入式门槛虽然较高,但也跟其他事物一样,并不是牢不可破。只要我们用心去对待,冬雪终将化去,春风定会吹来。具体步骤如下: 1、《C语言》第二版 谭浩强; 《C程序设计语言》第二版 徐宝文译 机械工业出版社 你能区分开指针数组和数组指针吗?你知道函数指针吗? 你能区分开定义一个变量时系统给它分配的空间与用malloc()函数给一个变量分配的空间有什么不一样吗?2、《数据结构》C转载 2014-09-29 10:43:47 · 960 阅读 · 0 评论 -
嵌入式学习13法则
通过实践、整理、分析,本人将自己在学习嵌入式开发过程中所总结的一些嵌入式法则、整理如下以供大家参考:1 资源有限性法则嵌入式计算不仅需要网络快速、一致的计算,而且也要求系统能够井然有序地将其执行代码和数据,存储在一个“共同” 的“ 狭小”的空间内。2 鲁棒性法则嵌入式计算不仅要求系统迅速而有效的计算,而且还要求在某些计算单元出现错误的时候,系统仍然能够继续正常运行工作。3转载 2014-09-29 10:41:59 · 394 阅读 · 0 评论