Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / UcLinux添加自定义应用程序的详细过程讲解

( 文中所用的路径为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. Linux新手教程 boot目录下的重要文件说明Linux新手教程 Linux系统内存使用经验谈相关资讯      Linux  UcLinux 
  • Linux 即将 25 岁:足够伟大 却不  (01月01日)
  • Linux 这么棒是因为开源?  (08/28/2015 09:21:02)
  • FreeBSD 和 Linux 有什么不同?  (07/31/2015 09:15:06)
  • 盘点全球“国家级” Linux 项目  (09/25/2015 06:11:28)
  • 庆祝 Linux 24 岁生日!  (08/26/2015 06:13:36)
  • 【观点】离了Linux,我就活不了!  (10/31/2013 19:39:56)
本文评论 查看全部评论 (0)
表情: 姓名: 字数