eCos在LPC2294上的移植分析与应用_第1页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ecos在lpc2294上的移植分析与应用硬件平台以lpc2294处理器为核心,外嗣器件包括8mb nor nash(sst39vf6401b)、512kb sram(is61lv51216)、标准20针jtag接口、rtl8019网卡芯片、rs232串口等组成。本文以此硬件平台为基础介绍ecos的移植工作,为以arm内核为处理器的ecos移植开发提供一个范例。4 ecos在lpc2294上的移植因为ecos支持大部分嵌入式cpu,可移植性强,故ecos的移植丁作主要是hal的移植。其中平台抽象层的移植是hal移植的重点,包括内存布局、平台初始化、中断控制器、串口驱动程序等修改。在移植过程中,

2、假如要将ecos移植到还不支持cpu体系结构,简便高效的办法是利用ecos已经支持的相同体系结构cpu的硬件平台作为模版,建立cdl文件。在ecos.db中举行记下,以与新的目标平台相适应,进而举行移植工作。最新版本的ecos已经支持lpc2294处理器,故ecos在lpc2294上的移植的主要工作是对平台抽象层的相关文件举行修改采纳图形化配置工具举行配置编译和生成镜像文件,完成调试和 移植工作。41建立交错编译环境和配置工具ecos的源码可以在ecos维护公司ecoscentric的网站中下载地址是。因为ecos采纳gnu工具集举行编译因此本文的主机用法redhat9.0操作系统,并安装gc

3、c-3.2.1、binutils-2.13.1、newlib-1.11.0、insight-5.3、wxgtk-2.4.0工具,同时安装交错编译器arm-elf-tools工具,建立起ecos针对arm平台的交错编译环境。另外还要按照主机环境,生成ecos的配置丁具步骤如下:将ecos解压到/opt名目中,并在/opt名目中建立src、wxbuild、infra-build、ecos-tools、configtool-build名目。首先要配置wxwidget静态链接支持,编译并安装wxgtk,执行如下指令:cd /opt/wx build;/opt/src/wxgtk-2.4.0/confi

4、gure disable-shared disable sockets prefix=/opt/wxgtk-2.4.0;make;make install配置,编译和安装ecos的主机基础环境,执行如下指令:cd /opt/infra -build; /opt/ecos/host/configure prefix=/opt/ecos-tools; make; make install编译安装ecos配置工具,执行如下指令:cd /opt/configtool -build; make f /opt/ecos/host/tools/configtool/standalone/wxwin/make

5、file. gnu install wxdir=/opt/wxgtk2.4.0 ecossrcdir=/opt/ecos/host installdir=/opt/ecos- tools这样,就完成了ecos的配置工具安装,它位于/opt/ecos-tools/bin名目中,包括了图形配置工具configtools和指令行配置工具ecosconfig。42 配置基本硬件平台与lpc2294相关的文件在ecospackageshalarmlpc2xx 名目中,在/opt/ecos-tools/bin中运行图形化配置工具configtools,在huild选项的templates挑选和lpc229

6、4相近的模板就可以举行详细的平台级配置。本文挑选phycore-lpc2294/92 development board hal模板作为基本配置平台,按照实际目标系统平台修改ecos中的选项,主要修改包括:a) 修改arm vector at 0x14选项的值,lpc2xxx系列处理器将ox14处的值作为有效用户代码推断条件,应当满足向量表所以数据32位累加和为0的要求;b) 修改cpu xtal frequency选项的值,这是cpu晶振值,默认为10mhz,按照实际状况修改为11059200;c) 修改cpu pll multiplier选项的值,内部pll倍频值默认为6,修改为4;d)

7、修改ecos kernel选项的值,按照需要删减内核中不需要的选项;e) 修改i/o sub-system选项的值,按照实际i/0设备的状况,配置i0选项;f) 修改其它配置选项,以适应目标系统平台。这样就通过图形化配置工具,配置完成了ecos的大部分选项。然而,图形化配置工具并不能完成全部的ecos配置功能因此还需要对内存分布文件、flash驱动文件举行修改。43 修改内存布局内存布局文件在ecos/packages/hal/arm/lpc2xxx/phycore229x/current/include/pkgconf名目中,里面包含了ram、rom两种不同启动方式的配置文件,而每种启动方式

8、又对应三种文件格式,分离为:ldi文件,链接脚本文件,定义了lpc2294的内存域起始地址和长度和段地址,为程序链接时用法。h文件,用法c宏定义描述lpc2294存储器起始地址和大小指定程序运行时堆起始地址和大小。mlt文件,配置工具保存文件,只能由配置工具生成和转变,不能手动修改。以lpc2294为例,在rom启动时需要修改mlt_arm_lpc2xxx_phycore229x_rom.h文件中的定义,以片外rom的分配和堆地址分配为例,其代码如下:define cygmem_reglonflash(0x80000000)define cygmem_regl0n_flash_size(cyg

9、hwr_hal_arm_phycore229x_flash_size)define cygmem_reglon_flash_attr (cycmem_region_attr_r)define cygmem_secction_heap1 (cyg_label_name(_heap1)define cygmem_section_heap1_size(0x81000000+cyghwr_hal_arm_phycore229x_sram_size - (size_t) cyg_label_name (_heap 1)这样,定义了片外rom的起始地址为0x80000000,大小为宏定义中flash的尺寸

10、;定义了程序的堆起始地址为0x81000000,大小也在宏定义中规定。44添加flash驱动本文的硬件平台flash型号为sst39vf6401b,在ecos中并不支持此型号的flash,所以要为ecos添加flash的驱动程序。sst39vf6401b是8mb的16位nor型flash,块空间数为128,每个块大小为64kb。挑选ecos已支持的与此flahh相近的型号at49系列举行修改将flash_dev_info_t中的block_size和block_count值分离改为0x10000和0x80。并且编写与flash底层驱动对应的cdl文件,使配置工具能够正确配置编译f1ash驱动程

11、序,参照at49驱动包的cdl,将cdl_package定义改为cygpkg_devs_flash_sst_39vf6401b。在指令体中给出配置参数。最后,在ecos.db中注册flash的底层驱动软件包,这样再次用法图形化配置工具,就可以在ecos配置选项挑选sst39vf6401b型flash。45修改初始化程序在ecos启动时要运行初始化程序,以完成lpc2294的运行模式设定、时钟频率设定、串口波特率设定等操作,初始化程序在hal/arm/lpc2xxx/phycore229x_misc.c文件中,phycore229x_miscc调用hal_platform_ints.h的宏定义完

12、成系统中断定义,之后调用hal_platform_setup.h中的宏定义完成中断初始化,配置系统时钟,和内部存储器初始化等操作。修改phycore229x_misc.c中的有关函数,完成针对本系统平台的初始化。46运行结果在完成上述驱动的编写和文件的修改之后,重新用法configtools工具举行配置,用法build选项完成ecos操作系统的编译,产生内核库文件和链接脚本以及头文件,将生成的文件与应用程序一起编译、链接,生成终于的可执行映像文件。将可执行影像文件下载到flash中运行,经测试ecos支持多个线程的应用程序操作,且其串口、网口均能与pc机举行正常通信,解释ecos在lpc2294上的移植是胜利的。5 总结嵌入式可配置操作系统ecos与其他嵌入式实时操作系统相比,有着更好的可配置性和可移植

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论