为了执行程序 hello.c,(当然是在启动 rtlinux 之后),您必须执行以下操作
include rtl.mk all: hello.o clean: rm -f *.o hello.o: hello.c $(CC) ${INCLUDE} ${CFLAGS} -c hello.c
$ make
$ rtlinux start hello
现在您应该能够看到您的 hello.o 程序每秒打印其消息。根据您的机器配置,您应该可以直接在控制台中看到它,或者通过输入
$ dmesg
要停止程序,您需要将其从内核中移除。要做到这一点,请输入
$ rtlinux stop hello
插入和移除模块的替代方法分别是使用 insmod 和 rmmod。
在这里,我们的示例程序过于简单。与我们所看到的相反,一个程序中可能存在多个线程。优先级可以在线程创建时设置或稍后修改。此外,我们可以选择应该使用的调度算法。实际上,我们可以编写自己的调度算法!
在我们的示例中,我们可以将线程的优先级设置为 1,并通过在函数 thread_code() 的开头插入以下行来选择 FIFO 调度
struct sched_param p; p . sched_priority = 1; pthread_setschedparam (pthread_self(), SCHED_FIFO, &p);