แสดงบทความที่มีป้ายกำกับ RTLinux แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ RTLinux แสดงบทความทั้งหมด

Slax RTAI Hello Word

 
วันนี้กำลังทำ Term Project เกี่ยวกับ RTAI อยู่ครับ เด๊วจะอัพลงเรื่อยๆ

สร้างไฟล์ hello.c


#include <linux/kernel.h>
#include <linux/module.h>
MODULE_LICENSE("GPL");
int init_module(void) // entry point
{
printk("Hello world!\n");
return 0;
}
void cleanup_module(void) // exit point
{
printk("Goodbye!\n");
return;
}

สร้างไฟล์ Makefile


EXTRA_CFLAGS += -I/usr/realtime/include -D_IN_RTAI_
obj-m += hello.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

เปิด cmd

พิมคำสั่ง make เพื่อคอมไพล์ hello จะได้ไฟล์ชื่อ hello.ko

พิม insmod hello.ko
พิม  lsmod ดูลิส แล้วจะเห็นว่ามี hello.ko ในนั้นด้วย
พิม dmesg จะมี Hello world! อยู่บรรทัดสุดท้าย
พิม rmmod hello.ko จะเป็นการเอา hello.ko ออกจากเคอร์เนล
พิม  lsmod ดูลิส แล้วจะเห็นว่าไม่มี hello.ko แล้ว

Real-time Linux

          อีกสองอาทิตย์ ผมต้องสอบ Term Project ซึ่งเกี่ยวกับ Real-time Linux ผมว่ามันเป็นอะไรที่น่าสนใจ และน่าสนุก แต่โปรแกรมที่ผมเคยเขียนก็ไม่ค่อยจะมีอะไรมากมาย  แต่การเขียนโปรแกรม Real-time Linux ซึ่งจะลงลึกไปถึง kernel  ซึ่งเป็นไรที่ใหม่มากสำหรับผม  เพราะฉะนั้นอีกสองสัปดาห์ต่อจากนี้ก็จะศึกษาเกี่ยวกับ Real-time Linux และนำความรู้ความเข้าใจที่ได้ มาแชร์ที่บล็อกนี้ครับ


   Real-time คือ ?
                ระบบ Real-time คือ ระบบความสามารถรับประกันในความต้องการของเวลาภายใต้การควบคุม หรือ ก็คือมีการตอบสนองต่อการทำงานได้อย่างรวดเร็ว ยกตัวอย่างเช่น ระบบฉีดอินซูลินแบบอัตโนมัติของผู้ป่วยโรคเบาหวาน ซึ่งระบบจะต้องตอบสนองอย่างเร็วเมื่อผู้ป่วยกำลังจะเกิดภาวะนํ้าตาลตํ่า


RTLinux




Linux Programs
(User Space)

Linux Kernel
(Kernel Space)

HAEDWARE

    โครงสร้าง Linux



Linux Programs
(User Space)

RT Tasks
Linux Kernel
(Kernel Space)

RTLinux

HARDWARE

โครงสร้าง RTLinux

     ซึ่่งจะเห็นว่า RTLinux จะมีจะลดความสำคัญของ Linux Kernel ลง ซึ่งจะทำให้มันจะทำงานได้ก็ต่อเมื่อไม่มีงาน ของ RT Tasks เท่านั้น