然後make就可以了,寫驅動程序的時候,如果定義一個沒有形參的函數,括號裏一定要寫上void,否則會有一個警告,雖然沒什麼大礙,不過有警告很不爽,看來養成良好的變成習慣也很重要,make之後會生成一個can_bus.ko,下面的就簡單了
1、安裝模塊insmod can_bus.ko
如果要想看到輸出信息,可以用cat /var/log/messages或者切換到文本界面,直接就能在控制檯看到輸出:can_bus major num = 249,這是我這裏顯示的,就是說生成的主設備號是249,用lsmod可以查看模塊是否加載了
2、創建設備文件
mknod /dev/can_bus c 249 0,上面提到的249就用到了,我一直在想,當我使用open打開can_bus設備的時候,怎麼跟我的驅動關聯起來,這個249就是關鍵了,剛開始的時候,我就隨便寫了個主設備號,結果怎麼也打不開設備。
3、測試
如果成功打開就能看到控制檯open can bus的輸出,這時,一個完整的驅動就差不多了。要卸載模塊,使用rmmod can_bus即可。
4、開機自動加載
差不多就是還差一點,驅動不可能每次都要手動去加載,我想讓驅動開機的時候自動加載,這就要修改rc.local文件,輸入vim /etc/init.d/rc.local,在文件的最後兩行添上
insmod /can/can_bus.ko
mknod /dev/can_bus c 249 0
我的can_bus.ko是放在/can目錄下的,讀者可自行修改,這下就完整了,重啓電腦,在做下上面的測試,OK了,不用手動去加載了,大功告成。