Linux操作系统在定制PMP DM320的应用.pdf

上传人:qwe****56 文档编号:74650755 上传时间:2023-02-27 格式:PDF 页数:4 大小:186.91KB
返回 下载 相关 举报
Linux操作系统在定制PMP DM320的应用.pdf_第1页
第1页 / 共4页
Linux操作系统在定制PMP DM320的应用.pdf_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《Linux操作系统在定制PMP DM320的应用.pdf》由会员分享,可在线阅读,更多相关《Linux操作系统在定制PMP DM320的应用.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、2 0 0 9 年第9 期计算机系统应用L in ux 操作系统在定制PMPDM32O 的应用A p p l i c a t i o no fL i n u x-B a s e dO p e r a t i n gS y s t e mt oC u s t o mP M PD M 3 2 0余芳陈宁(新乡医学院管理学院河南新乡4 5 3 0 0 0)摘要:L i n u x 是一种适合于嵌入式系统的开源操作系统,可以高效地处理各种复杂的任务。从基于T lD M 3 2 0的P M P 解决方案入手,以T ID M 3 2 0 平台为例,提出一种在P M P 系统上应用嵌入式L i n u x

2、的方法,探讨了B o o t l o a d e r 启动程序和嵌入式L i n u x 内核的移植过程。关键词:嵌入式L i n u x 便携式多媒体播放器B o o t l o a d e rD M 3 2 0L i n u x 内核1引言P M P(P o r t a b l eM u l t i m e d i aP l a y e r,便携式多媒体播放器),也就是通常人们所说的M P 4,现在是消费类电子产品的一个新热点川。而T l 的解决方案是基于该公司的D M 3 2 0D S P,其处理器为D S P-I-A R M 双核处理器架构,利用D S P 进行音视频编解码和图像编解码

3、等多媒体处理,A R M 处理器负责系统管理及提供外围设备接口。该方案在多媒体性能与综合成本方面极具竞争力。但是软件编程相对复杂以及产品开发周期较长。2P M P 软件体系框架P M P 软件最底层是操作系统层,该层主要包括B o o t l o a d e r 引导程序和嵌入式L i n u x 操作系统。B o o t l o a d e r 主要完成系统从F l a s h 的启动、硬件各部分的初始化、L O G O 的显示以及O S 的引导:嵌入式L i n u x 主要包括经过定制的适合在D M 3 2 0 上运行的L i n u x 操作系统。3B o o t l o a d er

4、:JI 导程序的定制3 1D M 3 2 0 下的B o o t l o a d e r 的启动过程B o o t l o a d e r l l 是指系统启动后,在操作系统内核运行之前运行的一段小程序。不同的B o o t l o a d e r 的安装介质F l a s h,系统的启动过程是不一样的。1)当安装介质为N O RF l a s h 时,B o o t l o a d e r 就可以直接在F l a s h 闪存内运行,不必把代码拷贝到系收稿时I a-:2 0 0 8 12-19统R A M 中。启动方式设置成外部M e m o r y,这样A R M的开始地址就从0 x F

5、F F F:0 0 0 0 开始。然后在B o o t l o a d e r 的程序中,把入口地址设置成0 x F F F F:0 0 0 0 即可。2)当安装介质为N A N DF l a s h 时,系统上电以后,运行R O M 里面的启动代码,选择启动方式为:A I M(A r mI n t e r n a lM e m o r y)R O M,A R M 的开始地址为0 0 0 0 0:O 0 0 0。然后R O M 里的程序会拷贝N A N DF l a s h 里的U s e rB o o t l o a d e r 到处理器内部的R A M。再次,执行U s e rB o o

6、t l o a d e r 程序,完成初始化S D R A M 和驱动N A N DF l a s h 的读能力等少量工作。最后初始化系统,将N A N DF l a s h 中的主B o o t l o a d e r拷贝到S D R A M 中执行,拷贝完成后,要把存放主B o o t l o a d e r 的内存地址,赋值给p c(P r o g r a mC o u n t e r)指针o3 2D M 3 2 0 下B o o t l o a d e r 启动程序的定制本P M P 使用的B o o t l o a d e r 为U-B o o t。从I n t e r n e t

7、上得到开源的U B o o t 程序,然后对D M 3 2 0特有硬件环境进行初始化工作。1)修改M a k e f i l e 和K c o n f i g,目的是生成适合D M 3 2 0 平台的配置选项以及目标文件。在M a k e f i l e(当前目录均为U B o o t 源码树根目录)下加入如下语句:d m 3 2 0 一c o n f i g:u n c o n f i g m k c o n f i gS(:一c o n f i g=)a r ma r m 9 2 6 e j sd m 3 2 0 万方数据其中m k c o n f i g 为一个脚本文件,参数为(T a

8、r g e t,A r c h i t e c t u r e,C P U,B o a r d)分别对应上面的四个参数($(:一c o n f i g=)a r ma r m 9 2 6 e j sd m 3 2 0)。2)在U B o o t 源码树下创建文件夹b o a r d d m 3 2 0。存放与D M 3 2 0 平台有关的文件。3)在b o a r d d m 3 2 0 p l a t f o r m S 中加入对D M 3 2 0 寄存器初始化赋值语句,在c p u a r m9 2 6 e j s 中对c p u C 和s t a r t S 修改,前者提供有关c p u

9、操作的函数,后者为c p u 执行时的初始化代码。4)l i b a r m b o a r d C 是完成初始化操作的主要文件。在文件中定义了一个初始化序列:i n i t f n c _ t i n i t s e q u e n c e 】=lc p u i n i t Pb a s i cc p ud e p e n d e n ts e t u p+|b o a r d i n i t。|+b a s i cb o a r dd e p e n d e n ts e t u p+|i n t e r r u p t i n i t|+s e tu pe x c e p t i o n

10、 s|e n v _ i n i t。|i n i t i a l i z ee n v i r o n m e n t|i n i t b a u d r a t e。|+i n i t i a l i z eb a u d r a t es e t t i n g s+|s e r i a l i n i t|+s e r i a lc o m m u n i c a t i o n ss e t u p c o n s o l e i n i t,+i n i tc o n s o l e d i s p l a y b a n n e r l|s a yt h a tw ea r eh

11、 e r e|d r a m i n i t|+c o n f i g u r ea v a i l a b l eR A Mb a n k s|d i s p l a y d r a m c o n f i g,#i fd e f i n e d(C O N F l G V C M A 9)c h e c k b o a r d,#e n d i fN U L L,):上述数组中函数序列依次执行。在完成初始化序列后,将是一些特定的操作。4L i n u x 内核的定制本系统中采用的L i n u x 内核版本号为2 6 5 0 要定制L i n u x 内核,不仅要修改内核源码树,而且要编写

12、相关外围设备的驱动程序。使之成为一个适合D M 3 2 0 运行的O S 环境。4 1K c o n f i g 文件的修改K c o n f i g 文件是用来对所要加载内核内容进行配置的文件,其脚本语言描述参考D o c u m e n t a t i o nk b u i l d。首先,在内核目录下a r c h a r m K c o n f i g 中加17 2 实践经验P r a c t i c a lE x p e r i e n c e入D M 3 2 0 的配置选项,将D M 3 2 0 框架加入内核,这样才能在执行m a k em e n u c o n f i g 配置内

13、核时看到D M 3 2 0 框架。修改内容如下:c h o i c ep r o m p t”A R Ms y s t e mt y p e”d e f a u l tA R C H D M 3 2 0 2 0表示:在配置A R M 架构的系统时:默认的就是D M 3 2 0 框架。s o u r c e”a r c h a r m m a c h-d m 3 2 0-2 0 K c o nf g”表示:把D M 3 2 0 框架下的配置选项也引入,同时把其他C P U 框架去掉,这样方便选择。比如:#s o u r c e”a r c h a r m m a c h-c l p s 7 11

14、x K c o n f i g”#s o u r c e”a r c h a r m m a c h-i n t e g r a t o r K c o n f ig“(“孝”表示注释掉相关的内容)最后把内核配置选项中对D M 3 2 0 开发有用的选进来。比如:s o u r c e”d r i v e r s c h a r K c o n f i g”i f(1 A R C H D M 3 2 0 一2 0)s o u r c e”s o u n d K c o n f i g”e n d i f表示:需要开发字符设备的驱动,而不需要声音的支持。因为要把C O D E C 编入内核,所以

15、还要加入对C O D E C 支持的配置选向。s o u r c e”c o d e c s m o d u l e s K c o n f i g”如果要加入一个新的外围设备,也需要在K c o n f i g文件中加入相应的内容。比如说要加入一个三星的4寸T F T L C D 的驱动,就需要修改d r i v e r s c h a r K c o n f i g 文件,并加入以下内容:c o n f i gD M320 S A M S UN G 4 L C Dt r i s t a t e”D M 3 2 0S A M S U N G4 0i n c h16:9T F TL C D”d

16、 e p e n d so nA R C H D M 3 2 0 2 0B O A R D 一4 0 0 Hd e f a u l tYh e l pT h i sd r i v e rp r o v i d e ss u p p o r tf o rS A M S U N G4 0 16:9T F T L C Df o rD M 3 2 0P l a t f o r m c o n f i gD M 3 2 0 一S A M S U N G 一4 一L C D:表示增加 万方数据2 0 0 9 年第9 期计算机系统应用新的配置入口。一旦这个配置选项被选中就会在i n c l u d e I

17、i n u a u t o c o n f h 中有:#d e f i n eC O N F I G D M 3 2 0 一S A M S U N G 一4 一L C D1这样整个内核源码中都可以使用C O N F I G D M 3 2 0 S A M S U N G 一4 一L C D 进行特定选择。t r i s t a t e”D M 3 2 0S A M S U N G4 0i n c h16:9T F T L C D”:在引号里的内容是在配置选项中的提示文字。t r i s t a t e 表示除了可以选择【+】,【】外。还可以选择【M】,表示把当前内容当成模块编译。d e p e

18、 n d so nA R C H D M 3 2 0 2 0 B O A R D 一4 0 0 H:如果配置平台框架时选择了A R C H D M3 2 0 2 0,在选择型号时选择B O A R D 一4 0 0 H,就能看到三星4 寸T 丌一L C D 配置选项。d e f a u l tY:表示默认把此驱动编入内核。h e l p:h e l p 的内容为对内核进行配置时。选中帮助选项所看到的内容。4 2M a k e f i l e 文件的修改M a k e f i l e 根据配置文件c o n f i g 形成编译源文件列表,G N U 编译工具对源文件进行编译,把目标代码链接在一

19、起,形成L i n u x 内核二进制文件。M a k e f i l e分布在各源代码目录中。在作者所进行的P M P 设备开发中,首先是对主M a k e f i l e 的修改,比如:A R C H:=a r mC R O S S C O M P I L E:=a r m l i n u x 一(对编译器的选项修改为A R M 平台)E T R A V E R S I O N=-o u r 0E X T 卧W E R S l O N 变量值被附加在内核版本编号之后,成为内核建立后自勺最终版本。项目中使用的内核版本号为2 6 5,加上E X T R A V E R S I O N 变量后,

20、最终的版本就是2 6 5 一o u r 0,表示开发过程中零号内核版本。对其他子目录的M a k e f i l e 文件的修改则相对容易。以加入三星4 寸T F 丁一L C D 驱动为例说明,当需要把此驱动模块加入相应的内核源码树时,要在d r i v e r s c h a r M a k e f i I e 文件中加入如下内容:o b j 一$(C O N F I G D M 3 2 0 一S A M S U N G 一4 一L C D)-I-=d m 3 2 0 一I c d s a m s u n 9 4 o5总结本文探讨了嵌入式L i n u x 在P M P 消费类电子产品上的应

21、用,并实现了启动程序B o o t l o a d e r 和L i n u x内核的移植和定制。目前一些项目产品已经过严格测试,成功推向市场。参考文献l 倪学赛多媒体播放器(P m)实现【硕士学位论文】北京:北京邮电大学,2 0 0 8 2 白伟平等基于A R M 的嵌入式B o o t l o a d e r 浅析微计算机信息,2 0 0 6,4(2):9 9 1 0 0 3Y a g h m o u rK 构建嵌入式L I N U X 系统北京:中国电力出版社2 0 0 4 P r a c t i c a lE x p e r i e n c e 实践经验1 7 3 万方数据Linux操作系统在定制PMP DM320的应用Linux操作系统在定制PMP DM320的应用作者:余芳,陈宁作者单位:新乡医学院,管理学院,河南,新乡,453000刊名:计算机系统应用英文刊名:COMPUTER SYSTEMS&APPLICATIONS年,卷(期):2009,18(9)参考文献(3条)参考文献(3条)1.倪学赛 多媒体播放器(PMP)实现 20082.白伟平 基于ARM的嵌入式Bootloader浅析 2006(02)3.Yaghmour K 构建嵌入式LINUX系统 2004 本文链接:http:/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁