Linux操作系统在定制PMPDM320的应用

Linux操作系统在定制PMPDM320的应用

ID:47204420

大小:58.63 KB

页数:4页

时间:2019-08-26

Linux操作系统在定制PMPDM320的应用_第1页
Linux操作系统在定制PMPDM320的应用_第2页
Linux操作系统在定制PMPDM320的应用_第3页
Linux操作系统在定制PMPDM320的应用_第4页
资源描述:

《Linux操作系统在定制PMPDM320的应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Linux操作系统在定制PMPDM320的应用1引言PMP(PortableMultimediaPlayer,便携式多媒体播放器),也就是通常人们所说的MP4,现在是消费类电子产品的一个新热点[1].而TI的解决方案是基于该公司的DM320DSP,其处理器为DSP+ARM双核处理器架构,利川DSP进行音视频编解码和图像编解码等多媒体处理,ARM处理器负责系统管理及提供外围设备接口。该方案在多媒体性能与综合成本方面极貝竞争力。但是软件编程和対复杂以及产甜开发周期较长。2PMP软件体系框架PMP软件最底层是操作系统

2、层,该层主要包WBootloader引导程序和嵌入式Linux操作系统。Bootloader主要完成系统从Hash的启动、硬件各部分的初始化、LOGO的显示以及OS的弓I导;恢入式Linux主耍包括经过定制的适合在DM320上运行的Linux操作系统。3Bootloader引导程序的定制3.1DM320下的Bootloader的启动过程Bootloader是指系统启动后,在操作系统内核运行之前运行的一段小程序。不同的Bootloader的安装介质Flash,系统的启动过程是不一样的。1)当安装介质为NORHas

3、h吋,Bootloader就可以直接在Flash闪存内运行,不必把代码拷贝到系统RAM中。启动方式设置成外部Memory,这样ARM的开始地址就从0xFFFF:0000开始。然后在Bootloader的程序中,把入口地址设置成0xFFFF:0000即可。2)当安装介质为NANDFlash时,系统上电以后,运行ROM里面的启动代码,选择启动方式为:AIM(ArmInternalMemory)ROM,ARM的开始地址为0x0000:0000.然后ROM里的程序会拷贝NANDFlash里的UserBootloader

4、到处理器内部的RAM.再次,执行UserBootloader程序,完成初始化SDRAM和驱动NANDFlash的读能力等少量工作。最后初始化系统,将NANDFlash屮的主Bootloader拷贝到SDRAM屮执行,拷贝完成后,要把存放主Bootloader的内存地址,赋值给pc(ProgramCounter)指针。3.2DM320下Bootloader启动程序的定制木PMP使用的Bootloader为U-Boot.从Internet一上得至!J开源的U-Boot程序,然后对DM320特有硬件环境进行初始化匸作

5、。1)修改Makefile和Kconfig,目的是生成适合DM320平台的配置选项以及目标文件。在。/Makefile(当前目录均为U-Boot源码树根目录)卜-加入如卜•语句:dm320_config:unconfig@./mkconfig$(@:_config=)armarm926ejsdm320其'I*mkconfig为一个脚本文件,参数为(Target,Architecture,CPU.Board)分别对应上而的四个参数($(@:_config=)armarm926ejsdm320)o2)在U-Boot

6、源码树下创建文件夹。/board/dm320.存放与DM320平台有关的文件。3)在。/board/dm320/platform.S中加入对DM320寄存器初始化赋值语句,在。/cpu/arm926ejs中对cpu.c和start.S修改,前者提供有关cpu操作的函数,后者为cpu执彳亍时的初始化代码。4)./lib_arm/board.c是完成初始化操作的主要文件。在文件中定义了一个初始化序列:init_fnc_t*init_sequence[l={cpu_init,/*basiccpudependentse

7、tup*/board_init,/*basicboarddependentsetup*/interrupt_init,/*setupexceptions*/env_init,/*initializeenvironment*/init_bauclrate,/*initializebaudratesettings*/serial*serialcommunicationssetup*/console_init_f,/*initconsole*/display_banner5/*saythatwearehere*/dr

8、amjnit,/*configureavailableRAMbanks*/display_dram_config,#ifdefined(CONFIG_VCMA9)checkboard,#endifNULL,};上述数组屮函数序列依次执行。在完成初始化序列后,将是一些特定的操作。2Linux内核的定制本系统中采用的Linux内核版本号为2.6.5.要定制Linux內核,不仅要修改內核源码

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。