Chinaunix首页 | 论坛 | 博客
  • 博客访问: 80302
  • 博文数量: 21
  • 博客积分: 855
  • 博客等级: 准尉
  • 技术积分: 220
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-31 23:46
文章分类

全部博文(21)

文章存档

2011年(1)

2010年(4)

2009年(1)

2008年(1)

2007年(14)

我的朋友

分类: LINUX

2007-04-01 14:31:54

( 文中所用的路径为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) $(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、完毕。

注意:GCC前必须要用[Tab],否则会出现错误:missing separator. Stop.

 原文地址 http://blog.21ic.com/user1/1472/archives/2007/34449.html
阅读(1480) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~