可能是因为手机识别错误所致。也可能是因为你保存的时候就是以文件的格式来保存的。点击那个三分钟的视频。右键选择重命名。然后把这一个文件的格式命名为某一种视频格式。这样 *** 作之后握携就变简贺成视频格式了,不再是文件了。剪切后粘贴,就相当于移动文件,如果这个文件不可删除,就不会消失拦皮派的剪切后粘贴,就相当于移动文件,如果这个文件不可删除,就不会消失的
ECos是一个优秀的嵌入式实时 *** 作系统。ECos的体系结构是一种分层结构ˇ硬件抽ˇ层将 *** 作系统与硬件隔离开ˇ这为把ECos移植到不同的硬件平台提供了便捷的方法ˇ抽ˇ层就ˇ软件与硬件之间的桥梁。主要的移植思ˇ是ˇ按照ECos的模块化设计ˇ完成硬件抽ˇ层。引言
目前ˇ嵌入式 *** 作系统的种类较多ˇ其中比较流行的有VxWorks、Windows CE、Psos、Palm OS、嵌入式Linux等。这些嵌入式 *** 作系统在开放性、实用性以及性能等方面各有千秋ˇ但大多数为商用产品。除了商用产品外ˇ还有一些免费的嵌入式 *** 作系统ˇuClinux是其中比较流行的ˇ而ECos则是另一个选择。嵌入式可配置 *** 作系统ECosˇEmbedded Configureable Operating Systemˇ的特点是可配置性、可裁减性、可移植性和实时性。它的一个主要技术特色就是功能强大的配置系宏渗统ˇ可以在源码级实ˇ对系统的配置和裁减。与Linux的配置和裁减ˇ比ˇeCos的配置方法更清晰、更方便ˇ且系统层次也比Linux清晰明了ˇ移植和增加驱动模块更加容易。正是由于这些特性ˇeCos引起了越来越多的关注ˇ同时也吸引越来越多的厂家使用ECos开发其新一代嵌入式产品。
ECosˇ在由Red Hat维护ˇ可支持的处理器包括ˇARM、StrongARM、XScale、SuperH、Intel X86、PowerPC、MIPS、 AM3X、 MOTOROLA 68/Coldfire、SPARC、Hitachi H8/300H和NEC V850等。源代码及开发工具可在Red Hat的网站上免费下载ˇ网页地址是Http:/Sources.Redhat.Com/Ecos。
1、ECos的层次结构
ECos采用模块化设计ˇ由不同的功能组件构成ˇeCos系统的层次结构如图1所示。
图1
这种层次结构的最底层是硬件抽ˇ层ˇHardware Abstraction Layerˇˇ简称为HALˇ它负责对目标系统硬件平台进行 *** 作和控制ˇ包括对中断和例外的处理ˇ为上层软件提供硬件 *** 作接口。只需提供新硬件的抽ˇ层ˇ就可以将整个ECos系统包括基于ECos的应用移植到新的硬件平台上。
2、构建ECos系统
构建ECos系统首先要搭建自己的硬件抽ˇ层ˇ然后创建驱动程序ˇ之后就可以编制伏启应用程序了。
3、硬件抽ˇ层的移植
硬件抽ˇ层分为三个不同的子模块ˇ体系结构抽ˇ层ˇArchitecture HALˇ、变体抽ˇ层ˇVariant HALˇ和平台抽ˇ层ˇPlatform HALˇ。
体系结构抽ˇ层。ECos所支持的不同处理器系列具有不同的体系结构ˇ如ARM系列、PowerPC系列、MIPS系列等。体系结构抽ˇ层对CPU的基本结构进行抽ˇ和定义ˇ此外它还包括中断的交付处理、上下文切换、CPU启动以及该类处理器结构的指令系统等。
变体抽ˇ层指的是处理器在该处理器系列中所具有的特殊性ˇ这些特殊性包括Cache、MMU、FPU等。ECos的变体抽ˇ层就是对这些特殊性缺绝如进行抽ˇ和封装。
平台抽ˇ层是对当前系统的硬件平台进行抽ˇˇ包括平台的启动、芯片选择和配置、定时设备、I/O寄存器访问以及中断寄存器等。
硬件抽ˇ层的这三个子模块之间没有明ˇ的界ˇ。对于不同的目标平台ˇ这种区分具有一定的模糊性。例如ˇMMU和Cache可能在某个平台上属于体系结构抽ˇ层ˇ而在另一个平台上则可能属于变体抽ˇ层的范围ˇ再比如ˇ内存和中断控制器可能是一种片内设备而属于变体抽ˇ层ˇ也可能是片外设备而属于平台抽ˇ层。 ECos的移植通过这三个子模块来完成ˇ即平台抽ˇ层的移植、变体抽ˇ层的移植和体系结构抽ˇ层的移植。对一个新的体系结构来说ˇ其系统结构抽ˇ层的建立ˇ对来说比较困难。ECos支持大部分当前广泛使用的嵌入式CPUˇ已具有了支持各种体系结构的硬件抽ˇ层。因此ˇeCos的移植很少需要进行体系结构抽ˇ层的编写。
4、平台抽ˇ层的移植
一般来说ˇ进行ECos开发时ˇ移植的主要工作在于平台抽ˇ层ˇ这是由于ECos已实ˇ了绝大多数流行嵌入式CPU的体系结构抽ˇ层和变体抽ˇ层。平台抽ˇ层主要完成的工作包括ˇ内存的布局、平台早期初始化、中断控制器以及简单串口驱动程序等。
构建一个新的平台系统ˇ最简单的方法是利用ECos源码提供的具有ˇ同体系结构和CPU型号的参考平台硬件抽ˇ层ˇ将其作为模板ˇ复制并修改所有与新平台ˇ关的文件。若ECos没有这样的平台ˇ则可用另一种体系结构或CPU型号的类似硬件抽ˇ层作为模板。比如ˇeCos提供了以三星公司ARM CPU S3C4510B为核心的平台SNDS4110ˇ当需要移植ECos到ARM CPU S3C44B0上时ˇ这将是一个很好的起点。
移植工作最好是从RedBoot开始ˇ实ˇ的第一个目标是使RedBoot运行在新平台上。RedBoot是ECos自带的启动代码ˇ它比ECos要简单ˇ没有使用中断和ˇ程机制ˇ但包含了大部分最基本的功能。
建立目标平台的RedBoot通常按以下步骤进行ˇ以构建 S3C44B0的新平台为例ˇ。
ˇ复制ECos源码中选定的参考平台ˇ根据需要对目录及文件更名。更名的主要内容有ˇ新平台的目录名、组件定义文件ˇCDLˇ、内存布局文件ˇMLTˇ、平台初始化的源文件和头文件。
ˇ调整组件定义文件ˇCDLˇ选ˇ。包括选ˇ的名字、实时时钟/计数器、CYGHWR_MEMORY_LAYOUT变量、串口参数以及其他的一些选ˇ。
ˇ在顶层Ecos.Db文件中加入所需要的包ˇ并增加对目标平台的描述。在最初ˇ该目标平台的入口可以只包含硬件抽ˇ层包ˇ其他硬件支持包以后再加入。经过修改后ˇ就可在ECos配置程序中选择新的平台进行配置。
④修改Include/Pkgconf中的内存布局ˇMLTˇ文件。按照新的硬件平台内存布局修改MLT文件。MLT文件对应每种启动类型有三个不同后缀的文件ˇ。H文件以及。Ldi文件和Mlt文件。手工修改时只需修改。H文件和。Ldi文件ˇ并保证两个文件同步修改。修改的主要内容有ROM的起始地址、ROM的大孝RAM的起始地址和RAM的大校
⑤修改平台的Io宏定义。在Include/Plt_io.H文件中完成对平台的各种IO宏定义ˇ包括各种CPU的系统配置寄存器、内存配置寄存器、串口配置寄存器、LCD配置寄存器、以太网配置寄存器等的I/O地址。
⑥修改平台的Cache代码。在Include/Hal_cache.H文件中修改有关Cache的宏定义。在开发初期ˇ最好先将Cache关闭ˇ等移植稳定后再打开。
⑦实ˇ简单的串口驱动程序。串口的初始化、接收和发送在Src/Hal_diag.C文件完成。主要的函数如下ˇ
点击看原图
⑧修改或增加平台初始化程序。平台初始化在3个文件文件中完成ˇsrc/ S3C44B0 _misc.C、Include/Hal_platform_setup.H和Include/Hal_platform_ints.H。
Hal_platform_ints.H完成系统的中断宏定义。在不同的平台中设备数量和类型不同ˇ中断的译码方式也不一致ˇ需要根据具体情况作出调整。
Hal_platform_setup.H主要完成系统硬件的初步配置ˇ这里一般要在看门狗和中断关闭后ˇ配置系统时钟频率、ROM和RAM的初始化参数。
S3C44B0 _misc.C文件完成目标板的进一步初始化、中断处理、延时例程和 *** 作系统时钟设置。
经过以上修改ˇ底层的平台抽ˇ层就基本完成了ˇ这时可用ECos的配置工具生成RedBoot进行测试。 RedBoot测试成功后ˇ说明平台已经能正确完成初始化 *** 作ˇ且串口驱动也能正常工作ˇ接着要完成中断和Cache等测试工作。可利用一些多ˇ程的小程序测试ˇ检测时钟配置是否正确ˇ同时也检测了中断能否正常工作。
5、驱动程序设计
平台抽ˇ层完成后ˇ接着要完成系统的设备驱动程序。ECos设备驱动程序的中断模块分为三个层次ˇ中断服务程序ISR、中断滞后服务程序DSR和中断ˇ程。ISR在ˇ应中断时立即调用ˇDSR由ISR发出调用请求后调用ˇ而中断ˇ程为驱动程序的客户程序。
硬件中断在最短的时间内交付给ISR处理。硬件抽ˇ层对硬件中断源进行译码并调用对应的中断ISR。ISR可以对硬件进行简单的 *** 作ˇ应使ISR的处理时间尽量短。当ISR返回时ˇ它可将自己的中断滞后服务程序DSR放入 *** 作系统的任务调度中ˇDSR可以在不妨碍调度器正常工作时安全运行。大多数情况下ˇDSR将在ISR执行完成后立即运行。ECos设备驱动程序一般可分为三个部分ˇ如图2所示。
图2
ECos的所用设备驱动程序都使用设备表入口来描述。使用宏DEVTAB_ENTRY()可生成设备表入口。其格式为ˇ
点击看原图
设备入口中的句柄Handlers包含了一组设备驱动程序接口函数ˇ是设备函数表DEVIO_TAB的指针ˇDEVIO_TAB包含了一组函数的指针。设备I/O函数表通过DEVIO_TAB宏来定义ˇ格式如下ˇ
在ECos的初始化引导过程中ˇ对系统中的所有设备调用其ˇ应的Init()函数ˇ即DEVTAB_ENTRY宏注册的初始化函数ˇˇ所有对设备的I/O *** 作通过Handlers完成。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)