應用程序如下,編譯會有 warning 但不影響 (比如 gcc 說 open 要改用 fopen),這個應用程序就是對 /dev/my_cdev 做 Open、Read、Write、Close 的動作,結果會出現在 dmesg (記得要掛載 module)
Cloud Dai 的程式研究
2025年6月17日 星期二
創建 cdev
這一題就是要創建一個 cdev,阿共那邊叫字符設備 (繁體中文怎麼翻我不知道),顧名思義就是這些設備一次只能傳一個 Byte,創建出來的設備在 /dev 目錄下,主要是用於用戶空間和實際設備的資料傳遞。
這題最難的就是 Module 安裝不進去,核心對這種形式的 Module 會需要數位簽章,用 dmesg 會看到這種錯誤訊息『module verification failed signature and/or required key missing taintin』,解決方式是把 CONFIG_MODULE_SIG 和 CONFIG_MODULE_SIG_ALL 設成『n』。正如同和碩四樓 QTC 的 Pink 說我不會 External Usb Port 一樣,CONFIG_MODULE_SIG 和 CONFIG_MODULE_SIG_ALL 到底要在哪裡設定呢?這時我們必須注意 Makefile 的這一行『$(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules』,『shell uname -r』指的是編譯核心的版本,在我這邊是 6.8.0-60-gneric,所以各位就去你 \ 妳們相對應的目錄改『.config』就 ok 了!輸入『cat /proc/devices』 可看到我們掛載的字符設備。
2025年6月15日 星期日
海軍陸戰隊
受雨停的霆仔精神感召來寫一下陸戰隊!其實我陸戰生涯最大的壓力是李建璋,其原因就在於『嫩』(若顧面子要講陳之漢陸戰隊天下無敵論,我個性真的和帝釋天不一樣)!這和蔡依林壓榨、徐旭東二房之子、嚴凱泰四千萬是一樣的,但其實有打工的也說累,畢竟曬太陽跑步搬東西本就不輕鬆。陳丙坤窗戶和吳惠民大背包是最重的體力操練,女性義務役根本笑話,先不管傷皮膚刺針飛彈架設標準如果原本五分鐘女生來架要改成七分鐘嗎?飛行員也要承受 G 力,女性志願役最佳選擇是海軍。少校連長魏德麒堅信操倒了再說,所以我們有時候不能喝水,特種看不起陸戰;陸戰看不起陸軍是難免的。總之奉送霆仔一句話:『別把長官的狗吠當真,操體能倒是真的但你是義務役心理壓力是假的』,話雖如此但一年兩個月的役期雖然痛苦卻也值得,體驗人生!(美軍別把我們的兒戲當真,我們不實戰)