Chinaunix首页 | 论坛 | 博客
  • 博客访问: 408801
  • 博文数量: 27
  • 博客积分: 470
  • 博客等级: 一等列兵
  • 技术积分: 546
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-24 11:51
文章存档

2016年(12)

2012年(15)

分类: LINUX

2012-05-02 21:35:20

在安装了环境,熟悉了环境,也理解了HAL以后,我想我已经为移植Redboot做好了充分的准备工作了。那么,从现在开始,我要试着把基于ecos3.0的redboot移植到freescale的imx27ads开发板上来。大家如果感兴趣,就跟我一起来挑战吧。

首先,我们找一个相同体系结构的平台作为我们移植的起点,这里就选mac7100,因为它和i.mx27一样都是飞思卡尔的ARM芯片。下面我们通过修改mac7100来建立我们自己的mx27平台:

第一步:新平台文件夹和文件的名称修改

复制mac7100,并在当前目录下粘贴建立一个复件mac7100文件夹,做如下改动:

1. 复件mac7100修改成mx27;

2. mx27\ mac7100evb修改成

mx27\ mx27ads;

3. mx27\mx27ads\v3_0\cdl\ hal_arm_mac7100_mac7100evb.cdl修改成

mx27\mx27ads\v3_0\cdl\ hal_arm_mx27_mx27ads.cdl

4. mx27\mx27ads\v3_0\include\pkgconf\mlt_arm_mac7100_mac7100evb_rom.h修改成

mx27\mx27ads\v3_0\include\pkgconf\mlt_arm_mx27_mx27ads_rom.h

5. mx27\mx27ads\v3_0\include\pkgconf\ mlt_arm_mac7100_mac7100evb_rom.ldi

修改成mx27\mx27ads\v3_0\include\pkgconf\mlt_arm_mx27_mx27ads_rom.ldi

6. mx27\mx27ads\v3_0\include\mac7100evb_misc.h 修改成

mx27\mx27ads\v3_0\include\mx27ads_misc.h

7. mx27\mx27ads\v3_0\src\mac7100evb_misc.c 修改成

mx27\mx27ads\v3_0\src\mx27ads_misc.c

8. mx27\var\v3_0\cdl\ hal_arm_mac7100.cdl修改成

mx27\var\v3_0\cdl\ hal_arm_mx27.cdl

9. mx27\var\v3_0\src\mac7100_misc.c修改成

mx27\var\v3_0\src\mx27_misc.c

10. mx27\var\v3_0\src\mac7100_misc.h修改成

mx27\var\v3_0\src\mx27_misc.h

第二步:对mx27文件夹下的相关文件的内容做低智商修改

1. 修改文件mx27\mx27ads\v3_0\cdl\ hal_arm_mx27_mx27ads.cdl

将以下内容:

image

调整为:

image

将以下内容:

image

调整为:

image

2. 修改文件m x27\var\v3_0\cdl\ hal_arm_mx27.cdl

将以下内容:

image

调整为:

image

3. 我们现在再回过头去看一下,上面文件内容的修改有没有包括新建平台时所修改的所有文件名:

显然还有如下两个文件在文件内容修改中没有体现出来:

mx27\mx27ads\v3_0\include\mx27ads_misc.h

mx27\var\v3_0\src\mx27_misc.h

所以还得做如下修改:

在mx27\mx27ads\v3_0\src\mx27ads_misc.c中将

#include

修改为#include

mx27_misc.h目前没有找到有引用此头文件的地方,如果有人知道请告之。

4. 在ecos.db数据库文件中注册我们新加的包

我们先找到文件中package CYGPKG_HAL_ARM_MAC7100的位置,通过拷贝-粘贴-修改的方式,紧挨着它建立新包package CYGPKG_HAL_ARM_MX27,修改之后如下:

image

然后我们再找到文件中package CYGPKG_HAL_ARM_MAC7100_MAC7100EVB的位置,通过拷贝-粘贴-修改的方式,紧挨着它建立新包package CYGPKG_HAL_ARM_MX27_MX27ADS,修改之后如下:

image

我们继续再找到文件中target mac7100evb的位置,通过拷贝-粘贴-修改的方式,紧挨着它建立target mx27ads,修改之后如下:

image

第三步,验证我们新建的mx27平台,虽然其功能仍然是MAC7100的功能

1. 工作目录跳转到configtool所在目录:

命令:

Cd /home/zengdebiao/ecos/ecos-3.0/tools/bin

./configtool

2. 进入如下界面:

image

3. 从菜单Build-->templates进入窗口:

image

4. 从中选择MX27ADS应用平台,和配置包类型为Redboot,如下图所示:

image

5. 点击确定按钮,出现冲突窗口:

image

6. 利用工具的默认解决方案解决冲突,我们点continue,进入下面窗口:

image

7. 展开ecos HAL选项,就可以看到我们新添包的内容:

image

显然,我们对新平台的添加是成功的。

8. 点save将当前设置保存成redboot_mx27.ecc,这是在ecos\ecos-3.0\tools\bin下新增3项:redboot_mx27.ecc,redboot_mx27_build和redboot_mx27_install:显示如下:

image

9. 点菜单BuildàLibrary,开始编译项目,编译完成后在ecos\ecos-3.0\tools\bin\redboot_mx27_install\bin文件夹中就产生了我们需要的Redboot.bin文件:

image

由于没有mac7100evb的板子,我们不能亲眼看到运行结果,但我敢肯定,跟采用mac7100建立和编译的redboot运行结构是一样一样的。其实我们目前的工作就像给一个美女换了一件衣服,内在的气质还是一样的。好了,这次低智商修改就到这里,我们下次再做高智商的修改。

阅读(4751) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~