In this guide, we will be using version 2.6.24.7, the highest kernel version that our frame grabber software was tested on.Check what is the newest version of the kernel that is supported by linux-rt and other applications/drivers that you will be using.The version of the kernel that we will be building does not properly support “ext4” (or higher). When prompted about partition setup, be sure to use file system format “ext3” for the swap and home partitions.Follow on screen instructions and note the root password that you set.In this guide, we will be using a 64-bit version.Use an openSUSE Live CD to install a fresh copy of openSUSE.We will be using openSUSE because it has been tested by SiliconSoftware with their MicroEnable Frame Grabber. The main difference between them is the GUI that is on top of the kernel, which gives them each their distinct look and feel. All the different kinds of "Linux" out there like Ubuntu, Fedora, openSUSE and Debian all have basically the same kernel, with a few tweaks here and there. A kernel is a piece of software that handles the interaction between hardware and applications. How To Setup Linux-rt On openSUSE Overviewįor those who are not familiar with Linux, or how an operating system works, here is a quick run down on the basics. SiliconSoftware MicroEnable III Frame Grabber.Video Card - EVGA 256-P2-N768-Fr GeForce 8600 GTS.Hard Drive - 500 GB Seagate Barracude 7200.12, 7200 rpm.CPU - Intel Core 2 Quad Q8400 (2.66 GHz).Below is a list of hardware that we will be using. Since SiliconSoftware provides drivers and support for the -rt Linux operating system, we will be using it for this project. If you want access to the lower levels (higher priority levels), you will need to use the function "sched_setscheduler" in the "sched.h" library (see example code below). Nice is a program that allows you to manually set the priority of a particular process, but it only gives you access to the highest 40 levels. Level 100 to 139 maps to the -20 to 19 niceness levels. The lower the level, the higher the priority it has. The scheduling in linux-rt has a total of 139 levels. The -rt Linux patch is an example of the scheduling implementation. Another common policy uses a timeslice model where tasks are allotted timeslices based on their priority and run until they exhaust their timeslice. In the scheduling approach, the operating system has a scheduling policy where when a task starts running, it continues to run until it voluntarily yields the processor, blocks or is preempted by a higher-priority real-time task. RTAI and RTLinux (not to be confused with the linux-rt patch) are examples of such implementation. The main operating system becomes a task run only when there is no real-time task to run, and the micro-kernel will pre-empt the main operating system whenever a real-time task needs the processor. In the micro-kernel approach, there's simply a very small, simple, real-time operating system underneath the main operating system. We will be using an operating system which implements the scheduling approach because it is the operating system that the makers of TrackCam supports. There are currently two main methods of implementing a real-time operating system, a micro-kernel approach and a scheduling approach. Implementations of Real-Time Operating Systems A real-time OS that can usually or generally meet a deadline is a soft real-time OS, but if it can meet a deadline deterministically it is a hard real-time OS. The chief design goal is not high throughput, but rather a guarantee of a soft or hard performance category. A hard real-time operating system has less jitter than a soft real-time operating system. So what is a real-time operating system? A key characteristic of a real-time OS is the level of its consistency concerning the amount of time it takes to accept and complete an application's task the variability is jitter. This is the continuation of earlier work done with the same hardware but on Windows instead. The goal of this project was to install and set up an operating system with real-time capabilities to work with Photonfocus' TrackCam and SiliconSoftware's MicroEnable Frame Grabber. Project by: James Yeung, Master in Electrical and Computer Engineering, 2010.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |