分类:
2010-03-03 16:02:12
1、下载解压eCos3.0,生成目录/ecos3.0;
2、把IXP425开发板上带的npe-1.4.epk拷贝到/ecos3.0目录下;
3、执行命令packages/ecosadmin.tcl add npe-1.4.epk,命令会输出以下信息
adding package CYGPKG_DEVS_ETH_INTEL_NPE
adding package CYGPKG_DEVS_ETH_ARM_IXPD425_NPE
adding package CYGPKG_DEVS_ETH_ARM_GRG_NPE
adding package CYGPKG_DEVS_ETH_ARM_PRPMC1100_NPE
4、把IxNpeMicrocode.c,放到/ecos3.0/packages/devs/eth/intel/npe/v1_4/src/npeDl 目录下
cp /IxNpeMicrocode.c packages/devs/eth/intel/npe/v1_4/src/npeDl
5、设置环境变量
source ./env.sh
env.sh 文件中的内容如下
export TOPDIR=/ecos3.0/
export ECOS_REPOSITORY=/ecos3.0/packages/
export PATH=/ixp425/redbootelf/:$PATH (编译器路径)
6、编译ROM版本
在/ecos3.0目录下,
mkdir bebucom1
cd bebucom1
../tools/bin/ecosconfig new grg redboot
../tools/bin/ecosconfig import ../ packages/hal/arm/xscale/grg/v3_0/misc/redboot_ROM.ecm
../tools/bin/ecosconfig add intel_npe
../tools/bin/ecosconfig add grg_npe
../tools/bin/configtool并载入ecos.ecc设置编译器命令前缀xscale-elf,
../tools/bin/ecosconfig tree
make
编译成功后redboot 生成的文件为
/ecos3.0/bebucom1/install/bin/redboot.bin
编译成功后bebucom1/install/bin 目录下将有redboot.bin、redboot.elf、redboot.img、redboot.srec 共4 个文件。
7、修改公板为IXP425开发板
例如,redhat grg 使用串口1,而我们使用的IXP425开发板使用串口0
解决方法如下:
串口配置在packages/hal/arm/xscale/grg/v3_0/cdl/Hal_arm_xscale_grg.cdl 文件中。然后根据这个cdl 文件会生成/ecos3.0/bebucom1/install/include/pkgconf/hal_arm_xscale_grg.h 文件。可以修改Hal_arm_xscale_grg.cdl 后重新生成hal_arm_xscale_grg.h,也可以生成hal_arm_xscale_grg.h 后直接修改hal_arm_xscale_grg.h。采用后一种方法,使用COM1 就是串口0
/ecos3.0/bebucom1/install/include/pkgconf/hal_arm_xscale_grg.h
#ifndef CYGONCE_PKGCONF_HAL_ARM_XSCALE_GRG_H
#define CYGONCE_PKGCONF_HAL_ARM_XSCALE_GRG_H
/*
* File
*
* This file is generated automatically by the configuration
* system. It should not be edited. Any changes to this file
* may be overwritten.
*/
#define CYGBLD_HAL_PLF_INTS_H
#define HAL_PLATFORM_CPU "XScale"
#define HAL_PLATFORM_BOARD "Intel Generic Residential Gateway"
#ifdef CYGHWR_HAL_ARM_BIGENDIAN
#define HAL_PLATFORM_EXTRA "BE"
#else
#define HAL_PLATFORM_EXTRA "LE"
#endif
#define HAL_PLATFORM_MACHINE_TYPE 290
#define CYGNUM_HAL_BREAKPOINT_LIST_SIZE 32
#define CYGNUM_HAL_BREAKPOINT_LIST_SIZE_32
#define CYGSEM_HAL_IXP425_PLF_USES_UART1 1
#define CYGSEM_HAL_ROM_MONITOR 1
#endif