第一個樹莓派驅動程式-helloword(五)
編寫helloword驅動,直接上程式碼
Makefile
ifeq ($(KERNELRELEASE),)
KERNELDIR := /home/carl/work/raspi/linux-rpi-4.9.y
PWD := $(shell pwd)
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules ARCH=arm CROSS_COMPILE=/home/carl/work/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf -
modules_install:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install ARCH=arm CROSS_COMPILE=/home/carl/work/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-
clean:
rm -rf *.o *~core.depend .*.cmd *.mod.c *.tmp_version *.order *.symvers
else
obj-m := hello. o
endif
hello.c
#include <linux/init.h>
#include <linux/module.h>
//初始化函式
static int __init hello_init(void)
{
printk(KERN_ALERT"Hello carl!\n");
return 0;
}
//退出函式
static void __exit hello_exit(void)
{
printk(KERN_ALERT"Goodbye carl,nice to see you.\n");
}
//對模組函式進行繫結
module_init(hello_init);
module_exit(hello_exit);
//許可協議及作者資訊、可以不設定
MODULE_LICENSE("Dual BSD/GPL");
MODULE_AUTHOR("Carl.yang");
編譯完成後會生成hello.ko檔案
將此檔案拷貝到樹莓派
安裝:sudo insmod hello.ko
解除安裝:sudo rmmod hello
檢視核心列印資訊:dmesg
相關推薦
第一個樹莓派驅動程式-helloword(五)
編寫helloword驅動,直接上程式碼 Makefile ifeq ($(KERNELRELEASE),) KERNELDIR := /home/carl/work/raspi/linux
第一個樹莓派JAVA測試程式-LED燈控制
1. 安裝JDK(用SecuritFX) 上傳jdk-8u151-linux-arm32-vfp-hflt.tar.gz到樹莓派/home/pi tar -zxvf jdk-8u151-linux-arm32-vfp-hflt.tar.gz sudo nano /e
樹莓派3學習筆記(7):7寸(分辨率800 480)顯示器配置
樹莓派、顯示器配置樹莓派3學習筆記(7):7寸(分辨率800 480)顯示器配置 樹莓派搭載分辨率為800X480的顯示器在顯示的時候可能會遇到無法全屏顯示的問題, 顯示器只有部分能夠顯示,有一部分是黑邊,對於這一種情況,我們只需進入系統的boot目錄,找到config.txt文件,或者直接在命
樹莓派進階之路 (024) - windows遠程桌面連接樹莓派通過xrdp服務(轉)
class win cse 端口 vncserver 通過 1-1 截圖 images 本文轉載:http://www.cnblogs.com/edgexie/p/6527992.html 在網上看到很多關於windows遠程桌面連接樹莓派的教程。我也按照教程試過了,遇到了
安裝nginx的步驟 樹莓派桌面版環境(Debian)
load install 安裝包 /usr .net nbsp art host style 感謝:http://blog.csdn.net/shennongminblog/article/details/76158397 在此基礎上 使用源碼安裝比較容易 獲取pcre編
Django基於第一個項目導入模板(2)
分享 template bubuko 項目 服務器 http brush 新建文件夾 temp 1.在模塊blog下新建文件夾templates,在templates下新建index.html文件 //index.html代碼如下: <html> <
第一個缺失的最小正數(優化)
題目中提到線性時間和常數級的空間限制。 方法1中迴圈中雖然出現迴圈,但是時間複雜度仍然是線性級別的,且空間複雜度為常數級別; 方法2中採用遞迴思想。雖然時間複雜度滿足,但是空間複雜度隨著遞迴深入成與陣列長度線性相關; 方法3和方法1類似,只是方法3採用每次遇到小於陣列長
樹莓派 二維碼(QR)識別 python篇
樹莓派 二維碼(QR)識別 python篇 要使用的工具 python Image 影象
樹莓派 二維碼(QR)識別 c語言篇
樹莓派 二維碼(QR)識別 c語言篇 先看一下執行結果: 識別圖片二維碼,源程式:
嵌入式平臺選擇:樹莓派 or BeagleBone Black(BBB)
已經有很多文章比較過Arduino、樹莓派和BeagleBone Black(BBB),但本文的側重點不同。我相信大家都會認為Arduino和另外兩者明顯屬於不同的陣營,因為Arduino的用途完全不一樣。我曾試圖去尋找這樣一篇文章但最終沒有找到:它全面的比較樹莓派和
樹莓派3安裝筆記(1)-安裝作業系統Raspbian以及安裝必要軟體
拿到了樹莓派3後,經過短暫的興奮,終於開始實戰安裝OS了。以下步驟基於官方的文章https://www.raspberrypi.org/learning/software-guide/quickstart/,選擇安裝的是RASPBIAN 1. 格式化micr
【最新】 樹莓派3B 設定通用(UART)串列埠的方法
去年入手了一個樹莓派3B,和很多人一樣,在使用串列埠時遇見了問題。因為新的樹莓派增加了藍芽功能,而這個功能恰好佔用了我們想要使用的串列埠,並且這種佔用是預設的。因此,我們需要關閉藍芽功能並更改串列埠配置。我找尋了很多網上的資料及教程,但可能由於我是一個十足的新手,
樹莓派操作目錄以及常用命令整理——樹莓派入手常見問題(四)
文章雖然是主要寫樹莓派,其實也適用於絕大部分linux系統。畢竟樹莓派的官方推薦的raspbian系統同說白了就是linux。 所以對於平時工作中經常使用linux的同學來說,基本沒什麼學習成本的。不過整理一下,溫故一下也無妨。 如果平時接觸linux比較少,就當時入門瞭解
Linux裝置驅動程式學習(13)
匯流排 匯流排是處理器和一個或多個裝置之間的通道,在裝置模型中, 所有的裝置都通過匯流排相連, 甚至是內部的虛擬"platform"匯流排。匯流排可以相互插入。裝置模型展示了匯流排和它們所控制的裝置之間的實際連線。在 Linux 裝置模型中, 匯流排由 bus_type 結構
Linux裝置驅動程式學習(7)-核心的資料型別
由於前面的學習中有用到 第十一章 核心資料結構型別 的知識,所以我先看了。要點如下: 將linux 移植到新的體系結構時,開發者遇到的若干問題都與不正確的資料型別有關。堅持使用嚴格的資料型別和使用 -Wall -Wstrict-prototypes 進行編譯可能避免大部分
樹莓派小白教程(一)
配件:開發板、網線、電源和電源線(5V 2.1A 的充電寶和手機安卓充電線可代替)、路由器、 筆記本 軟體:XSHELL 或其他遠端登入軟體 開機前的準備: 物理裝置連線: 1、電源(充電寶
樹莓派3B 設定通用(UART)串列埠的方法
三、測試串列埠在這個部分,我將使用膝上型電腦和樹莓派連線,從而達到測試串列埠是否可以正常使用的目的。其中,電腦需要使用USB轉TTL模組來實現與樹莓派的連線。 1、電腦端我的電腦系統為win10,使用的USB轉TTL模組型號為CP2102,該模組的驅動程式可以在
樹莓派3 聲音感測器(win10)
這段時間太忙了,專案收尾一直沒有時間繼續搗鼓樹莓派,正好趁這個雙休抽點時間來和我的小夥伴玩耍一把。上篇文章提到我想用Win10 Iot Core 和買來的一堆感測器摩擦出一些火花,雖然,已經有很多前輩做過,但是我沒有做過啊,沒做過又怎麼能體會到實踐的樂趣呢。先來一張感測器全家福吧! 這麼一大堆感測器,要
樹莓派—raspbian軟體源(全)
本文基本涵蓋樹莓派Raspbian主流國內軟體源(stretch及jessie)及少量國外知名軟體源。 目前最新的系統Raspbian(2017-08-16及以後的系統)已經基於Debian 9 Stretch,請選擇正確的軟體源。 更換源後,需要更新本地軟體索引: sud
Linux裝置驅動程式學習(12) -Linux裝置模型(底層原理簡介)
以《LDD3》的說法:Linux裝置模型這部分內容可以認為是高階教材,對於多數程式作者來說是不必要的。但是我個人認為:對於一個嵌入式Linux的底層程式設計師來說,這部分內容是很重要的。 以我學習的ARM9為例,有很多匯流排(如SPI、IIC、IIS等等)在Linux下已經被