SlideShare a Scribd company logo
艾鍗成果發表會
物聯網平台開發人才
(嵌入式軟韌體設計工程師人才)
專題-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

PPTX
BLE室內定位技術實現龍珠雷達裝置
PPTX
使用 DesignSpark PCB 軟體製作感應燈電路板
PDF
Lvs在大规模网络环境下的应用pukong
PPTX
Raspberry Pi 數位商品貨架系統
PPTX
Processing on your Android
PPTX
Linux期末 效能調教(kernel trnning)
PPT
机顶盒软件的坑
PPT
200701011
BLE室內定位技術實現龍珠雷達裝置
使用 DesignSpark PCB 軟體製作感應燈電路板
Lvs在大规模网络环境下的应用pukong
Raspberry Pi 數位商品貨架系統
Processing on your Android
Linux期末 效能調教(kernel trnning)
机顶盒软件的坑
200701011

What's hot (19)

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

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

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

More from IttrainingIttraining (20)

PPTX
AI 認得你,也認得照片的重複 - 智慧型圖片管理系統:結合人臉辨識與重複圖片偵測技術【艾鍗學院學員專題 】
PPTX
AI 個人造型顧問:結合 Stable Diffusion 與 CLIP 的 AI 虛擬穿搭推薦系統設計【艾鍗學院學員專題 】
PPTX
「熊出沒注意!」:結合 YOLOv8 的台灣黑熊即時預警系統設計【艾鍗學院學員專題 】
PPTX
BentoCal:食物熱量健康管理系統 - 結合 YOLOv8 的便當影像辨識與熱量推估系統【艾鍗學院學員專題 】
PPTX
AI 飆股預測:你的智慧投資夥伴-基於技術分析與基本面的 AI 股價預測系統【艾鍗學院學員專題 】
PPTX
Character Generation Master 角色生成大師【艾鍗學院】
PPTX
吉伊卡哇臉盲辨識器 - 艾鍗學院學員專題 [AI人工智慧與邊緣運算工程師班]
PPTX
AI 語音複製 X 翻譯 - 艾鍗學院學員專題 [AI人工智慧與邊緣運算工程師班]
PPTX
以人工智能打造企業內部知識管理系統以PCB板為例 - 艾鍗學院學員專題 [AI人工智慧與邊緣運算工程師班]
PPTX
Scratch遊戲設計 教學培訓課程Scratch Game【台灣程式教育協進會】
PPTX
Scratch AI應用與遊戲開發 教學培訓課程【台灣程式教育協進會】
PPTX
APCS程式設計 - C++程式語言觀念 (大學程式設計先修檢測)
PPTX
艾鍗學院課程節錄 - 自然語言處理與大型語言模型(NLP,LLM,Transformer)
PPTX
艾鍗學院學員AI專題 - 飛向Kaggle宇宙🚀🚀-系外行星之光譜與物質濃度分析
PDF
艾鍗學院學員AI專題 - 類流感預測
PPTX
艾鍗學院學員AI專題 - AI 熱量管理師
PPTX
艾鍗學院學員AI專題 - Kaggle貸款風險預測模型開發
PPTX
艾鍗學院學員AI專題 - 串流平台Netflix 熱門電影與節目特徵分析及排行上榜預測平台
PPT
C++程式設計Basic
PPTX
第五組_速速單字書 Quickly Collect Words
AI 認得你,也認得照片的重複 - 智慧型圖片管理系統:結合人臉辨識與重複圖片偵測技術【艾鍗學院學員專題 】
AI 個人造型顧問:結合 Stable Diffusion 與 CLIP 的 AI 虛擬穿搭推薦系統設計【艾鍗學院學員專題 】
「熊出沒注意!」:結合 YOLOv8 的台灣黑熊即時預警系統設計【艾鍗學院學員專題 】
BentoCal:食物熱量健康管理系統 - 結合 YOLOv8 的便當影像辨識與熱量推估系統【艾鍗學院學員專題 】
AI 飆股預測:你的智慧投資夥伴-基於技術分析與基本面的 AI 股價預測系統【艾鍗學院學員專題 】
Character Generation Master 角色生成大師【艾鍗學院】
吉伊卡哇臉盲辨識器 - 艾鍗學院學員專題 [AI人工智慧與邊緣運算工程師班]
AI 語音複製 X 翻譯 - 艾鍗學院學員專題 [AI人工智慧與邊緣運算工程師班]
以人工智能打造企業內部知識管理系統以PCB板為例 - 艾鍗學院學員專題 [AI人工智慧與邊緣運算工程師班]
Scratch遊戲設計 教學培訓課程Scratch Game【台灣程式教育協進會】
Scratch AI應用與遊戲開發 教學培訓課程【台灣程式教育協進會】
APCS程式設計 - C++程式語言觀念 (大學程式設計先修檢測)
艾鍗學院課程節錄 - 自然語言處理與大型語言模型(NLP,LLM,Transformer)
艾鍗學院學員AI專題 - 飛向Kaggle宇宙🚀🚀-系外行星之光譜與物質濃度分析
艾鍗學院學員AI專題 - 類流感預測
艾鍗學院學員AI專題 - AI 熱量管理師
艾鍗學院學員AI專題 - Kaggle貸款風險預測模型開發
艾鍗學院學員AI專題 - 串流平台Netflix 熱門電影與節目特徵分析及排行上榜預測平台
C++程式設計Basic
第五組_速速單字書 Quickly Collect Words

專題-2017Linux Driver 實現