eCos在前几年,国内外有很多人研究。
其中ecosforge就是一个比较优秀的网站,不过现在不能登录了,不知道是不是迁移到别的地方去了。
幸运的是当时我还是svn了一下他们的代码。
ecosforge曾经自己做了个很简单的GUI,并且提供了在synthetic平台的测试程序。
后续我会在测试以后把这些东西都放到emboslab的ecos仓库中给大家享用。
配置带pw组件的ecos 内核
ecosconfig new linux net
ecosconfig add pw
ecosconfg tree
make
编译pw_test应用程序
可能make tests会出错,所以我们把tests目录拿出来,自己编译
# Mostly written by Jonathan Larmour, Red Hat, Inc.
# Reference to ecos.mak added by John Dallaway, eCosCentric Limited, 2003-01-20
# This file is in the public domain and may be used for any purpose
# Usage: make INSTALL_DIR=/path/to/ecos/install
INSTALL_DIR=../install
#INSTALL_DIR=$$(INSTALL_DIR) # override on make command line
include $(INSTALL_DIR)/include/pkgconf/ecos.mak
XCC = $(ECOS_COMMAND_PREFIX)gcc
XCXX = $(XCC)
XLD = $(XCC)
CFLAGS = -I$(INSTALL_DIR)/include
CXXFLAGS = $(CFLAGS)
LDFLAGS = -nostartfiles -L$(INSTALL_DIR)/lib -Ttarget.ld
# RULES
.PHONY: all clean
all: pw_test
clean:
-rm -f pw_test.o
%.o: %.c
$(XCC) -c -o $*.o $(CFLAGS) $(ECOS_GLOBAL_CFLAGS) $<
%.o: %.cxx
$(XCXX) -c -o $*.o $(CXXFLAGS) $(ECOS_GLOBAL_CFLAGS) $<
%.o: %.C
$(XCXX) -c -o $*.o $(CXXFLAGS) $(ECOS_GLOBAL_CFLAGS) $<
%.o: %.cc
$(XCXX) -c -o $*.o $(CXXFLAGS) $(ECOS_GLOBAL_CFLAGS) $<
pw_test: pw_test.o
$(XLD) $(LDFLAGS) $(ECOS_GLOBAL_LDFLAGS) -o $@ $@.o
然后就可以make了
我们看下这个例子,很简单有一个笑脸的图形,可以根据键盘的方向键移动,pw主要处理的就是一些刷新方法。