主题 : eCos2移植到mini2440的详细步骤 复制链接 | 浏览器收藏 | 打印
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8881
金钱: 46490 两
威望: 9298 点
贡献值: 27 点
综合积分: 18302 分
注册时间: 2010-01-09
最后登录: 2016-03-18
楼主  发表于: 2010-02-04 13:16

 eCos2移植到mini2440的详细步骤

管理提醒: 本帖被 mindee 设置为精华(2011-01-03)
以下文字来自附件中的文档描述:

一直以来我想做的事情就是真正的让eCos跑在我的MINI2440开发板上,前面做了一些准备的工作,先让eCos跑在vmware(i386)上,以及skyeye(3sc2410)上。我想我已经有了能够移植到MINI2440的知识基础了。

利用skyeye 模拟运行eCos
根据前面在Skyeye上模拟运行的基础,很容易搭建一个模拟Skyeye的模拟环境,eCos的代码不需要修改,只要修改skyeye.conf文件即可,把里面的s3c42410换成s3c2440即可。这一步很容易,运行的结果和在S3C2410上的模拟结果一样。

移植eCos到MINI2440
直接编一个eCos下载到我的MINI2440的板子上,运行失败,电脑串口没有任何的输出信息,不知道eCos是否在运行。
再次分析vectors.S这个eCos的系统启动代码:
复制代码
  1. start:
  2. LED 5
  3. #if defined(CYG_HAL_STARTUP_RAM) && \
  4. !defined(CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS)
  5. // If we get restarted, hang here to avoid corrupting memory
  6. ldr r0,.init_flag
  7. ldr r1,[r0]
  8. 1: cmp r1,#0
  9. bne 1b
  10. ldr r1,init_done
  11. str r1,[r0]
  12. #endif


注意到了文件中的LED X 这样的代码分散在vectors.S中。看来这个是用于系统调试用的一个宏,使用LED灯调试系统是最常用的方法了。重新修改文件中关于LED这个宏的定义,定义成MINI2440上的控制LED灯亮的代码:
复制代码
  1. .macro LED x
  2. ldr r6,=0x56000010
  3. ldr r7,=0x155555
  4. str r7,[r6]
  5. ldr r6,=0x56000014
  6. r7=x
  7. mov r7,r7,lsl #5
  8. ldr r5 ,[r6]
  9. orr r5,r5,#0x1f0
  10. bic r7 , r5 ,r7
  11. str r7,[r6]
  12. .endm
[ 此帖被mindee在2010-02-04 13:29重新编辑 ]
附件设置隐藏,需要回复后才能看到
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8881
金钱: 46490 两
威望: 9298 点
贡献值: 27 点
综合积分: 18302 分
注册时间: 2010-01-09
最后登录: 2016-03-18
1楼  发表于: 2010-02-04 13:36
图片:
附上一幅运行时的图片
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 圣骑士
UID: 9221
精华: 0
发帖: 378
金钱: 2110 两
威望: 539 点
贡献值: 0 点
综合积分: 756 分
注册时间: 2009-09-22
最后登录: 2016-07-04
2楼  发表于: 2010-02-04 14:34
路过看看
一起学习,一起进步
用过的Linux发行版:Arch,Gentoo,Debian,Fedora,RHEL,CentOS,Ubuntu,OpenSUSE,RedFlag,Ylmf,De ..
级别: 骑士
UID: 12662
精华: 0
发帖: 184
金钱: 955 两
威望: 191 点
贡献值: 0 点
综合积分: 368 分
注册时间: 2010-01-11
最后登录: 2014-02-14
3楼  发表于: 2010-02-04 21:56
回复回复回复 这么麻烦干嘛啊
业余Linux爱好者。
三人行
级别: 侠客
UID: 13052
精华: 0
发帖: 71
金钱: 355 两
威望: 71 点
贡献值: 0 点
综合积分: 142 分
注册时间: 2010-01-18
最后登录: 2014-11-16
4楼  发表于: 2010-02-05 23:27

 回 楼主(mindee) 的帖子

谢谢楼主了。
三人行
级别: 新手上路
UID: 7973
精华: 0
发帖: 14
金钱: 80 两
威望: 32 点
贡献值: 0 点
综合积分: 28 分
注册时间: 2009-08-05
最后登录: 2017-09-13
5楼  发表于: 2010-02-06 23:03
一个字,牛。
级别: 侠客
UID: 6851
精华: 0
发帖: 65
金钱: 370 两
威望: 131 点
贡献值: 0 点
综合积分: 130 分
注册时间: 2009-06-19
最后登录: 2011-09-23
6楼  发表于: 2010-02-08 23:15
看看看看
级别: 侠客
UID: 5253
精华: 0
发帖: 79
金钱: 685 两
威望: 556 点
贡献值: 0 点
综合积分: 158 分
注册时间: 2009-04-16
最后登录: 2017-09-13
7楼  发表于: 2010-02-12 15:17
移植无所不在,谢谢分享
级别: 新手上路
UID: 2977
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
贡献值: 0 点
综合积分: 22 分
注册时间: 2008-12-19
最后登录: 2012-12-26
8楼  发表于: 2010-02-14 20:47
移植无所不在,谢谢分享
级别: 新手上路
UID: 14569
精华: 0
发帖: 9
金钱: 45 两
威望: 9 点
贡献值: 0 点
综合积分: 18 分
注册时间: 2010-02-14
最后登录: 2017-09-13
9楼  发表于: 2010-02-15 03:14
谢谢楼主了。