ecos编译redboot,vmware运行redboot,执行hello world(图形配置)
1- 下载源文件
:~/ecos$ ls -lrt
total 80
drwxr-xr-x 7 XXXX XXXX 4096 Mar 27 2009 ecos-3.0
-rw-r--r-- 1 XXXX XXXX 60197 Jul 3 11:45 ecos-install.tcl
drwxr-xr-x 3 XXXX XXXX 4096 Jul 5 09:15 gnutools
-rwxr-xr-x 1 XXXX XXXX 487 Jul 5 09:16 ecosenv.sh
-rwxr-xr-x 1 XXXX XXXX 455 Jul 5 09:16 ecosenv.csh
修改内存布局文件
:~/i386/ecos-3.0$ find . -name "mlt_i386_pc_floppy.ldi"
./packages/hal/i386/pc/v3_0/include/pkgconf/mlt_i386_pc_floppy.ldi
:~/i386/ecos-3.0$ cd ./packages/hal/i386/pc/v3_0/include/pkgconf/
:~/i386/ecos-3.0/packages/hal/i386/pc/v3_0/include/pkgconf$ ls -lrt *floppy*
-rw-r--r-- 1 xxx xxx 719 Jun 11 2001 mlt_i386_pc_floppy.h
-rw-r--r-- 1 xxx xxx 702 Sep 12 2001 mlt_i386_pc_floppy.mlt
-rw-r--r-- 1 xxx xxx 911 Sep 12 2001 mlt_i386_pc_floppy.ldi
以上3个文件中对应RAM配置物理地址为0xa0000的所有地址修改0x1000000(因为默认配置是针对普通PC的)
2- 启动图形配置
cd ~/ecos/ecos-3.0/tools/bin$
./configtool
Build->Templates
Build->Packages
Startup type : FLOPPY
保存为redboot.ecc
Build->Library 编译
3- 生成软盘镜像 redboot.flp
cd ~/ecos/redboot_install/bin$
dd conv=sync if=redboot.bin of=redboot.flp bs=1440k
生成
redboot.flp
4- 生成编译hello.c所需要的库
保存为default.ecc
Build->Library 编译
编译hello.c
:~/ecos/ecos-3.0/examples$ make INSTALL_DIR=/home/ecos/default_install
hello放入tftp服务器目录
cp hello /srv/tftp/tftproot/
5- 启动redboot加载hello
ERROR:
解决方案:
修改内存布局文件
:~/i386/ecos-3.0$ find . -name "mlt_i386_pc_floppy.ldi"
./packages/hal/i386/pc/v3_0/include/pkgconf/mlt_i386_pc_floppy.ldi
:~/i386/ecos-3.0$ cd ./packages/hal/i386/pc/v3_0/include/pkgconf/
:~/i386/ecos-3.0/packages/hal/i386/pc/v3_0/include/pkgconf$ ls -lrt *floppy*
-rw-r--r-- 1 xxx xxx 719 Jun 11 2001 mlt_i386_pc_floppy.h
-rw-r--r-- 1 xxx xxx 702 Sep 12 2001 mlt_i386_pc_floppy.mlt
-rw-r--r-- 1 xxx xxx 911 Sep 12 2001 mlt_i386_pc_floppy.ldi
以上3个文件中对应RAM配置物理地址为0xa0000的所有地址修改0x1000000(因为默认配置是针对普通PC的)