SlideShare a Scribd company logo
1 of 11
艾鍗成果發表會
物聯網平台開發人才
(嵌入式軟韌體設計工程師人才)
專題-Linux Driver 實現
專題製作人:陳O翰
指導老師:范老師,Joseph
報告流程
• 引言
• 系統架構說明
• 軟硬體架構
• Demo
• 結論
• 分工
• 參考文獻
引言
• 有過系統程式軟韌體撰寫及單晶片韌體開
發的經驗,所以想練習撰寫Linux Driver.
• 練習撰寫Linux Driver(Pi_v3用I2C通Gsenser),
生成Kernel Module(.ko),再寫一支APP測試
(讀X,Y,Z值).
• Pi 透過CoAP協定並申請ARMmbed伺服器,在ARMmbed註冊裝置,架設簡單網站
(jQuery,javascrip, Node.js)使用ARMmbed服務,在網站讀取傳送資料
系統架構說明
Linux Driver 實現
軟硬體架構
• 軟體- C, Linux-rpi-4.4.y,相關code
• 硬體-BCM2837(Pi_v3), LIS3DH(Gsenser)
• Pi_v3參考用Linux-rpi-4.4.y版本撰寫Kernel
Module(文件相關有Kernel Module, I2C Driver),
硬體看datasheet暫存器位址,開始撰寫.c檔並
編譯成.ko檔測試
• 撰寫.c檔參考相關資料,一步步在Pi_v3上測
試.ko檔並重複dmesg kernel 訊息
Demo
X=236
Y=56
Z=109
======
X=…
Y=…
Z=…
======
…
…
Pi_v3
結論
• 從實做User space到Kernel space,關鍵是了解
Kernel space的觀念和實做Kernel API, Linux是
一個龐大架構的OS(I2C),即使是User space
APP的撰寫也和Kernel Module息息相關,要不
斷的釐清觀念並寫code驗證結果,同時寫
code也是可以訓練邏輯能力
分工
• 陳柏翰-Coding, Trace code, test code(dmesg),
Cross compile , Google reference, PPT, Report,
Demo, Resume.
• 范老師-提供相關Code,技術指導.
• Joseph-技術指導.
參考文獻
• Linux Device Drivers (THIRD EDITION) -Jonathan Corbet,
Alessandro Rubini, and Greg Kroah-Hartman
• https://www.google.com.tw/
• Linux: https://github.com/raspberrypi/linux/tree/rpi-4.4.y
• Linux-rpi-4.4.y:Document
• I2C Driver:
http://venkateshabbarapu.blogspot.tw/2012/11/i2c-driver-
in-linux.html
• LIS3DH PDF:
http://www.st.com/content/ccc/resource/technical/docum
ent/datasheet/3c/ae/50/85/d6/b1/46/fe/CD00274221.pdf/
files/CD00274221.pdf/jcr:content/translations/en.CD002742
21.pdf
感言
• 感謝艾鍗學院老師們的指導,讓我不斷的寫
程式提升功力,不論有觀念或技術問題,老師
都會不厭倦地回答並和我討論,也會測驗我
的觀念,糾正我的錯誤,過程當然辛苦,但很有
充實感,謝謝艾鍗學院!
The Report finished
Thanks For Listening~~

More Related Content

What's hot

Ch3 basic command(2013 ncu-nos_nm)
Ch3   basic  command(2013 ncu-nos_nm)Ch3   basic  command(2013 ncu-nos_nm)
Ch3 basic command(2013 ncu-nos_nm)
Kir Chou
 
Dc 20051202 v3
Dc 20051202 v3Dc 20051202 v3
Dc 20051202 v3
Sonny Chen
 
Linux 系統管理實務期末報告
Linux 系統管理實務期末報告Linux 系統管理實務期末報告
Linux 系統管理實務期末報告
群宇 賴
 
如何使用Console連接眾至UTM設備
如何使用Console連接眾至UTM設備如何使用Console連接眾至UTM設備
如何使用Console連接眾至UTM設備
sharetech
 
Erlang分布式系统的的领域语言
Erlang分布式系统的的领域语言Erlang分布式系统的的领域语言
Erlang分布式系统的的领域语言
Feng Yu
 
阿里巴巴运维自动化的探索与规划
阿里巴巴运维自动化的探索与规划阿里巴巴运维自动化的探索与规划
阿里巴巴运维自动化的探索与规划
mysqlops
 
Pptv lb日志实时分析平台
Pptv lb日志实时分析平台Pptv lb日志实时分析平台
Pptv lb日志实时分析平台
drewz lin
 

What's hot (19)

Raspberry pi 基本操作
Raspberry pi 基本操作Raspberry pi 基本操作
Raspberry pi 基本操作
 
T客邦 CAVEDU樹莓派分享會
T客邦 CAVEDU樹莓派分享會T客邦 CAVEDU樹莓派分享會
T客邦 CAVEDU樹莓派分享會
 
Openstack的研究与实践
Openstack的研究与实践Openstack的研究与实践
Openstack的研究与实践
 
Ch3 basic command(2013 ncu-nos_nm)
Ch3   basic  command(2013 ncu-nos_nm)Ch3   basic  command(2013 ncu-nos_nm)
Ch3 basic command(2013 ncu-nos_nm)
 
在Linux上實現Rstudio Server 與Spark的溝通
在Linux上實現Rstudio Server 與Spark的溝通在Linux上實現Rstudio Server 與Spark的溝通
在Linux上實現Rstudio Server 與Spark的溝通
 
Free rtos简介
Free rtos简介Free rtos简介
Free rtos简介
 
Dc 20051202 v3
Dc 20051202 v3Dc 20051202 v3
Dc 20051202 v3
 
Kubernetes device plugins
Kubernetes device pluginsKubernetes device plugins
Kubernetes device plugins
 
2017 Week 14 Computer Vision
2017 Week 14 Computer Vision2017 Week 14 Computer Vision
2017 Week 14 Computer Vision
 
Raspberry Pi 智能風扇
Raspberry Pi 智能風扇Raspberry Pi 智能風扇
Raspberry Pi 智能風扇
 
Linux 系統管理實務期末報告
Linux 系統管理實務期末報告Linux 系統管理實務期末報告
Linux 系統管理實務期末報告
 
如何使用Console連接眾至UTM設備
如何使用Console連接眾至UTM設備如何使用Console連接眾至UTM設備
如何使用Console連接眾至UTM設備
 
Erlang分布式系统的的领域语言
Erlang分布式系统的的领域语言Erlang分布式系统的的领域语言
Erlang分布式系统的的领域语言
 
Heat在企业中的应用实践
Heat在企业中的应用实践Heat在企业中的应用实践
Heat在企业中的应用实践
 
阿里巴巴运维自动化的探索与规划
阿里巴巴运维自动化的探索与规划阿里巴巴运维自动化的探索与规划
阿里巴巴运维自动化的探索与规划
 
Pptv lb日志实时分析平台
Pptv lb日志实时分析平台Pptv lb日志实时分析平台
Pptv lb日志实时分析平台
 
Ryu SDN-IP
Ryu SDN-IPRyu SDN-IP
Ryu SDN-IP
 
Raspberry Pi專題製作四旋翼飛行器
Raspberry Pi專題製作四旋翼飛行器Raspberry Pi專題製作四旋翼飛行器
Raspberry Pi專題製作四旋翼飛行器
 
Fortinet Fortigate 60D 中文安裝手冊 ( Ver 5.2.3)
Fortinet Fortigate 60D 中文安裝手冊 ( Ver 5.2.3)Fortinet Fortigate 60D 中文安裝手冊 ( Ver 5.2.3)
Fortinet Fortigate 60D 中文安裝手冊 ( Ver 5.2.3)
 

Similar to 專題-2017Linux Driver 實現

Nodejs & NAE
Nodejs & NAENodejs & NAE
Nodejs & NAE
q3boy
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
netdbncku
 
移动端跨平台技术原理
移动端跨平台技术原理移动端跨平台技术原理
移动端跨平台技术原理
gorillazf
 
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
cachowu
 
rebar erlang 2
rebar erlang 2rebar erlang 2
rebar erlang 2
致远 郑
 
美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介
pan weizeng
 
阿里巴巴 肖劲青 阿里巴巴运维自动化的探索与规划
阿里巴巴 肖劲青 阿里巴巴运维自动化的探索与规划阿里巴巴 肖劲青 阿里巴巴运维自动化的探索与规划
阿里巴巴 肖劲青 阿里巴巴运维自动化的探索与规划
colderboy17
 
使用Nginx轻松实现开源负载均衡——对外版
使用Nginx轻松实现开源负载均衡——对外版使用Nginx轻松实现开源负载均衡——对外版
使用Nginx轻松实现开源负载均衡——对外版
pigso
 

Similar to 專題-2017Linux Driver 實現 (20)

Nodejs & NAE
Nodejs & NAENodejs & NAE
Nodejs & NAE
 
Jobforcompal
JobforcompalJobforcompal
Jobforcompal
 
從頭打造 C#、.NET 與 ASP.NET Core 開發環境
從頭打造 C#、.NET 與 ASP.NET Core 開發環境從頭打造 C#、.NET 與 ASP.NET Core 開發環境
從頭打造 C#、.NET 與 ASP.NET Core 開發環境
 
Full stack-development with node js
Full stack-development with node jsFull stack-development with node js
Full stack-development with node js
 
Android JNI
Android JNIAndroid JNI
Android JNI
 
Android工作坊
Android工作坊Android工作坊
Android工作坊
 
從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用從軟體開發角度
談 Docker 的應用
從軟體開發角度
談 Docker 的應用
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
面試心得
面試心得面試心得
面試心得
 
Software Engineer Talk
Software Engineer TalkSoftware Engineer Talk
Software Engineer Talk
 
移动端跨平台技术原理
移动端跨平台技术原理移动端跨平台技术原理
移动端跨平台技术原理
 
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
 
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
 
rebar erlang 2
rebar erlang 2rebar erlang 2
rebar erlang 2
 
美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介
 
阿里巴巴 肖劲青 阿里巴巴运维自动化的探索与规划
阿里巴巴 肖劲青 阿里巴巴运维自动化的探索与规划阿里巴巴 肖劲青 阿里巴巴运维自动化的探索与规划
阿里巴巴 肖劲青 阿里巴巴运维自动化的探索与规划
 
使用Nginx轻松实现开源负载均衡——对外版
使用Nginx轻松实现开源负载均衡——对外版使用Nginx轻松实现开源负载均衡——对外版
使用Nginx轻松实现开源负载均衡——对外版
 
合久必分,分久必合
合久必分,分久必合合久必分,分久必合
合久必分,分久必合
 
Ovirt deep dive
Ovirt deep diveOvirt deep dive
Ovirt deep dive
 
Beyond rails server
Beyond rails serverBeyond rails server
Beyond rails server
 

More from IttrainingIttraining

商品辨識定位系統_艾鍗學院-AIoT智能行動服務物聯網班
商品辨識定位系統_艾鍗學院-AIoT智能行動服務物聯網班商品辨識定位系統_艾鍗學院-AIoT智能行動服務物聯網班
商品辨識定位系統_艾鍗學院-AIoT智能行動服務物聯網班
IttrainingIttraining
 
居家雲端照護系統_艾鍗學院-AIoT智能行動服務物聯網班
居家雲端照護系統_艾鍗學院-AIoT智能行動服務物聯網班居家雲端照護系統_艾鍗學院-AIoT智能行動服務物聯網班
居家雲端照護系統_艾鍗學院-AIoT智能行動服務物聯網班
IttrainingIttraining
 
AIoT 智能商店_艾鍗學院-AIoT智能行動服務物聯網班
AIoT 智能商店_艾鍗學院-AIoT智能行動服務物聯網班AIoT 智能商店_艾鍗學院-AIoT智能行動服務物聯網班
AIoT 智能商店_艾鍗學院-AIoT智能行動服務物聯網班
IttrainingIttraining
 

More from IttrainingIttraining (20)

【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
 
商品辨識定位系統_艾鍗學院-AIoT智能行動服務物聯網班
商品辨識定位系統_艾鍗學院-AIoT智能行動服務物聯網班商品辨識定位系統_艾鍗學院-AIoT智能行動服務物聯網班
商品辨識定位系統_艾鍗學院-AIoT智能行動服務物聯網班
 
居家雲端照護系統_艾鍗學院-AIoT智能行動服務物聯網班
居家雲端照護系統_艾鍗學院-AIoT智能行動服務物聯網班居家雲端照護系統_艾鍗學院-AIoT智能行動服務物聯網班
居家雲端照護系統_艾鍗學院-AIoT智能行動服務物聯網班
 
AIoT 智能商店_艾鍗學院-AIoT智能行動服務物聯網班
AIoT 智能商店_艾鍗學院-AIoT智能行動服務物聯網班AIoT 智能商店_艾鍗學院-AIoT智能行動服務物聯網班
AIoT 智能商店_艾鍗學院-AIoT智能行動服務物聯網班
 
04_動物姿態識別Pet pose classification
04_動物姿態識別Pet pose classification04_動物姿態識別Pet pose classification
04_動物姿態識別Pet pose classification
 
01_智慧英文評分系統 Evaluate Student Summaries
01_智慧英文評分系統 Evaluate Student Summaries01_智慧英文評分系統 Evaluate Student Summaries
01_智慧英文評分系統 Evaluate Student Summaries
 
03_AI旅宿訂房系統-AI智慧訂房方案
03_AI旅宿訂房系統-AI智慧訂房方案03_AI旅宿訂房系統-AI智慧訂房方案
03_AI旅宿訂房系統-AI智慧訂房方案
 
02_永豐AI GO競賽攻房戰 Dr. House Team
02_永豐AI GO競賽攻房戰 Dr. House Team02_永豐AI GO競賽攻房戰 Dr. House Team
02_永豐AI GO競賽攻房戰 Dr. House Team
 
05_關鍵字提取與廣告文稿評分系統_以化妝品產業為例
05_關鍵字提取與廣告文稿評分系統_以化妝品產業為例05_關鍵字提取與廣告文稿評分系統_以化妝品產業為例
05_關鍵字提取與廣告文稿評分系統_以化妝品產業為例
 
Novozymes Enzyme Stability Prediction
Novozymes Enzyme Stability PredictionNovozymes Enzyme Stability Prediction
Novozymes Enzyme Stability Prediction
 
旅遊推薦系統Tourist Line Spot
旅遊推薦系統Tourist Line Spot旅遊推薦系統Tourist Line Spot
旅遊推薦系統Tourist Line Spot
 
無人商店Unmanned Store
無人商店Unmanned Store無人商店Unmanned Store
無人商店Unmanned Store
 
物件辨識攝影機
物件辨識攝影機物件辨識攝影機
物件辨識攝影機
 
ChatBot問答機器人
ChatBot問答機器人ChatBot問答機器人
ChatBot問答機器人
 
街景門牌實價登錄
街景門牌實價登錄街景門牌實價登錄
街景門牌實價登錄
 
APCS程式設計實作題(Python解題)-物品堆疊/邏輯運算子
APCS程式設計實作題(Python解題)-物品堆疊/邏輯運算子APCS程式設計實作題(Python解題)-物品堆疊/邏輯運算子
APCS程式設計實作題(Python解題)-物品堆疊/邏輯運算子
 
APCS程式設計實作題(Python解題)-解題技巧/特殊編碼/完全奇數
APCS程式設計實作題(Python解題)-解題技巧/特殊編碼/完全奇數APCS程式設計實作題(Python解題)-解題技巧/特殊編碼/完全奇數
APCS程式設計實作題(Python解題)-解題技巧/特殊編碼/完全奇數
 
物聯智慧杯墊 Smart Cup Pad
物聯智慧杯墊 Smart Cup Pad物聯智慧杯墊 Smart Cup Pad
物聯智慧杯墊 Smart Cup Pad
 
口罩偵測機 Mask-detection
口罩偵測機 Mask-detection口罩偵測機 Mask-detection
口罩偵測機 Mask-detection
 
居家智能LED調光燈
居家智能LED調光燈居家智能LED調光燈
居家智能LED調光燈
 

專題-2017Linux Driver 實現