在uclinux中添加自己应用程序的详细过程

发 布 时 间 : 2008-11-17 来 源 : 未知 作 者 : 任平生 浏 览 :

(文中所用的路径为uclinux安装的相对路径,比如:/uClinux-Samsung)

编译uclinux并运行成功后,下一步的工作就是写个最经典、最简单的程序“hello, world”。在uclinux下,当然要比在普通的OS下麻烦些。

(我用的是ANYWHERE-Ⅱ开发板,不同的开发板的过程应相似)
我基本是按照 Documentation/Adding-User-Apps-HOWTO的步骤进行,有部分修改。

1、在user目录下创建新目录 user/sample,用来存放源代码。写“hello.c”文件。(“hello.c”文件如何写,不用我说了吧。)

2、编辑文件 user/Makefile,增加下面这行

dir_$(CONFIG_USER_SAMPLE_HELLO) = sample

具体增加到哪里,你打开文件就会发现相似的语句,按照字母顺序,放到合适的位置。

3、编辑文件 config/Configure.help, 增加下行

CONFIG_USER_SAMPLE_HELLO
A example C program. This Program print "hello, world" on screen.

注意:第2行以2个空格开头,总长度小于70个字符。

4、编辑文件 config/config.in
在 ‘Games’后添加新的部分
#########################

mainmenu_option next_comment
comment ‘Sample’

bool ‘hello’ CONFIG_USER_SAMPLE_HELLO
endmenu

(注意这里的单引号字符不对,不要直接COPY这里的字符,最好自己手工输入,或参考文件中已有的行修改。)

5、创建合适的 user/sample/Makefile 文件
HELLO = hello
HELLOOBJS = hello.o

all: $(HELLO)
$(HELLO): $(HELLOOBJS)
$(CC) $(LDFLAGS) -o $@ $(HELLOOBJS) $(LDLOBS) 此句错误
$(CC) $(LDFLAGS) -o $@ $(HELLOOBJS) $(LDLIBS)

romfs:
["$(CONFIG_USER_SAMPLE_HELLO)" != y] || cp hello $(ROMFSDIR)/bin/.

clean:
-rm -f $(HELLO) *.elf *.gdb *.o

6、重新编译生成image.rom。注意在运行make config 或make menuconfig时选择生成"hello" 。
是否Makefile文件中修改如下:
romfs:
["$(CONFIG_USER_SAMPLE_HELLO)" == y] || cp hello $(ROMFSDIR)/bin/.

是否能默认选择“hello”,我还未试。

7、烧写image.rom,运行
>hello
即可看到输出“hello, world"

8、完毕。



上一篇:基于QuartusII和NiosII的FPGA/SOPC快速入门教程(pdf) 下一篇:内存的基本知识,嵌入开发入门