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 ...
随机推荐
- 阅读书目_2014H1
1.<程序员修炼之道 专业程序员必知的33个技巧>(完成) 注:更多是面向程序员全工作流程的. 2.linux shell脚本攻略 适合初学,但不方便作为参考手册查阅. 3.编写可读代码的 ...
- 添加AdMob 错误记录
依照官方教程添加文件及其 frameWork后 发现运行报错 错误如下 Undefined symbols for architecture i386: "_OBJC_CLASS_$_ASI ...
- mongoexport导出数据
mongoexport用法: /***** Export MongoDB data to CSV, TSV or JSON files.options: --help ...
- List myList=new ArrayList()的理解
ArrayList不是继承List接口,是实现了List接口.你写成ArrayList arrayList = new ArrayList();这样不会有任何问题.和List list = new A ...
- 如何在Latex上裁减图片
在Latex的使用过程中,很多人需要载入一些具有一定白边或者边框的图片.特别是用matlab生成的很多图片.大部分人的做法是通过使用pdf工具去裁减.这样做很麻烦,并且对于一些批量的,大小相同的图片而 ...
- Android 设置让EditText不自动获取焦点
在EditText所在的父控件中设置如下属性: android:focusable="true" android:focusableInTouchMode="true&q ...
- cf C. Alice and Bob
http://codeforces.com/contest/347/problem/C 这道题就是求出n个数的最大公约数,求出n个数的最大值,总共有max1/gcd-n个回合.然后判断如果回合数%2= ...
- WPF笔记(2.9和2.10)——Layout
原文:WPF笔记(2.9和2.10)--Layout 2.9讲的是,如果内部设定超过容器大小,怎么办?StackPanel会裁剪越界部分DockPanel和Grid会智能判断,从而决定换行. 2.10 ...
- 解决kibana 4 关于响应时间的问题
"message" => " 10.252.142.174 [12/Sep/2016:16:43:47 +0800] \"GET /resources/j ...
- python学习之路-4 内置函数和装饰器
本篇涉及内容 内置函数 装饰器 内置函数 callable() 判断对象是否可以被调用,返回一个布尔值 1 2 3 4 5 6 7 8 9 10 11 num = 10 print(callabl ...