User Tools

Site Tools


developersguide:driverprogramming

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Last revision Both sides next revision
developersguide:driverprogramming [2022/02/07 10:41]
dcvmoole Rearrange order of instructions (suggestion by jinnjus)
developersguide:driverprogramming [2022/02/10 13:48]
stux fix issue in time.c; fix a few missed instances where minix-service needed to be updated; no /usr/bin/hello, fix also
Line 302: Line 302:
 Finally, the //main()// function executes //​chardriver_task()//​ to let //​libchardriver//​ start processing user requests and invoke our driver callback functions. Finally, the //main()// function executes //​chardriver_task()//​ to let //​libchardriver//​ start processing user requests and invoke our driver callback functions.
  
-Now compile the program again using the same commands as in example 1, and start the driver with the **service(8)** command. We supply ''​-dev /​dev/​hello''​ to indicate that the newly started driver is responsible for the major device identified by /dev/hello - namely, major 17, which we picked earlier.+Now compile the program again using the same commands as in example 1, and start the driver with the **minix-service(8)** command. We supply ''​-dev /​dev/​hello''​ to indicate that the newly started driver is responsible for the major device identified by /dev/hello - namely, major 17, which we picked earlier.
  
 <code bash> <code bash>
-# service up /usr/sbin/hello -dev /dev/hello+minix-service up /service/hello -dev /dev/hello
 Hello, World! Hello, World!
 </​code>​ </​code>​
Line 323: Line 323:
 If you get the message above, the hello driver works!** :D ** If you get the message above, the hello driver works!** :D **
  
-Now let's try to restart the driver with the **service(8)** command to simulate a failure:+Now let's try to restart the driver with the **minix-service(8)** command to simulate a failure:
  
 <code bash> <code bash>
-# service refresh hello+minix-service refresh hello
 Hello, World! Hello, World!
 Hey, I've just been restarted! Hey, I've just been restarted!
Line 350: Line 350:
 #endif /* __HELLO_H */ #endif /* __HELLO_H */
 </​code>​ </​code>​
-Now recompile it and update the driver with the **service(8)** command:+Now recompile it and update the driver with the **minix-service(8)** command:
  
 <code bash> <code bash>
Line 356: Line 356:
 # make # make
 # make install # make install
-# service update /​service/​hello -state 1    # request an update state where no work is in progress (i.e. SEF_LU_STATE_WORK_FREE=1)+minix-service update /​service/​hello -state 1    # request an update state where no work is in progress (i.e. SEF_LU_STATE_WORK_FREE=1)
 Hello, New World! Hello, New World!
 Hey, I'm a new version! Hey, I'm a new version!
Line 441: Line 441:
 struct chardriver time_tab = struct chardriver time_tab =
 { {
-        ​*cdr_open = time_open,​ +        ​.cdr_open = time_open,​ 
-        ​*cdr_close = time_close,​ +        ​.cdr_close = time_close,​ 
-        ​*cdr_read = time_read,+        ​.cdr_read = time_read,
 }; };
  
Line 623: Line 623:
     install ​ /​service/​time     install ​ /​service/​time
     install ​ /​etc/​system.conf.d/​time     install ​ /​etc/​system.conf.d/​time
-# service up /​service/​time -dev /dev/time+minix-service up /​service/​time -dev /dev/time
 # cat /​dev/​time ​ # cat /​dev/​time ​
 2014-09-10 15:48:21 2014-09-10 15:48:21
developersguide/driverprogramming.txt · Last modified: 2022/02/10 14:58 by stux