1: 在44B0开发板的uClinux中添加应用程序
下面是uClinux下一个应用程序的代码leddemo.c
#include
/*
* LED blink function.
* this function blink the led
*/
void led_blink(void)
{
static int led_status = 0;
led_status += 1;
if(led_status % 2 == 0)
*(char *)0x02000000 = 0xff;
else
*(char *)0x02000000 = 0x00;
}
/*
* LED blink function.
* this function blink the led
*/
void seg_blink(void)
{
static unsigned char seg_value[] = { 0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e };
static int seg_status = 0;
*((unsigned char *)0x8000000) = seg_value[seg_status];
seg_status += 1;
if(seg_status > 15)
seg_status = 0;
}
int main()
{
int loopcnt;
printf("hello world!!!\n");
while(1)
{
led_blink();
seg_blink();
sleep(1);
}
return 0;
}
使用如下Makefile文件编译
CC = arm-elf-gcc
LD = arm-elf-ld
EXEC = leddemo
OBJS = leddemo.o
CFLAGS +=
LDFLAGS += -Wl,-elf2flt
all: $(EXEC)
$(EXEC): $(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS$(LDLIBS_$@))
clean:
-rm -f $(EXEC) *.elf *.gdb *.o
$(OBJS):
将上述两个文件保存在一个目录下,然后使用make命令编译,编译成功将生成leddemo和leddemo.gdb,其中leddemo文件即为生成的uClinux应用程序,可以将其加载到文件系统中,然后在uClinux中运行。
2:配置应用程序自动运行
如果需要在系统启动以后自动运行leddemo程序,需要编辑ramdisk中的启动脚本文件,该文件为
etc/rc
使用vim编辑器编辑,在该文件最后添加如下脚本:
/bin/leddemo
该脚本将启动后运行leddemo,直到程序退出。或
/bin/leddemo&
它将在后台运行leddemo,不影响其他的程序运行
阅读(501) | 评论(0) | 转发(0) |