本文主要是介绍uCLinux下的第一个应用程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
uCLinux下的第一个程序很快就跑过了,呵呵。记录下过程吧:
1、建立目录
在uClinux-dist/user 目录下新建目录:MyApp
2、编写程序
cd MyApp
vi myapp.c
在vi里编写myapp.c程序如下:
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
printf(“Great! Very good!./n”);
return 0;
}
3、编写Makefile
vi Makefile
在vi里写Makefile如下:
EXEC = myapp
OBJS = myapp.o
all: $(EXEC)
$(EXEC): $(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS)
romfs:
$(ROMFSINST) /bin/$(EXEC)
clean:
-rm -f $(EXEC) *.elf *.gdb *.o
注:缩进别忘了用tab键
4、修改usr/Makefile
为了让编译器编译上述添加的内容,在user/Makefile 中添加一句(一般按照字母排列):
dir _$(CONFIG_USER_MYAPP) += MyApp
5、修改config/config.in
config/config.in 文件中添加的内容会在对用户选项进行配置时反映出来。在文件的最后,增加一条:
######################################################
mainmenu_option next_comment
comment 'My First Application'
bool 'myapp' CONFIG_USER_MYAPP
endmenu
######################################################
6、定制内核
执行make menuconfig,进入Main Menu
进入Kernel/Library/Defaults Selection --->后
将第三项Customize Ventor/...选中
exit保存,自动进入下一个画面
然后进入My First Application后,
选择myapp
exit保存
7、编译内核
make dep
make clean
make lib_only
make user_only
make romfs
make image
make
8、内核烧写
成功后会在images下面出现三个文件romfs.img,uclinux_ram.bin.gz,uclinux_rom.bin
1) 将uclinux_rom.bin通过串口拷到了44b0开发板的RAM中:
串口超级终端中输入:loadb 0x0c008000
在超级终端传送文件:uclinux_rom.bin
2) 擦除flash
erase 0x5000 0x1ffff
3) 拷ucLinux内核到0x5000
cp 0x0c008000 0x5000 size
这里的size大小忘记了,具体算法是:
如果在1)中传送过程中传送的大小(16进制)是size_1,那么
size = size_1/4 + 2
9、运行程序
开发板重启后,进入uclinux后
cd /bin
这时候会发现bin下面多了个myapp
./myapp
将打印
Great! Very good!.
这篇关于uCLinux下的第一个应用程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!