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的)
ecos编译redboot,vmware运行redboot,执行hello world(图形配置)的更多相关文章
- 【ecos学习1】wmware运行redboot[方法一]--脚本实现配置
背景: 远程服务器Ubuntu生成软盘镜像,通过Mac下wmware运行. 1- 环境及版本: uname -a 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 ...
- 用命令行编译java并生成可执行的jar包
用命令行编译java并生成可执行的jar包 1.编写源代码. 编写源文件:CardLayoutDemo.java并保存,例如:I:\myApp\CardLayoutDemo.java.程序结构如下: ...
- gcc编译通过,运行却显示“段错误”的解决方法
第一次在Liunx上(liunx mint 17)使用gcc编译c文件,竟然提示“找不到stdio.h",经过google后发现执行 sudo apt-get install build- ...
- Heka 编译安装后 运行报错 panic: runtime error: cgo argument has Go pointer to Go pointer
Heka 编译安装后 运行报错 panic: runtime error: cgo argument has Go pointer to Go pointer 解决办法: 1. Start heka ...
- 浅谈java编译机制和运行机制
源文件和字节码的组成方式 源文件: 拓展名后跟java的文件即java的源文件. Java 源码编译由以下三个过程组成: 1.分析和输入到符号表 2.注解处理 3.语义分析和生成class文件 流程图 ...
- .Net Core in Docker - 在容器内编译发布并运行
Docker可以说是现在微服务,DevOps的基础,咱们.Net Core自然也得上Docker..Net Core发布到Docker容器的教程网上也有不少,但是今天还是想来写一写. 你搜.Net c ...
- 正确理解java编译时,运行时以及构建时这三个概念
Java中的许多对象(一般都是具有父子类关系的父类对象)在运行时都会出现两种类型:编译时类型和运行时类型,例如:Person person = new Student();这行代码将会生成一个pers ...
- Android 使用NDK编译二进制文件并运行
Android 使用NDK编译二进制文件并运行本文介绍如何编译可以在Android平台上运行的二进制可执行文件. 首先我们,知道,Android是基于Linux的,而在Linux上,可以执行二进制文件 ...
- java编译通过,运行却提示找不到或无法加载主类
问题: HelloWorld.java 1 package myP101; 2 3 public class HelloWorld { 4 public static void main(String ...
随机推荐
- symfony2 登录验证(转自http://www.newlifeclan.com/symfony/archives/300)
注意:如果你需要为存储在某种数据库中的用户做一个登录表单,那么你应该考虑使用FOSUserBundle,这有助于你建立你的User对象,还为您提供了常见的登录.注册.忘记密码的路由和控制器. 在此文章 ...
- HDU Today--hdu2112
HDU Today Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- jquery中ajax的dataType属性包括哪几项
参考ajax api文档:http://www.w3school.com.cn/jquery/ajax_ajax.asp dataType类型:String预期服务器返回的数据类型.如果不指定,jQu ...
- PowerShell常用的属性
get-location | get-member -membertype property -------获取对象的属性---------- 获取对象特定的成员, 湖区.Net Framwork ...
- 10.1.5 Connection Character Sets and Collations
10.1.5 Connection Character Sets and Collations Several character set and collation system variables ...
- libeXosip2(1-3) -- How-To send or update registrations.
How-To send or update registrations. The eXtented eXosip stack Initiate a registration To start a re ...
- 《Algorithms 4th Edition》读书笔记——2.4 优先队列(priority queue)-Ⅳ
2.4.4 堆的算法 我们用长度为 N + 1的私有数组pq[]来表示一个大小为N的堆,我们不会使用pq[0],堆元素放在pq[1]至pq[N]中.在排序算法中,我们只能通过私有辅助函数less()和 ...
- Micro Python - Python for microcontrollers
Micro Python - Python for microcontrollers MicroPython
- MVVM 介绍
我会修改一个关键架构,并将其带入我从那时起就在开发的各种应用,即使用一种叫做 Model-View-ViewModel 的架构替换 Model-View-Controller. 所以,MVVM 到底是 ...
- ios block使用
BlockTest.h #import <Foundation/Foundation.h> typedef void (^didFinishBlock)(NSString *str); t ...