自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (2)
  • 收藏
  • 关注

转载 rrc connectionRequest信令建立原因(重新整理)欢迎指正

建立原因为 originatingBackgroudCall 不明白这个rrc建立是由什么引起的,期待解答。如可详细列举所有RRC建立原因将不胜感激。弄明白了 贴出来 共享Establishment Cause:Originating Conversational Call                   会话类主叫(语音,视频电话主叫...)Originating Str

2015-01-31 19:08:31 6552

转载 基于ARM的nucleus plus的执行

一.ARM处理器的运行模式ARM处理器在嵌入式系统中应用广泛,共有7种运行模式:处理器模式描述用户模式正常程序执行的模式快速中断模式(FIQ)用于告诉数据传输和通道处理外部中断模式(IRQ)用于通常的中断处理特权模式(Supervisor ,S

2015-01-18 23:31:23 582

转载 位置区、路由区和UMTS登记区

你问的是位置区、路由区和UMTS登记区的区别吧。3G中位置区和路由区的概念和GSM及GPRS中的概念完全一致,MSC负责位置区的管理、SGSN负责路由区的管理,二者均要表明的是在当前系统中移动台当前的位置。位置区和路由区是人为划分的,可能是多个小区的组合,通过一定的标识符加以标识,位置区LA(Location Area)的标识符是LAI,路由区RA(Routing Area)的标识符是RAI,

2015-01-16 20:23:17 2188 1

转载 移动终端基带芯片基本架构

(一)概述基带数字处理功能以及手机基本外围功能都集中到单片片上系统(SOC)中,其基本构架都采用了微处理器+数字信号处理器(DSP)的结构,微处理器和DSP的处理能力一直增强。微处理器是整颗芯片的控制中心,会运行一个实时嵌入式操作系统(如Nucleus PLUS)。DSP子系统是基带处理的重点,其中包含了许多硬件加速器和基带专用处理模块,完成所有物理层功能。现在,随着实时数字信号处理技术的发展

2015-01-13 15:04:48 6185

转载 Nucleus PLUS的启动、运行线程和中断处理

nucleus系统是实时嵌入式操作系统,具有实时、任务抢先、多任务内核,其中95%的代码由C语言写成,极易移植,开放的源码使得配置和裁剪方便,再加上体积小(全部二进制映像可仅20K)、响应快速等特性,使得Nucleus PLUS得到广泛应用。另外,所谓的实时指的是对外部或者内部的事件在正确的时间内必须得到正确的响应,而不仅仅指的是“立即能够响应”。(一)Nucleus PLUS启动流程

2015-01-13 15:01:52 542

转载 Nuleus PLUS中断处理

中断发生的时候,Nucleus挂起当前的任务,处理器的控制权转交给中断处理程序(ISR)。ISR要使用系统功能,就不可避免的要使用到公共资源,而这些资源是需要保护的,保护的办法之一就是在运行ISR的时候屏蔽其它中断,但对于实时系统来说,这显然不是一个好办法,为此,Nucleus通过把应用程序的ISR区分为低级和高级中断处理程序。低级中断低级中断服务子程序(LISR)和普通的ISR一样运行在

2015-01-11 16:44:04 602

转载 Nucleus的中断分为管理的和非管理的中断

管理中断:需要向操作系统注册该中断向量,中断产生后通过该中断向量注册的低级中断服务程序( LISR )来激活高级的中断服务程序( HISR )。 非管理中断:不需要通过操作系统进行管理,直接将中断服务程序挂到中断向量表上,上下文的保存与恢复都要用户自己来做, 该中断自己不能嵌套,最好不要被管理的中断再次中断否则会引起堆栈出错 ,而且非管理的中断不能使用绝大多数的 N ucleus系统调用,

2015-01-11 15:59:43 651

转载 嵌入式实时操作系统Nucleus中线程控制部件的实现方法

近些年来,随着嵌入式系统飞速的发展,嵌入式实时操作系统广泛地应用在制造工业、过程控制、通讯、仪器仪表、汽车、船舶、航空航天、军事、装备、消费类产品等方面。今天嵌入式系统带来的工业年产值超过了1万亿美元。当前嵌入式操作系统有数百种,比较流行的有Nucleus Plus,QNX,Lynx OS,Psos,VRTX,VXWorks,Windows CE等。它们各有特色,用户可以根据自身的软硬件环境的要求

2015-01-11 15:59:09 1354

转载 nucleus plus(Hisr,lisr学习)

前言:    最近一直都在看nucleus plus,之前看过一些linux内核的一些东西,但都是停留在文字上,代码看的很少,这个nucleus plus内核的代码量不大,看过source code确实对很多OS的知识有了更深入的认识,收获还是挺多的,把学到的东西记录下来。内容:一、nucleus plus特点:    1.内核采用微内核的设计,方便移植

2015-01-11 14:40:49 2672

转载 drv_hisr.c

drv_hisr.c:源码内容

2015-01-11 12:51:10 647

转载 系统调用和库函数调用的区别

系统调用和库函数调用的区别2012-02-02 09:13:00     我来说两句      收藏    我要投稿从程序完成的功能来看,函数库提供的函数通常是不需要操作系统的服务. 函数是在用户空间内执行的,除非函数涉及到I/O操作等,一般是不会切到核心态的。系统调用是要求操作系统为用户提供进程,提供某种服务,通常是涉及系统的硬件资源和一些敏感的软件资源等。 

2015-01-10 22:54:30 456

转载 WCDMA SIB消息

SIB消息目录SIB消息1.SIB12.SIB23.SIB3/SIB44.SIB5/65.SIB76.SIB8/SIB97.SIB109. SIB11/SIB12  1.SIB1A.CN Information Elements核心网消息⑴CN Common GSM-MAP NA

2015-01-10 22:48:52 1428

转载 linux内核中断、异常、系统调用的分析以及实践

中断、异常、系统调用的分析  报告内容中断是由间隔定时器和和I/O设备产生的。异常则是由程序的错误产生,或者由内核必须处理的异常条件产生。第一种情况下,内核通过发送一个信号来处理异常;第二种情况下,内核执行恢复异常需要的所有步骤,或对内核服务的一个请求。中断和异常改变处理器执行的指令顺序,通常与CPU芯片内部或外部硬件电路产生的电信号相对应。它们提供了一种特殊的

2015-01-10 17:35:51 1199

转载 中断下半部-工作队列(比较tasklet和工作队列,推荐)

本文包含那些内容?工作队列和tasklet的区别;中断上下文;工作队列的使用;本文适合那些人阅读?想了解linuxer;学习驱动开发的beginner;学习内核模块编程beginner;其他super linux NBer;参考书籍:Linux内核设计与实现Linux操作系统原理与应用为什么还需要工作队列?工作队列(work queue)是另

2015-01-10 17:32:46 1074

转载 中断处理程序&中断服务例程

关于中断处理程序和中断服务例程ISR的区别及联系,之前一直搞混,今天抽时间将两者关系弄弄清楚。ok,下面进入主题。       首先中断处理程序(Interrupt Handler)和中断服务例程ISR(Inerrupt Service Routine)是两个不同的概念.简单来说就是,一条中断线对应一个中断处理程序,而一个中断处理程序再对应若干个中断服务例程,具体看下图所示:

2015-01-10 17:30:39 807

转载 为什么把中断分为两部分来处理

图3.8 中断的分割中断服务例程一般都是在中断请求关闭的条件下执行的,以避免嵌套而使中断控制复杂化。但是,中断是一个随机事件,它随时会到来,如果关中断的时间太长,CPU就不能及时响应其他的中断请求,从而造成中断的丢失。因此,内核的目标就是尽可能快的处理完中断请求,尽其所能把更多的处理向后推迟。例如,假设一个数据块已经达到了网线,当中断控制器接受到这个中断请求信号时,Linux内核只是简单地标志

2015-01-10 17:19:22 3886

转载 与中断有关的数据结构

Latest Update:2010/10/121.概述通过前文,我们已经知道了中断通常由上下两部分组成。在上部分,也就是中断处理程序,完成中断请求的响应以及完成那些对时间要求紧迫的工作;而在下部分,通常完成那些被推后的工作,因为这部分工作对时间的要求相对宽松一些。通过了解上下两部分的工作情况,可以更好的理解中断这个概念。从下半部分执行机制来看——不管是tasklet还是工作队列—

2015-01-10 16:53:14 537

转载 回调函数和发消息的作用比较

一回调函数我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理、用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其它函数(比如钩子函数)有何不同呢?使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数。而 那个函数在需要的时候,利用传递

2015-01-10 16:42:34 2645

转载 关于回调、消息、事件【转】

一,回调函数         我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理、用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其它函数(比如钩子函数)有何不同呢?         使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数。  

2015-01-10 16:17:19 2056

转载 中断处理

本文导读:中断处理是驱动程序开发中的重点,本文结合内核源码分析了中断上部分和下部分的实现机制Keywords:软中断, tasklet,工作队列                                                          by huangjl中断处理程序是在内核空间执行的例程,而它所运行的环境称为中断上下文,是内核管理硬件的驱动程序的组成部分。

2015-01-10 16:09:41 357

转载 中断-整体流程

文章疏理自>http://blog.csdn.net/droidphone/article/category/1118447感谢以上两位大侠的创作,读者亦可查阅原文.读完此文你可以了解到:1. 中断的处理流程2. 中断在linux中的实现3. arm架构对中断做的处理4. 电平/边沿触发时中断控制器所做的动作中断控制器PIC,与CPU连接,然后产生中断的

2015-01-10 16:04:38 376

转载 超强的Linux中断分析

1) IPI中断的初始化。   intr_init_hook调用apic_intr_init(), 后者再调用──如果CONFIG_SMP──smp_intr_init(),    这个函数设置IPI中断的处理, 然后, apic_intr_init()为另外两个IPI:SPURIOUS_APIC_VECTOR和  ERROR_APIC_VECTOR设置ISR。  2)

2015-01-10 16:02:25 660

转载 SMP系统与MPP系统比较

SMP系统与MPP系统比较SMP (Symmetric Multi Processing),对称多处理系统内有许多紧耦合多处理器,在这样的系统中,所有的CPU共享全部资源,如总线,内存和I/O系统等,操作系统或管理数据库的复本只有一个,这种系统有一个最大的特点就是共享所有资源。MPP (Massively Parallel Processing),大规模并行处理系统,这样的

2015-01-10 16:00:12 8403

转载 你的第一个中断程序!

Last Update:2011/11/09本文通过一个简单的中断程序来描述一般中断程序的基本框架。完整代码在这里。中断程序一般会包含在某个设备的驱动程序中,因此,接下来的程序本质上还是一个内核模块。说到内核模块,你应该知道首先去看什么了吧?对了,就是内核模块加载函数。01static int __init myirq_init()

2015-01-10 15:13:35 783

转载 中断处理“下半部”机制

目录(?)[-]中断处理下半部机制软中断请求softirq机制软中断描述符软中断触发机制初始化软中断softirq_init 软中断服务的执行函数do_softirq小任务 tasklet机制tasklet描述符改变一个tasklet状态的操作改变一个tasklet的运行状态使能禁止一个tasklettasklet描述符的初始化与杀死tasklet对列软中断

2015-01-10 15:08:22 548

转载 第三篇:uCOS-II 任务的创建,挂起,恢复,删除

http://blog.sina.com.cn/s/blog_98ee3a930100w8zm.html

2015-01-10 11:48:06 1173

转载 linux设备编译到内核一般有两种方法

把linux设备编译到内核一般有两种方法,一种是通过模块的方式编译,这种方式需要你编译好的内核源码树,第二种方式是你编译内核的时候直接静态的把这个设备的驱动加入到内核中。第二种方法处理起来要容易一些,但是付出的代价就是内核会很大,如果往嵌入式芯片移植的时候不划算。至于注册其实内核会提供一个注册函数,参数是你的设备号,设备类型之类的。内核运行的时候通过注册函数返回设备的一些信息,驱动中需要一些必要

2015-01-10 11:28:01 930

转载 安全编程: 防止缓冲区溢出

防止如今最常见的程序缺陷本文讨论 Linux/UNIX 系统中最常见的缺陷:缓冲区溢出。本文首先解释什么是缓冲区溢出,以及它们为何如此常见和如此危险。然后讨论广泛用于解决缓冲区溢出的新 Linux 和 UNIX 方法 ―― 以及为什么这些方法还不足够。随后将展示 C/C++ 程序中防止缓冲区溢出的各种方法,同时包括静态调整大小的方法(比如标准的 C 库和 OpenB

2015-01-06 21:08:54 795

转载 代码的分支管理策略

关于代码管理的分支和发布策略,目前我知道的主要有两种模式。  一种是主干作为新功能开发主线,分支用作发布。  另一种是分支用作新功能开发,主干作为稳定版的发布。  前一种分支管理策略被广泛的应用于开源项目。比如freebsd的发布就是一个典型的例子。freebsd的主干永远是current,也就是包括所 有最新特性的不稳定版本。然后随着新特性的逐步稳定,达到一个发布的里程碑以后,从主干

2015-01-06 21:05:38 503

转载 HISR迷惑

http://bbs.52rd.com/Thread-143022-1-1.html

2015-01-06 19:37:12 449

转载 系统调用和库函数调用的区别

从程序完成的功能来看,函数库提供的函数通常是不需要操作系统的服务. 函数是在用户空间内执行的,除非函数涉及到I/O操作等,一般是不会切到核心态的。系统调用是要求操作系统为用户提供进程,提供某种服务,通常是涉及系统的硬件资源和一些敏感的软件资源等。       函数库的函数,尤其与输入输出相关的函数,大多必须通过Linux的系统调用来完成。因此我们可以将函数库的函数当成应用程序设计人员与

2015-01-06 18:57:49 427

转载 Linux系统调用的实现机制分析

【摘要】本文介绍了系统调用的一些实现细节。首先分析了系统调用的意义,它们与库函数和应用程序接口有怎样的关系。然后,我们考察了内核如何实现系统调用,以及执行系统调用的连锁反应:陷入内核,传递系统调用号和参数,执行正确的系统调用函数,并把返回值带回用户空间。最后讨论了如何增加系统调用,并提供了从用户空间访问系统调用的简单例子。1       系统调用意义linux内核中设置了一组用于实现系统功

2015-01-06 18:40:28 522

转载 嵌入式软件总体架构

2015-01-05 21:25:12 1159

转载 判断处理器是Big_endian的还是Little——endian的

首先说明一下Little_endian和Big_endian是怎么回事,Little_endian模式的CPU对操作数的存放方式是从低字节到高字节,而Big_endian模式则是从高字节到低字节,比如32位的数0x12345678在两种模式下的存放如下:Little_endian:内存地址       存放内容0x1000          0x780x10

2015-01-05 21:09:42 1122

转载 C语言编译全过程剖析(经典转载)

编译的概念:编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。    编译的完整过程:C源程序-->预编译处理(.c)-->编译、优化程序(.s、.asm)-->汇编程序(.obj、.o、.a、.ko)-->链接程序(.exe、.elf、.axf等)1

2015-01-05 21:05:40 388

转载 操作系统的硬件环境

一、中央处理器 CPU1. 每个CPU都拥有自己的指令系统。2. CPU由运算器、控制器、寄存器和高速缓存组成。3. 寄存器具有最快的访问速度,高速缓存位于CPU和内存之间,访问速度大于内存,低于寄存器。4. CPU中的寄存器分为:用户可见寄存器、控制和状态寄存器。5. 用户可见寄存器有:数据寄存器、地址寄存器和条件码寄存器。6. 控制和状态寄存器有

2015-01-05 20:58:21 577

转载 缓冲区相关知识介绍

这里所说的缓冲区指的是为标准输入与标准输出设置的缓冲区,为什么要设置一个标准输入缓冲区主要是从效率上来考虑的,如果不设缓冲区会降低cpu的效率,因为它总是会等待用户输入完之后才会去执行某些指令!同样设置一个标准输出缓冲区是为了解决打印的问题!总之这样做的目的就是为了效率!接下来讲解一下怎么设置标准输入与标准输出缓冲区。如果我们不认为的设置的话,系统会自动的为标准输入与标准输入设置一个缓冲区

2015-01-05 20:53:16 1035

转载 Linux内核态抢占机制分析

作者:SAE团队 朱荣泽 【摘要】本文首先介绍非抢占式内核(Non-Preemptive Kernel)和可抢占式内核(Preemptive Kernel)的区别。接着分析Linux下有两种抢占:用户态抢占(User Preemption)、内核态抢占(Kernel Preemption)。然后分析了在内核态下:如何判断能否抢占内核(什么是可抢占的条件);何时触发重新调度(何时设置

2015-01-05 20:45:58 439

转载 Linux用户态和内核态

究竟什么是用户态,什么是内核态,这两个基本概念以前一直理解得不是很清楚,根本原因个人觉得是在于因为大部分时候我们在写程序时关注的重点和着眼的角度放在了实现的功能和代码的逻辑性上,先看一个例子:1)例子C代码1.     voidtestfork(){ 2.     if(0==fork()){ 3.     printf(“createnewprocesssuccess!\

2015-01-05 20:39:24 490

转载 linux0.11 块设备驱动与高速缓冲区

好久没继续,心中有愧呀。一、介绍块设备驱动中包含了三部分代码:硬盘驱动,ramdisk驱动,软盘驱动。这三个部分的代码是一致的,采用了相同的处理方式。就是说对底层来说,不同硬件采用不同的方式读取数据,但上层用同样的接口来处理读写操作。大致流程:1:程序要读取数据,首先向缓存区管理程序发出申请,并进入睡眠。2:缓冲区管理程序在缓冲区中查找是否已经读取过该数据块,是

2015-01-05 20:25:00 647

曲线积分与曲面积分解题技巧

最近刚看到的好资源,快来下啊!!!!!!!!

2009-01-17

非常全面的数学公式大全

含有高等数学,线性代数,概率论所有公式!!

2008-11-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除