最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

Linux在TD-SCDMA智能手机的应用与实时性改进

IT圈 admin 30浏览 0评论

2024年4月2日发(作者:奇光霁)

维普资讯

第29卷 

第2期 

Vo1.29 NO.2 

计算机工程与设计 

Computer Engineering and Design 

2008年1月 

Jan.2008 

Linux 在TD.SCDMA智能手机的应用与实时性改进 

万兵, 郑建宏 

(重庆邮电大学移动通信研究中心,重庆400065) 

摘要:提出了嵌入式Linux在TD.SCDMA智能手机上的实现架构,对Linux的实时性进行改进,构建了一个包含实时内核和 

标准内核的双内核Linux,实现事件优先级、抢占调度以及细粒度时钟。在一款TD—SCDMA无线终端评估板上进行测试,最 

大任务调度延时和中断响应时间分别为14 s和3 s,达到了实时性要求。 

关键词:嵌入式Linux;智能手机;实时双内核;实时抢占;实时定时器 

中图法分类号:TN929.5 文献标识码:A 文章编号:1000—7024(2008)02-0279—03 

Implementation of Linux on TD—-SCDMA smart phone and real—-time 

capability betterment 

WAN Bing. ZHENG Jian—hong 

(Mobile Communication Engineering R&D Center,Chongqing University of Posts and Telecommunications, 

Chongqing 400065,China) 

Abstract:The architecture of implementing embedded Linux on TD—SCDMA smart phone is proposed.Then the design of real-time 

Linux is illustrated in detail,which is composed of real—time kernel and standard Linux kernel,support event priority and preempted 

real time,and precise time.Test on a TD—SCDMA wireless terminal evaluation board,the delay ofreal—time task is lower than 14 Its 

and the interrupt response time is lower than 3 Its,the need ofreal—time system is meet、 

Key words:embedded Linux;smart phone;real--time double kernel;real—-time preempt;real--time timer 

0 引 言 

多媒体功能丰富融合的3C智能手机将成为未来手机发 

展的方向,而实现这些功能操作系统就要求高效和易于扩展。 

Linux因其诸多的优点越来越受到研发商和运营商的青 

睐:①价格是其最显而易见的优势,对于日益注重降低成本 

的移动通信市场无疑具有极大的吸引力:@Linux操作系统系 

统资源占用率较低,性能比较稳定;@Linux是无任何附加条 

件的开放平台:@Linux操作系统与Java的相互融合,能够给 

用户极大的拓展空间。这样,运营商对Linux作为智能手机操 

作系统格外的青睐,让业界对Linux充满了信心。 

本文以采用Linux的TD.SCDMA智能手机为例,首先给 

出了单、双两种实现架构,然后结合单CPU架构分析了通用 

的嵌入式Linux在实时性方面存在的不足,提出了详细的改进 

图1双CPU智能手机体系结构 

构架如图1所示。 

虽然目前许多设计方案采用的是双核,但是专业人士认 

为单核是今后的趋势。单CPU的智能手机系统将去掉核A, 

并将核B的RTOS换成强实时性的Linux内核,其它作相应的 

改动。方案更好地发挥了Linux的优点,而且只需要一套操作 

系统,可以附加一个多媒体专用芯片来处理多媒体业务,通过 

方法,并在TD—SCDMA评估板上进行了测试。 

1 Linux智能手机系统构架 

现在的智能手机方案有双核和单核两种,双CPU的系统 

收稿日期:2007—02—05 E-malr:wanbingwork@yahoo.com.ca 

提高处理器主频来缓减高速大量数据处理的压力。在成本方 

面占很大优势,这是运营商和用户都非常敏感的问题。 

基金项目:国家863高技术研究发展计划基金项目(2004AA001390);国家“火炬计划”基金项目(1409)。 

作者简介:万兵(1982一),男,四川乐山人,硕士研究生,研究方向为第三代移动通信; 郑建宏,男,教授,博士生导师,研究方向为通信与 

信息系统。 

279・—— 

———

维普资讯

但是Linux本质上是一个非实时操作系统,需要进行实时 

没有实时任务运行时以软件中断的形式传递给标准Linux内 

核,如图3所示。 

性改进: ̄3cPP定义的一个TDMA帧长度为10ms,又分成两 

个子帧,每个子帧的时长为5 ms0】。DSP和ARM之间必须维 

持5 ms的帧同步,需要内核支持高精度的时钟来实现对实时 

任务的精确控制。③在TD.SCDMA系统中,每隔5ms就要产 

生一个中断,中断延迟最短的要求6 las左右。⑧随着今后流 

- ‘。。。。。。’。。。’。。。。。。。一

屏蔽中断If fI 中断 ]J 匝 

‘。。。。 ‘。一 

_

标准L匿圃inux内核 匦 

linux ■i rq_mask I 

linuxirq

 RIea1.TimelLinux内核 I 

_

视频业务的增加,64K的视频编解码、音频视频同步等使得CS 

域(电路域)数据高速大量传输,需要一定的实时条件的保证。 

irq() ̄Idispaoi

[dispaci

q0 1 [d垄

pao.

+(rt linux sti f >l 

unmask  I

_

sr

is

rt 1inux clj J f f l 

2 Linux实时性改进 

2.1实时Linux双内核的设计 

如图2所示,在Linux标准内核和硬件中断之间添加一个 

实时内核,通过截获硬件中断来实现,实时内核采用固定优先 

(.*deinsabvloe—i~d rq)(0) 蒋

void 

 

级调度算法,标准Linux内核优先级最低,可以被作为一个实 

时任务随时抢断。所有硬件中断都被中断分发器捕获,实时 

中断将激活实时任务运行。当实时内核中没有实时任务时, 

图3中断模拟 

2.2实时抢占调度设计 

除了中断设计外,还有一个重要的实时改进点是可抢占 

式实时调度。采用固定优先级的实时调度,调度器从就绪队 

列中选取优先级最高的任务并为其分配资源运行,如果就绪 

的任务比当前的任务优先级高则发生抢断。我们选用经典的 

速率单调算法(rate—monotonic scheduling algorithm,M)R ,下面 

就将它捕获的非实时硬件中断以软件中断的形式传递给标准 

Linux内核。 

简要的描述一下使用RM

的实现: 

算法改进后的调度函数rt—schedule 

(1)更新实时任务的状态 

foreach

_

rttask(p) 

if((p.>state—RT TASK DELAYED)&&(p.>resume 

time<(now+1 0))) 

{p->state—RT

TASK

READY;, 

__

new

task=&rt

linux

task; 

_

_

(2)MR

图2改进的实时Linux双内核结构 

算法 

__

_

shortest

period=rt

linux

task; 

for

each

__

rttask(p) 

_

在该设计中最关键的是中断的处理,实现的时候非常得 

if((p一>state—READY)&&(task一>period<shortest

pe— 

riod)) . 

益于实时硬件抽象层(RTHAL)。 的功能,它是由一些构建底层 

设备的汇编代码组成。其中有一个很重要的数据结构rt_hal, 

下面给出其主要的成员: 

struct rt

hal< 

{new task=p;shortest_peirod=p->period;) 

preemptor=0: 

ime=RT

TIME END; 

preempt

_

_

void(*do/RQ)(int,struct pt

regs ); 

_

for each )

rttask(p 

void( doSRQ)(int,struct pt_regs ); 

_

if((p一>state—RT

TASK

DELAYED)&&(p->resumetime 

__

void(*do TRAP)tint,struct pt regs ); 

void(*enable irq)(void); 

void(*disable-rq)(void); 

……

<preempt

time)) 

_

{preempt_time一(p一>resmeu_time;preemptor=p;) 

(3)任务切换 

new

_

)attribute((aligned)(32)): 

task->state=RT TASK

DELAYED; 

_

_

结构定义的函数指针在响应硬实时中断的时候通过指针 

调用被动态地传递给实时Liunx内核。在实时Linux内核中 

inux

cl

定义了这些函数:rt

i0与disableirq0对应,关闭中断状 

_

_

rt switch

to(new task); 

2.3硬实时时钟的设计 

普通的Linux定时器的调度粒度为10 ms,无法满足实时 

要求 。这里采用一种叫做OneShot的定时器模式,其思想是 

将时钟的时间间隔设定为下一次时钟中断发生的时间,使定 

时器在指定的时间中断CPU,每次时钟中断根据当前系统时 

_

态;rt linuxsti0与enable

irqO对应,开启中断状态;linux_irq_ 

__

mask0和linux irq unmask0分别为屏蔽和解屏蔽中断;函数dia. 

pach

_

irqO用于判断当前中断是否是实时中断,是则就交给实 

_

时Linux内核处理,否则放入中断请求队列IRQ ,等待

Queue 

-——

间和每个实时任务的运行周期决定下一次时钟中断间隔。处 

280-—— 

维普资讯

理流程如下: 

表1任务调度延时 

周期 

区问/ns 100 ps 50 us 20 us 

(1)保存本次中断时间interrupt_time; 

time Linux 

(2)判断interrupt 是否大于 系统时钟,如果是则

调用时钟中断增加jiies值,否则就进入(f3); 

(3)扫描实时进程队列并设置相关进程状态,找出就绪的 

最高优先级进程下次调用; 

(4)扫描实时进程队列,找出待执行的进程,计算其启动时 

间,并以此修改下一次定时器中断时间值; 

(5)如果当前进程就是最高优先级的就绪进程则不用切 

0.2000 

2001.4000 

4001.6000 

6001.8000 

8001.10 000 

次数 

14 692 

% 

1.40 

次数 

24 568 

556 924 

245 645 

587 

25 578 

2.88 

65-20 

28.75 

0.07 

2.99 

次数 

18 234 

834 591 

645 626 

2865 

94 

% 

1-21 

55.53 

42.96 

0.19 

0.00 

456 491 43.53 

546442 52.11 

1064 

19 565 

0.10 

1.87 

换,否则进行进程的切换。 

3改进的实时性能测试 

本测试是在一款TD.SCDMA无线终端评估板上进行的, 

该评估板包含一个ARM926EJ.S内核,系统时钟26MHz,最高 

主频200MsHz,采用的Linux内核2.4.18。测试分两个部分:①调 

度延时测试;②中断响应时间的测试。 

3.1测试例构造 

(1)调度延时测试:用下面代码来测试睡眠后的调度延时, 

长时间测试,适当的时候停下来: 

dof 

clock

_

nanosleep(CLOCK

REALTIME, 

_

咖 

TIMER ABSTIME,hrt2ts(expected-advance),NULL)

中断次数 

; 

expected+ period; 

now=lock

_

gethrtime(CLOCK

_

MONOTONIC); 

delay=now-last

_

time-T: 

lasttime=now; 

write(fd

iffo,delay,sizeo delay)); 

[=

_

counter++:}while(1) 

每次的延时都将通过FIFO写入文件,clock_nanosleep函 

数用来睡眠一个周期,我们选取了T=100 ps、T=50 ps和T= 

20 s这3组来考察。 

(2)中断响应时间的测试:有两种方法可以测试中断响应 

时间:示波器和读取定时计数器值 。我4"1]采用读取示波器 

法,采用的是100MHz的数字示波器。用两个MPUIO信号A 

和B,A作为输入,通过输入一个高电平来触发B产生一个 

MPUIO中断,将B拉成高电平,在中断服务程序中的第一条 

指令处再将B拉成低电平,通过读取示波器值,B信号的高电 

平维持时间就可以作为中断响应时间。 

3.2结果及分析 

测试结果分别如表1和图4所示,任务调度延时时间大 

部分小于6 ps,RT linux 2.0在60 MHz的486平台上测试结果 

为25 s ,当然这与平台是紧密相关,只能相对的比较。中断 

响应时间为多数为1.5ps,最坏的不超过3 ps,在同样的平台上 

对时势操作系统Nucleus进行同样的测试,绝大多数响应在 

950ns~1100ns之间。所以,对于智能手机这类产品来说,上面 

的改进是满足要求的。 

4结束语 

本文提出的Linux智能手机方案还处于评估试验阶段,对 

Linux的实时性改进是在单纯的环境下得出了较好的效果,但 

10 001.12 000 8563 0.82 56 0.00 524 0.04 

12 001.14 000 1746 0.17 958 0.11 993 0.07 

14 001.16 000 0 0.0 0 0.00 0 0.00 

>16 000 0 0.00 0 0.00 0 0.00 

瑚 咖㈣ 0 

监 

500 1000 1500 2000 2500 3000 

MPUIO中断响应时间/ns 

图4 中断响应时间 

是如果考虑到今后DPM(动态电源管理)等功能的添加,典型 

===== 

的对实时性能的一个挑战是DPM下深度睡眠方式期间对中 

断的响应 ,这还有待于进一步的研究。

==== 

 

参考文献: 

[1] 李小文,李贵勇,陈贤亮,等.TD.SCDMA第三代移动通信系统、 

信令及实现[M].北京:人民邮电出版社,2002:98.99. 

[2] 李方敏,李仁发,叶澄清.实时Linux操作系统的研究与设计[J] _

湘潭矿业学院学报,2000,15(3):71-75. 

[3] 李小群,赵惠斌,叶以明,等.RFRTOS:基于Linux的实时操作系 

统[J]_软件学报,2003,14(7):1203.1212. 

[4] Bini E,Buttazzo GC.The space of rate monotonic schedulability 

[C].Proc ofthe 23rd IEEE Real-Time Systems Symp Austin Te- 

xas:IEEE Computer Society Press,2002:169-178. 

[5] 邹勇,王青,李明树.Linux内核的实时支持的研究与实现[J]_计 

算机研究与发展,2002,39(4):466.472. 

[6]Luca Abeniy,Ashvin Goel,Charles Krasic,et a1.A measurement— 

based analysis of the real—time performance of Linux[C].Pro- 

ceedings ofthe English IEEE,Real-Time nad Embedded Techno- 

logy and Applications Symposium RTAS’02).Washtong DC, 

USA:IEEE Computer Society,2002:133-142. 

[7] 王伟.蒋斌.4种实时操作系统实时性的分析对LL[J].电子产品 

世界,2003(8):61.63. 

[8] Simunic.Dynamic Voltage scaling and power management for 

portable systems[R].Proceedings ofthe 38th Design Automation 

Conference,200 1. 

281一 

==

2024年4月2日发(作者:奇光霁)

维普资讯

第29卷 

第2期 

Vo1.29 NO.2 

计算机工程与设计 

Computer Engineering and Design 

2008年1月 

Jan.2008 

Linux 在TD.SCDMA智能手机的应用与实时性改进 

万兵, 郑建宏 

(重庆邮电大学移动通信研究中心,重庆400065) 

摘要:提出了嵌入式Linux在TD.SCDMA智能手机上的实现架构,对Linux的实时性进行改进,构建了一个包含实时内核和 

标准内核的双内核Linux,实现事件优先级、抢占调度以及细粒度时钟。在一款TD—SCDMA无线终端评估板上进行测试,最 

大任务调度延时和中断响应时间分别为14 s和3 s,达到了实时性要求。 

关键词:嵌入式Linux;智能手机;实时双内核;实时抢占;实时定时器 

中图法分类号:TN929.5 文献标识码:A 文章编号:1000—7024(2008)02-0279—03 

Implementation of Linux on TD—-SCDMA smart phone and real—-time 

capability betterment 

WAN Bing. ZHENG Jian—hong 

(Mobile Communication Engineering R&D Center,Chongqing University of Posts and Telecommunications, 

Chongqing 400065,China) 

Abstract:The architecture of implementing embedded Linux on TD—SCDMA smart phone is proposed.Then the design of real-time 

Linux is illustrated in detail,which is composed of real—time kernel and standard Linux kernel,support event priority and preempted 

real time,and precise time.Test on a TD—SCDMA wireless terminal evaluation board,the delay ofreal—time task is lower than 14 Its 

and the interrupt response time is lower than 3 Its,the need ofreal—time system is meet、 

Key words:embedded Linux;smart phone;real--time double kernel;real—-time preempt;real--time timer 

0 引 言 

多媒体功能丰富融合的3C智能手机将成为未来手机发 

展的方向,而实现这些功能操作系统就要求高效和易于扩展。 

Linux因其诸多的优点越来越受到研发商和运营商的青 

睐:①价格是其最显而易见的优势,对于日益注重降低成本 

的移动通信市场无疑具有极大的吸引力:@Linux操作系统系 

统资源占用率较低,性能比较稳定;@Linux是无任何附加条 

件的开放平台:@Linux操作系统与Java的相互融合,能够给 

用户极大的拓展空间。这样,运营商对Linux作为智能手机操 

作系统格外的青睐,让业界对Linux充满了信心。 

本文以采用Linux的TD.SCDMA智能手机为例,首先给 

出了单、双两种实现架构,然后结合单CPU架构分析了通用 

的嵌入式Linux在实时性方面存在的不足,提出了详细的改进 

图1双CPU智能手机体系结构 

构架如图1所示。 

虽然目前许多设计方案采用的是双核,但是专业人士认 

为单核是今后的趋势。单CPU的智能手机系统将去掉核A, 

并将核B的RTOS换成强实时性的Linux内核,其它作相应的 

改动。方案更好地发挥了Linux的优点,而且只需要一套操作 

系统,可以附加一个多媒体专用芯片来处理多媒体业务,通过 

方法,并在TD—SCDMA评估板上进行了测试。 

1 Linux智能手机系统构架 

现在的智能手机方案有双核和单核两种,双CPU的系统 

收稿日期:2007—02—05 E-malr:wanbingwork@yahoo.com.ca 

提高处理器主频来缓减高速大量数据处理的压力。在成本方 

面占很大优势,这是运营商和用户都非常敏感的问题。 

基金项目:国家863高技术研究发展计划基金项目(2004AA001390);国家“火炬计划”基金项目(1409)。 

作者简介:万兵(1982一),男,四川乐山人,硕士研究生,研究方向为第三代移动通信; 郑建宏,男,教授,博士生导师,研究方向为通信与 

信息系统。 

279・—— 

———

维普资讯

但是Linux本质上是一个非实时操作系统,需要进行实时 

没有实时任务运行时以软件中断的形式传递给标准Linux内 

核,如图3所示。 

性改进: ̄3cPP定义的一个TDMA帧长度为10ms,又分成两 

个子帧,每个子帧的时长为5 ms0】。DSP和ARM之间必须维 

持5 ms的帧同步,需要内核支持高精度的时钟来实现对实时 

任务的精确控制。③在TD.SCDMA系统中,每隔5ms就要产 

生一个中断,中断延迟最短的要求6 las左右。⑧随着今后流 

- ‘。。。。。。’。。。’。。。。。。。一

屏蔽中断If fI 中断 ]J 匝 

‘。。。。 ‘。一 

_

标准L匿圃inux内核 匦 

linux ■i rq_mask I 

linuxirq

 RIea1.TimelLinux内核 I 

_

视频业务的增加,64K的视频编解码、音频视频同步等使得CS 

域(电路域)数据高速大量传输,需要一定的实时条件的保证。 

irq() ̄Idispaoi

[dispaci

q0 1 [d垄

pao.

+(rt linux sti f >l 

unmask  I

_

sr

is

rt 1inux clj J f f l 

2 Linux实时性改进 

2.1实时Linux双内核的设计 

如图2所示,在Linux标准内核和硬件中断之间添加一个 

实时内核,通过截获硬件中断来实现,实时内核采用固定优先 

(.*deinsabvloe—i~d rq)(0) 蒋

void 

 

级调度算法,标准Linux内核优先级最低,可以被作为一个实 

时任务随时抢断。所有硬件中断都被中断分发器捕获,实时 

中断将激活实时任务运行。当实时内核中没有实时任务时, 

图3中断模拟 

2.2实时抢占调度设计 

除了中断设计外,还有一个重要的实时改进点是可抢占 

式实时调度。采用固定优先级的实时调度,调度器从就绪队 

列中选取优先级最高的任务并为其分配资源运行,如果就绪 

的任务比当前的任务优先级高则发生抢断。我们选用经典的 

速率单调算法(rate—monotonic scheduling algorithm,M)R ,下面 

就将它捕获的非实时硬件中断以软件中断的形式传递给标准 

Linux内核。 

简要的描述一下使用RM

的实现: 

算法改进后的调度函数rt—schedule 

(1)更新实时任务的状态 

foreach

_

rttask(p) 

if((p.>state—RT TASK DELAYED)&&(p.>resume 

time<(now+1 0))) 

{p->state—RT

TASK

READY;, 

__

new

task=&rt

linux

task; 

_

_

(2)MR

图2改进的实时Linux双内核结构 

算法 

__

_

shortest

period=rt

linux

task; 

for

each

__

rttask(p) 

_

在该设计中最关键的是中断的处理,实现的时候非常得 

if((p一>state—READY)&&(task一>period<shortest

pe— 

riod)) . 

益于实时硬件抽象层(RTHAL)。 的功能,它是由一些构建底层 

设备的汇编代码组成。其中有一个很重要的数据结构rt_hal, 

下面给出其主要的成员: 

struct rt

hal< 

{new task=p;shortest_peirod=p->period;) 

preemptor=0: 

ime=RT

TIME END; 

preempt

_

_

void(*do/RQ)(int,struct pt

regs ); 

_

for each )

rttask(p 

void( doSRQ)(int,struct pt_regs ); 

_

if((p一>state—RT

TASK

DELAYED)&&(p->resumetime 

__

void(*do TRAP)tint,struct pt regs ); 

void(*enable irq)(void); 

void(*disable-rq)(void); 

……

<preempt

time)) 

_

{preempt_time一(p一>resmeu_time;preemptor=p;) 

(3)任务切换 

new

_

)attribute((aligned)(32)): 

task->state=RT TASK

DELAYED; 

_

_

结构定义的函数指针在响应硬实时中断的时候通过指针 

调用被动态地传递给实时Liunx内核。在实时Linux内核中 

inux

cl

定义了这些函数:rt

i0与disableirq0对应,关闭中断状 

_

_

rt switch

to(new task); 

2.3硬实时时钟的设计 

普通的Linux定时器的调度粒度为10 ms,无法满足实时 

要求 。这里采用一种叫做OneShot的定时器模式,其思想是 

将时钟的时间间隔设定为下一次时钟中断发生的时间,使定 

时器在指定的时间中断CPU,每次时钟中断根据当前系统时 

_

态;rt linuxsti0与enable

irqO对应,开启中断状态;linux_irq_ 

__

mask0和linux irq unmask0分别为屏蔽和解屏蔽中断;函数dia. 

pach

_

irqO用于判断当前中断是否是实时中断,是则就交给实 

_

时Linux内核处理,否则放入中断请求队列IRQ ,等待

Queue 

-——

间和每个实时任务的运行周期决定下一次时钟中断间隔。处 

280-—— 

维普资讯

理流程如下: 

表1任务调度延时 

周期 

区问/ns 100 ps 50 us 20 us 

(1)保存本次中断时间interrupt_time; 

time Linux 

(2)判断interrupt 是否大于 系统时钟,如果是则

调用时钟中断增加jiies值,否则就进入(f3); 

(3)扫描实时进程队列并设置相关进程状态,找出就绪的 

最高优先级进程下次调用; 

(4)扫描实时进程队列,找出待执行的进程,计算其启动时 

间,并以此修改下一次定时器中断时间值; 

(5)如果当前进程就是最高优先级的就绪进程则不用切 

0.2000 

2001.4000 

4001.6000 

6001.8000 

8001.10 000 

次数 

14 692 

% 

1.40 

次数 

24 568 

556 924 

245 645 

587 

25 578 

2.88 

65-20 

28.75 

0.07 

2.99 

次数 

18 234 

834 591 

645 626 

2865 

94 

% 

1-21 

55.53 

42.96 

0.19 

0.00 

456 491 43.53 

546442 52.11 

1064 

19 565 

0.10 

1.87 

换,否则进行进程的切换。 

3改进的实时性能测试 

本测试是在一款TD.SCDMA无线终端评估板上进行的, 

该评估板包含一个ARM926EJ.S内核,系统时钟26MHz,最高 

主频200MsHz,采用的Linux内核2.4.18。测试分两个部分:①调 

度延时测试;②中断响应时间的测试。 

3.1测试例构造 

(1)调度延时测试:用下面代码来测试睡眠后的调度延时, 

长时间测试,适当的时候停下来: 

dof 

clock

_

nanosleep(CLOCK

REALTIME, 

_

咖 

TIMER ABSTIME,hrt2ts(expected-advance),NULL)

中断次数 

; 

expected+ period; 

now=lock

_

gethrtime(CLOCK

_

MONOTONIC); 

delay=now-last

_

time-T: 

lasttime=now; 

write(fd

iffo,delay,sizeo delay)); 

[=

_

counter++:}while(1) 

每次的延时都将通过FIFO写入文件,clock_nanosleep函 

数用来睡眠一个周期,我们选取了T=100 ps、T=50 ps和T= 

20 s这3组来考察。 

(2)中断响应时间的测试:有两种方法可以测试中断响应 

时间:示波器和读取定时计数器值 。我4"1]采用读取示波器 

法,采用的是100MHz的数字示波器。用两个MPUIO信号A 

和B,A作为输入,通过输入一个高电平来触发B产生一个 

MPUIO中断,将B拉成高电平,在中断服务程序中的第一条 

指令处再将B拉成低电平,通过读取示波器值,B信号的高电 

平维持时间就可以作为中断响应时间。 

3.2结果及分析 

测试结果分别如表1和图4所示,任务调度延时时间大 

部分小于6 ps,RT linux 2.0在60 MHz的486平台上测试结果 

为25 s ,当然这与平台是紧密相关,只能相对的比较。中断 

响应时间为多数为1.5ps,最坏的不超过3 ps,在同样的平台上 

对时势操作系统Nucleus进行同样的测试,绝大多数响应在 

950ns~1100ns之间。所以,对于智能手机这类产品来说,上面 

的改进是满足要求的。 

4结束语 

本文提出的Linux智能手机方案还处于评估试验阶段,对 

Linux的实时性改进是在单纯的环境下得出了较好的效果,但 

10 001.12 000 8563 0.82 56 0.00 524 0.04 

12 001.14 000 1746 0.17 958 0.11 993 0.07 

14 001.16 000 0 0.0 0 0.00 0 0.00 

>16 000 0 0.00 0 0.00 0 0.00 

瑚 咖㈣ 0 

监 

500 1000 1500 2000 2500 3000 

MPUIO中断响应时间/ns 

图4 中断响应时间 

是如果考虑到今后DPM(动态电源管理)等功能的添加,典型 

===== 

的对实时性能的一个挑战是DPM下深度睡眠方式期间对中 

断的响应 ,这还有待于进一步的研究。

==== 

 

参考文献: 

[1] 李小文,李贵勇,陈贤亮,等.TD.SCDMA第三代移动通信系统、 

信令及实现[M].北京:人民邮电出版社,2002:98.99. 

[2] 李方敏,李仁发,叶澄清.实时Linux操作系统的研究与设计[J] _

湘潭矿业学院学报,2000,15(3):71-75. 

[3] 李小群,赵惠斌,叶以明,等.RFRTOS:基于Linux的实时操作系 

统[J]_软件学报,2003,14(7):1203.1212. 

[4] Bini E,Buttazzo GC.The space of rate monotonic schedulability 

[C].Proc ofthe 23rd IEEE Real-Time Systems Symp Austin Te- 

xas:IEEE Computer Society Press,2002:169-178. 

[5] 邹勇,王青,李明树.Linux内核的实时支持的研究与实现[J]_计 

算机研究与发展,2002,39(4):466.472. 

[6]Luca Abeniy,Ashvin Goel,Charles Krasic,et a1.A measurement— 

based analysis of the real—time performance of Linux[C].Pro- 

ceedings ofthe English IEEE,Real-Time nad Embedded Techno- 

logy and Applications Symposium RTAS’02).Washtong DC, 

USA:IEEE Computer Society,2002:133-142. 

[7] 王伟.蒋斌.4种实时操作系统实时性的分析对LL[J].电子产品 

世界,2003(8):61.63. 

[8] Simunic.Dynamic Voltage scaling and power management for 

portable systems[R].Proceedings ofthe 38th Design Automation 

Conference,200 1. 

281一 

==

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论