位置:51电子网 » 技术资料 » 其它综合

嵌入式实时操作系统ECOS在S3C2510上的移植实现

发布时间:2007/8/30 0:00:00 访问次数:637

摘 要: 本文介绍了实时操作系统ECOS的特点及基本结构,并具体研究了ECOS在三星公司以ARM940T为内核的S3C2510嵌入式芯片上的移植方法。文章着重讨论了移植过程中的重点与难点部分:ECOS的硬件抽象层(HAL)移植。该移植方案已经过实际测试,系统稳定可靠,可运行多任务式应用程序。
关键词:实时操作系统;ECOS;硬件抽象层;移植;ARM
引言
ECOS(Embedded Configurable Operating System,嵌入式可配置操作系统)是一种针对16位、32位和64位处理器的可移植嵌入式实时操作系统。由于其源代码是公开的,因而有越来越多的设计人员开始关注ECOS操作系统。ECOS最大的特点是模块化,内核可配置。最小版本的ECOS只有几百字节,非常适合小型嵌入式系统的开发。相对于嵌入式Linux来说,ECOS有配置灵活和节省资源的优势。它的另一个优点是使用多任务抢占机制,具有最小的中断延迟,支持嵌入式系统所需的所有同步原语,并拥有灵活的调度策略和中断处理机制,因而具有良好的实时性。与?Clinux和?COS等操作系统相比,ECOS更适合于处理实时信号的设备,如移动通信、WLAN等通信设备的开发。
S3C2510是一款低功耗、高效能、面向以太网系统的微处理器。它的系统时钟可达133MHz,并包含了16/32位宽的ARM940T核、4KB的I-CACHE和4KB的D-CACHE。S3C2510带有两个独立的10/100Mbps的以太网控制器,这两个接口能够以硬件完成IEEE802.3的MAC层处理,因此更适合用作SOHO路由器、internet网关,甚至宽带无线接入设备的开发。ECOS操作系统也非常适合这些网络设备的开发,本文将介绍S3C2510的移植方案,给各种以ARM为内核处理器的ECOS底层移植开发提供一个系统的范例。




图 1 ECOS操作系统结构图
ECOS底层移植的基础知识
ECOS系统的主要组成部分如图1所示。操作系统的主要功能 及特点是由其内核所决定的,底层移植一般不会涉及到系统内核的内容。由图1可见,硬件抽象层是嵌入式操作系统和硬件直接接触的基本层,其将系统内核和具体的硬件平台彻底隔离开, 实现了系统内核与硬件的无关性,这就是操作系统具有良好可移植性的体现。因此,对于开发人员来说,移植操作系统真正的意义和工作在于移植操作系统的硬件抽象层。
硬件抽象层HAL对处理器结构和系统硬件平台进行抽象,当要在一个新的目标平台上运行ECOS时,只需要对底层的硬件抽象层进行修改,便可迅速地将整个ECOS系统移植到新的平台上。硬件抽象层主要包括三大模块——体系结构抽象层(Architecture HAL)、变体抽象层(Variant HAL)和平台抽象层(Platform HAL)。体系结构抽象层主要是指ECOS所支持的具有不同体系结构的处理器系列,如ARM系列、PowerPC系列、MIPS系列等等。变体抽象层指的是处理器系列中某款处理器在Cache、MMU和FPU等方面所具有的特殊性。如S3C2510属于ARM系列中的ARM940T,在变体抽象层中就会具体地针对ARM940T的Cache等方面作出定义。平台抽象层则是对当前系统硬件平台的抽象,包括了平台的启动、芯片选择与配置、定时设备、I/O寄存器访问以及中断寄存器等等。平台抽象层代码的编写是ECOS移植工作的重点。
HAL移植的主要步骤
建立适当的文件目录
ECOS本身有一个完整的文件目录,只有把新建的底层文件放在适当的文件目录下面,才能确保配置和编译工作的成功,也有助于利用ECOS本身已有的源代码,如结构体系层和变体层中的许多成熟可用的代码。由于本系统中S3C2510处理器的内核是ARM940T,因而可以把S3C2510的目录建立在ECOS库路径packages/hal/arm/arm9/下。
建立S3C2510的cdl文件
cdl文件使用cdl脚本语言描述该硬件设备(包或平台)的特性和常用指标。cdl文件实现系统在源码级的功能和指标配置,犹如一个项目管理高层对其仓库中组件特性的登记,只有登记后的包、组件和选项才能被操作系统配置工具识别和配置。
以下是S3C2510的cdl文件中的几段重要描述。
* cdl_package CYGPKG_ HAL_ARM_ ARM9_S3C2510
这是S3C2510在ecos.db中所登记的包的名字,它下面包含了该板的一些基本设置和组件,如母体体系结构(parent)、包含的头文件、编译的C文件等。
* cdl_component CYG_HAL _STARTUP
系统启动方式,有3种选择:ram启动、rom启动、romram启动。
* cdl_component CYGNUM_ HAL_CPUCLOCK
平台的系统时钟设置,以便于ECOS其他组件以此时钟为标准。该平台系统时钟的默认值设为133MHz。
* cdl_option CYGNUM_HAL_ RTC_PERIOD
ECOS内核的运行时钟单位。ECOS内核以一个tick为时钟单位,而一个tick的长度就等于该选项的设定值。
在ecos.db中登记
S3C2510的硬件包
ecos.db是关于ECOS系统的一个数据库文件(在packages目录下),它包含了硬件包管理工具和一些在组件配置库中的包。与cdl文件相比,ecos.db登记了仓库中的物品,而cdl文件则登记每种物品的特性。只有在ecos.db中登记了的包,才能被ECOS的库编译工具(configtoo

摘 要: 本文介绍了实时操作系统ECOS的特点及基本结构,并具体研究了ECOS在三星公司以ARM940T为内核的S3C2510嵌入式芯片上的移植方法。文章着重讨论了移植过程中的重点与难点部分:ECOS的硬件抽象层(HAL)移植。该移植方案已经过实际测试,系统稳定可靠,可运行多任务式应用程序。
关键词:实时操作系统;ECOS;硬件抽象层;移植;ARM
引言
ECOS(Embedded Configurable Operating System,嵌入式可配置操作系统)是一种针对16位、32位和64位处理器的可移植嵌入式实时操作系统。由于其源代码是公开的,因而有越来越多的设计人员开始关注ECOS操作系统。ECOS最大的特点是模块化,内核可配置。最小版本的ECOS只有几百字节,非常适合小型嵌入式系统的开发。相对于嵌入式Linux来说,ECOS有配置灵活和节省资源的优势。它的另一个优点是使用多任务抢占机制,具有最小的中断延迟,支持嵌入式系统所需的所有同步原语,并拥有灵活的调度策略和中断处理机制,因而具有良好的实时性。与?Clinux和?COS等操作系统相比,ECOS更适合于处理实时信号的设备,如移动通信、WLAN等通信设备的开发。
S3C2510是一款低功耗、高效能、面向以太网系统的微处理器。它的系统时钟可达133MHz,并包含了16/32位宽的ARM940T核、4KB的I-CACHE和4KB的D-CACHE。S3C2510带有两个独立的10/100Mbps的以太网控制器,这两个接口能够以硬件完成IEEE802.3的MAC层处理,因此更适合用作SOHO路由器、internet网关,甚至宽带无线接入设备的开发。ECOS操作系统也非常适合这些网络设备的开发,本文将介绍S3C2510的移植方案,给各种以ARM为内核处理器的ECOS底层移植开发提供一个系统的范例。




图 1 ECOS操作系统结构图
ECOS底层移植的基础知识
ECOS系统的主要组成部分如图1所示。操作系统的主要功能 及特点是由其内核所决定的,底层移植一般不会涉及到系统内核的内容。由图1可见,硬件抽象层是嵌入式操作系统和硬件直接接触的基本层,其将系统内核和具体的硬件平台彻底隔离开, 实现了系统内核与硬件的无关性,这就是操作系统具有良好可移植性的体现。因此,对于开发人员来说,移植操作系统真正的意义和工作在于移植操作系统的硬件抽象层。
硬件抽象层HAL对处理器结构和系统硬件平台进行抽象,当要在一个新的目标平台上运行ECOS时,只需要对底层的硬件抽象层进行修改,便可迅速地将整个ECOS系统移植到新的平台上。硬件抽象层主要包括三大模块——体系结构抽象层(Architecture HAL)、变体抽象层(Variant HAL)和平台抽象层(Platform HAL)。体系结构抽象层主要是指ECOS所支持的具有不同体系结构的处理器系列,如ARM系列、PowerPC系列、MIPS系列等等。变体抽象层指的是处理器系列中某款处理器在Cache、MMU和FPU等方面所具有的特殊性。如S3C2510属于ARM系列中的ARM940T,在变体抽象层中就会具体地针对ARM940T的Cache等方面作出定义。平台抽象层则是对当前系统硬件平台的抽象,包括了平台的启动、芯片选择与配置、定时设备、I/O寄存器访问以及中断寄存器等等。平台抽象层代码的编写是ECOS移植工作的重点。
HAL移植的主要步骤
建立适当的文件目录
ECOS本身有一个完整的文件目录,只有把新建的底层文件放在适当的文件目录下面,才能确保配置和编译工作的成功,也有助于利用ECOS本身已有的源代码,如结构体系层和变体层中的许多成熟可用的代码。由于本系统中S3C2510处理器的内核是ARM940T,因而可以把S3C2510的目录建立在ECOS库路径packages/hal/arm/arm9/下。
建立S3C2510的cdl文件
cdl文件使用cdl脚本语言描述该硬件设备(包或平台)的特性和常用指标。cdl文件实现系统在源码级的功能和指标配置,犹如一个项目管理高层对其仓库中组件特性的登记,只有登记后的包、组件和选项才能被操作系统配置工具识别和配置。
以下是S3C2510的cdl文件中的几段重要描述。
* cdl_package CYGPKG_ HAL_ARM_ ARM9_S3C2510
这是S3C2510在ecos.db中所登记的包的名字,它下面包含了该板的一些基本设置和组件,如母体体系结构(parent)、包含的头文件、编译的C文件等。
* cdl_component CYG_HAL _STARTUP
系统启动方式,有3种选择:ram启动、rom启动、romram启动。
* cdl_component CYGNUM_ HAL_CPUCLOCK
平台的系统时钟设置,以便于ECOS其他组件以此时钟为标准。该平台系统时钟的默认值设为133MHz。
* cdl_option CYGNUM_HAL_ RTC_PERIOD
ECOS内核的运行时钟单位。ECOS内核以一个tick为时钟单位,而一个tick的长度就等于该选项的设定值。
在ecos.db中登记
S3C2510的硬件包
ecos.db是关于ECOS系统的一个数据库文件(在packages目录下),它包含了硬件包管理工具和一些在组件配置库中的包。与cdl文件相比,ecos.db登记了仓库中的物品,而cdl文件则登记每种物品的特性。只有在ecos.db中登记了的包,才能被ECOS的库编译工具(configtoo

相关IC型号

热门点击

 

推荐技术资料

罗盘误差及补偿
    造成罗盘误差的主要因素有传感器误差、其他磁材料干扰等。... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!