This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
developersguide:driverprogramming [2017/05/24 22:16] e_szabados Added required option to specify device node. |
developersguide:driverprogramming [2022/02/07 10:41] dcvmoole Rearrange order of instructions (suggestion by jinnjus) |
||
---|---|---|---|
Line 59: | Line 59: | ||
} | } | ||
</code> | </code> | ||
- | Ignore the sef_startup() call for now. We'll explain its purpose later. Now try to see if everything compiles correctly: | + | Ignore the sef_startup() call for now. We'll explain its purpose later. |
- | <code bash> | + | In addition, we must create a //hello.conf// file. It contains the permissions for the service. Each device driver typically only needs to access one real hardware device, and uses a few functions provided by Minix. To give our simple hello try-out driver enough permissions to experiment with, create //hello.conf// with: |
- | # make clean | + | |
- | # make | + | |
- | # make install | + | |
- | </code> | + | |
- | If you did not receive any errors, it is time to try and run the device driver. Before we do that, we must create the //hello.conf// file. It contains the permissions for the service. Each device driver typically only needs to access one real hardware device, and uses a few functions provided by Minix. To give our simple hello try-out driver enough permissions to experiment with, create //hello.conf// with: | + | |
//hello.conf//: | //hello.conf//: | ||
Line 85: | Line 80: | ||
}; | }; | ||
</code> | </code> | ||
- | Starting, stopping and restarting device drivers must be done using the **minix-service(8)** command. To start the hello program, enter the following command: | + | Now try to see if everything compiles correctly: |
+ | |||
+ | <code bash> | ||
+ | # make clean | ||
+ | # make | ||
+ | # make install | ||
+ | </code> | ||
+ | If you did not receive any errors, it is time to try and run the device driver. Starting, stopping and restarting device drivers must be done using the **minix-service(8)** command. To start the hello program, enter the following command: | ||
<code bash> | <code bash> | ||
- | #minix-service up /service/hello -dev /dev/hello | + | #minix-service up /service/hello |
Hello, World! | Hello, World! | ||
RS: restarting /service/hello, restarts 0 | RS: restarting /service/hello, restarts 0 | ||
</code> | </code> | ||
- | And what a surprise, it displays the //Hello, World!// message :-). If you are working in the terminal, the message appears in the console and in the kernel log as well. If you work in an X terminal, the message may appear only in the kernel log. Check by dumping the contents of /var/log/messages. Stop the driver with: | + | And what a surprise, it displays the //Hello, World!// message :-) in the kernel log. Check with writing the contents of /var/log/messages. Stop the driver with: |
<code bash> | <code bash> |