- 目前都是使用C語言來撰寫驅動程式
- 程式務必include
& include - 每一個程式都會有一個進入點, 或者第一個指令的地方, linux device driver的進入點如下:
{
return 0;
}
module_init(your_driver_name_init);
其進入點的名字你可以隨意取一個名字, 但是其原型的宣告方式必須是固定的, 請參考上面的範例程式, 最後必須使用一個巨集指令module_init()來宣告其為程式進入點。
- Linux的驅動程式可以是static link至kernel, 也可以是動態的方式, linux稱做module, 若是static的方式則必須要有完整的kernel source code, 並且在編譯時會將整個kernel source code編譯過, 而module的方式則不用, 只需要kernel的include檔即, 但是不管是static或者module其進入點宣告方式都一樣
- 離開或者是下載驅動程式時的進入點宣告如下 :
{
}
module_exit(your_driver_name_exit);
這和進入點一樣, 名字可以隨意取, 但是原型宣告則必須固定, 並且使用module_exit()巨集指令來確定離開驅動式的進入點。
以上是Linux的驅動程式的基本概念。
沒有留言:
張貼留言