UcLinux添加自定義應用程序的詳細過程講解
2024-08-28 00:05:32
供稿:網友
 
( 文中所用的路徑為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.