SlideShare a Scribd company logo
Linux One wire sensor & I2C framebuffer Driver Porting
張 O 杰
Motivation 專題動機
在 Linux 中一般 AP 對硬體的呼叫要先透過
Kernel 再呼叫底層 , 這樣反覆的動作就效能而
言 , 是比較差的 , 如果直接使用底層的 Driver 來
呼叫底層裝置會更有效率
DHT 22 溫溼度 Sensor Driver Porting
Catch data form Interrupt
(1) 使用 do_gettimeofday function 擷取時間
現在的時間 (T2) - 進入中斷時的時間 (T1)= 波形 High
(2) 步驟 1 x 40 times = Total Data
T1 T2
SSD1306 OLED I2C Driver Porting
Driver Structure & Flow Chart
檔案操作介面 (APP)
字元設備驅動程式 ( /dev/fb1 )
Framebuffer 驅動程式 (SSD1306fb.c)
具體的 Framebuffer 驅動程式 (struct
fb_info)
SSD1306 OLED
透過 I/O Open
function 進行
操作
呼叫
Framebuffer
驅動程式
呼叫
Framebuffer
具體實作
對硬體設備進行
實際操作
Framebuffer Mapping
I2C driverI2C driver HDMI
/dev/fb1
Memory
Buffer
mmap(2)mmap(2)
OLED SSD1306
User Program
OLED
I2C
VGA
Framebuffer API
Framebuffer Framework
Memory
Buffer
64
128
/dev/fb0
DHT 22 溫溼度 Sensor Driver Porting
感謝專題期間 Joseph 老師與范老師的指導與幫忙

More Related Content

What's hot

射頻電子實驗手冊 - [實驗8] 低雜訊放大器模擬
射頻電子實驗手冊 - [實驗8] 低雜訊放大器模擬射頻電子實驗手冊 - [實驗8] 低雜訊放大器模擬
射頻電子實驗手冊 - [實驗8] 低雜訊放大器模擬
Simen Li
 
AFG30X2 Series FPGA
AFG30X2 Series FPGAAFG30X2 Series FPGA
AFG30X2 Series FPGASam Chan
 
程式設計師的自我修養 Chapter 10 記憶體
程式設計師的自我修養 Chapter 10 記憶體程式設計師的自我修養 Chapter 10 記憶體
程式設計師的自我修養 Chapter 10 記憶體Shu-Yu Fu
 
GPS satellite signal acquisition and GPS CA(Gold) code generator
GPS satellite signal acquisition and GPS CA(Gold) code generatorGPS satellite signal acquisition and GPS CA(Gold) code generator
GPS satellite signal acquisition and GPS CA(Gold) code generator
Pei-Che Chang
 
Wbm9000动态库说明L
Wbm9000动态库说明LWbm9000动态库说明L
Wbm9000动态库说明Lguest8eab39bd
 
H264 on rtp
H264 on rtpH264 on rtp
H264 on rtpscmky
 
NTHU Comm Presentation
NTHU Comm PresentationNTHU Comm Presentation
NTHU Comm Presentation
Pei-Che Chang
 
视频编码原理简介
视频编码原理简介视频编码原理简介
视频编码原理简介
pluschen
 
Linux期末 效能調教(kernel trnning)
Linux期末 效能調教(kernel trnning)Linux期末 效能調教(kernel trnning)
Linux期末 效能調教(kernel trnning)米米 林
 
如何应用Tcpdump分析应用性能
如何应用Tcpdump分析应用性能如何应用Tcpdump分析应用性能
如何应用Tcpdump分析应用性能
穆 成
 
射頻電子實驗手冊 [實驗1 ~ 5] ADS入門, 傳輸線模擬, 直流模擬, 暫態模擬, 交流模擬
射頻電子實驗手冊 [實驗1 ~ 5] ADS入門, 傳輸線模擬, 直流模擬, 暫態模擬, 交流模擬射頻電子實驗手冊 [實驗1 ~ 5] ADS入門, 傳輸線模擬, 直流模擬, 暫態模擬, 交流模擬
射頻電子實驗手冊 [實驗1 ~ 5] ADS入門, 傳輸線模擬, 直流模擬, 暫態模擬, 交流模擬
Simen Li
 
uRock @ SITCON 2015
uRock @ SITCON 2015uRock @ SITCON 2015
uRock @ SITCON 2015
宗凡 楊
 
射頻電子實驗手冊 - [實驗7] 射頻放大器模擬
射頻電子實驗手冊 - [實驗7] 射頻放大器模擬射頻電子實驗手冊 - [實驗7] 射頻放大器模擬
射頻電子實驗手冊 - [實驗7] 射頻放大器模擬
Simen Li
 
智慧家庭 簡報
智慧家庭 簡報智慧家庭 簡報
智慧家庭 簡報艾鍗科技
 
20170415- 智慧空調通訊系統實務_柯大
20170415- 智慧空調通訊系統實務_柯大20170415- 智慧空調通訊系統實務_柯大
20170415- 智慧空調通訊系統實務_柯大
MAKERPRO.cc
 
第14讲 交换机基本操作
第14讲 交换机基本操作第14讲 交换机基本操作
第14讲 交换机基本操作F.l. Yu
 

What's hot (20)

Is
IsIs
Is
 
Project gps
Project gpsProject gps
Project gps
 
射頻電子實驗手冊 - [實驗8] 低雜訊放大器模擬
射頻電子實驗手冊 - [實驗8] 低雜訊放大器模擬射頻電子實驗手冊 - [實驗8] 低雜訊放大器模擬
射頻電子實驗手冊 - [實驗8] 低雜訊放大器模擬
 
AFG30X2 Series FPGA
AFG30X2 Series FPGAAFG30X2 Series FPGA
AFG30X2 Series FPGA
 
程式設計師的自我修養 Chapter 10 記憶體
程式設計師的自我修養 Chapter 10 記憶體程式設計師的自我修養 Chapter 10 記憶體
程式設計師的自我修養 Chapter 10 記憶體
 
GPS satellite signal acquisition and GPS CA(Gold) code generator
GPS satellite signal acquisition and GPS CA(Gold) code generatorGPS satellite signal acquisition and GPS CA(Gold) code generator
GPS satellite signal acquisition and GPS CA(Gold) code generator
 
Wbm9000动态库说明L
Wbm9000动态库说明LWbm9000动态库说明L
Wbm9000动态库说明L
 
H264 on rtp
H264 on rtpH264 on rtp
H264 on rtp
 
NTHU Comm Presentation
NTHU Comm PresentationNTHU Comm Presentation
NTHU Comm Presentation
 
视频编码原理简介
视频编码原理简介视频编码原理简介
视频编码原理简介
 
Linux期末 效能調教(kernel trnning)
Linux期末 效能調教(kernel trnning)Linux期末 效能調教(kernel trnning)
Linux期末 效能調教(kernel trnning)
 
如何应用Tcpdump分析应用性能
如何应用Tcpdump分析应用性能如何应用Tcpdump分析应用性能
如何应用Tcpdump分析应用性能
 
射頻電子實驗手冊 [實驗1 ~ 5] ADS入門, 傳輸線模擬, 直流模擬, 暫態模擬, 交流模擬
射頻電子實驗手冊 [實驗1 ~ 5] ADS入門, 傳輸線模擬, 直流模擬, 暫態模擬, 交流模擬射頻電子實驗手冊 [實驗1 ~ 5] ADS入門, 傳輸線模擬, 直流模擬, 暫態模擬, 交流模擬
射頻電子實驗手冊 [實驗1 ~ 5] ADS入門, 傳輸線模擬, 直流模擬, 暫態模擬, 交流模擬
 
10 存储系统02
10 存储系统0210 存储系统02
10 存储系统02
 
Technotrend
TechnotrendTechnotrend
Technotrend
 
uRock @ SITCON 2015
uRock @ SITCON 2015uRock @ SITCON 2015
uRock @ SITCON 2015
 
射頻電子實驗手冊 - [實驗7] 射頻放大器模擬
射頻電子實驗手冊 - [實驗7] 射頻放大器模擬射頻電子實驗手冊 - [實驗7] 射頻放大器模擬
射頻電子實驗手冊 - [實驗7] 射頻放大器模擬
 
智慧家庭 簡報
智慧家庭 簡報智慧家庭 簡報
智慧家庭 簡報
 
20170415- 智慧空調通訊系統實務_柯大
20170415- 智慧空調通訊系統實務_柯大20170415- 智慧空調通訊系統實務_柯大
20170415- 智慧空調通訊系統實務_柯大
 
第14讲 交换机基本操作
第14讲 交换机基本操作第14讲 交换机基本操作
第14讲 交换机基本操作
 

Similar to 實作 Linux Driver 移植在樹莓 Pi 上:Linux One wire sensor & I2C framebuffer Driver Porting

第11讲 管理Cisco互联网络
第11讲 管理Cisco互联网络第11讲 管理Cisco互联网络
第11讲 管理Cisco互联网络F.l. Yu
 
基于Erlang的
基于Erlang的基于Erlang的
基于Erlang的
hnoutman
 
突破 計算機概論複習講義-電子試閱本
突破 計算機概論複習講義-電子試閱本突破 計算機概論複習講義-電子試閱本
突破 計算機概論複習講義-電子試閱本lungtengtech
 
S3 cev40getting startv2.1 cn
S3 cev40getting startv2.1 cnS3 cev40getting startv2.1 cn
S3 cev40getting startv2.1 cnVidur Garg
 
Erlang Optimize
Erlang OptimizeErlang Optimize
Erlang Optimize
Feng Yu
 
TI702_Android_MID
TI702_Android_MIDTI702_Android_MID
TI702_Android_MID
guestd2ec7f
 
Erlang and HTML5
Erlang and HTML5Erlang and HTML5
Erlang and HTML5
Witeman Zheng
 
Hp刀片机测试
Hp刀片机测试Hp刀片机测试
Hp刀片机测试
alex1x
 
Accelerating or Complicating PHP execution by LLVM Compiler Infrastructure
Accelerating or Complicating PHP execution by LLVM Compiler Infrastructure Accelerating or Complicating PHP execution by LLVM Compiler Infrastructure
Accelerating or Complicating PHP execution by LLVM Compiler Infrastructure
National Cheng Kung University
 
Hbase在淘宝的应用与优化 修改
Hbase在淘宝的应用与优化 修改Hbase在淘宝的应用与优化 修改
Hbase在淘宝的应用与优化 修改yp_fangdong
 
MySQL新技术探索与实践
MySQL新技术探索与实践MySQL新技术探索与实践
MySQL新技术探索与实践Lixun Peng
 
20130626联动优势数据访问层DAL架构和实践5(刘胜)数据分片和分页
20130626联动优势数据访问层DAL架构和实践5(刘胜)数据分片和分页20130626联动优势数据访问层DAL架构和实践5(刘胜)数据分片和分页
20130626联动优势数据访问层DAL架构和实践5(刘胜)数据分片和分页
liu sheng
 
Erlang高级原理和应用
Erlang高级原理和应用Erlang高级原理和应用
Erlang高级原理和应用
Feng Yu
 
基于嵌入式系统的Avs P10编码系统设计
基于嵌入式系统的Avs P10编码系统设计基于嵌入式系统的Avs P10编码系统设计
基于嵌入式系统的Avs P10编码系统设计
Hengyi
 
0118 Windows Server 2008 的伺服器核心 (Server Core)
0118 Windows Server 2008 的伺服器核心 (Server Core)0118 Windows Server 2008 的伺服器核心 (Server Core)
0118 Windows Server 2008 的伺服器核心 (Server Core)Timothy Chen
 
Arduino 底層原始碼解析心得
Arduino 底層原始碼解析心得Arduino 底層原始碼解析心得
Arduino 底層原始碼解析心得
roboard
 
Noip2 stack buffer overflow
Noip2 stack buffer overflowNoip2 stack buffer overflow
Noip2 stack buffer overflow
b0920075
 
Baidu LSP and DISQL for Log Analysis
Baidu LSP and DISQL for Log AnalysisBaidu LSP and DISQL for Log Analysis
Baidu LSP and DISQL for Log AnalysisXiaoming Chen
 

Similar to 實作 Linux Driver 移植在樹莓 Pi 上:Linux One wire sensor & I2C framebuffer Driver Porting (20)

Godson x86
Godson x86Godson x86
Godson x86
 
第11讲 管理Cisco互联网络
第11讲 管理Cisco互联网络第11讲 管理Cisco互联网络
第11讲 管理Cisco互联网络
 
基于Erlang的
基于Erlang的基于Erlang的
基于Erlang的
 
突破 計算機概論複習講義-電子試閱本
突破 計算機概論複習講義-電子試閱本突破 計算機概論複習講義-電子試閱本
突破 計算機概論複習講義-電子試閱本
 
S3 cev40getting startv2.1 cn
S3 cev40getting startv2.1 cnS3 cev40getting startv2.1 cn
S3 cev40getting startv2.1 cn
 
Erlang Optimize
Erlang OptimizeErlang Optimize
Erlang Optimize
 
TI702_Android_MID
TI702_Android_MIDTI702_Android_MID
TI702_Android_MID
 
Erlang and HTML5
Erlang and HTML5Erlang and HTML5
Erlang and HTML5
 
Hp刀片机测试
Hp刀片机测试Hp刀片机测试
Hp刀片机测试
 
Accelerating or Complicating PHP execution by LLVM Compiler Infrastructure
Accelerating or Complicating PHP execution by LLVM Compiler Infrastructure Accelerating or Complicating PHP execution by LLVM Compiler Infrastructure
Accelerating or Complicating PHP execution by LLVM Compiler Infrastructure
 
Hbase在淘宝的应用与优化 修改
Hbase在淘宝的应用与优化 修改Hbase在淘宝的应用与优化 修改
Hbase在淘宝的应用与优化 修改
 
MySQL新技术探索与实践
MySQL新技术探索与实践MySQL新技术探索与实践
MySQL新技术探索与实践
 
20130626联动优势数据访问层DAL架构和实践5(刘胜)数据分片和分页
20130626联动优势数据访问层DAL架构和实践5(刘胜)数据分片和分页20130626联动优势数据访问层DAL架构和实践5(刘胜)数据分片和分页
20130626联动优势数据访问层DAL架构和实践5(刘胜)数据分片和分页
 
Erlang高级原理和应用
Erlang高级原理和应用Erlang高级原理和应用
Erlang高级原理和应用
 
Inside VCL
Inside VCLInside VCL
Inside VCL
 
基于嵌入式系统的Avs P10编码系统设计
基于嵌入式系统的Avs P10编码系统设计基于嵌入式系统的Avs P10编码系统设计
基于嵌入式系统的Avs P10编码系统设计
 
0118 Windows Server 2008 的伺服器核心 (Server Core)
0118 Windows Server 2008 的伺服器核心 (Server Core)0118 Windows Server 2008 的伺服器核心 (Server Core)
0118 Windows Server 2008 的伺服器核心 (Server Core)
 
Arduino 底層原始碼解析心得
Arduino 底層原始碼解析心得Arduino 底層原始碼解析心得
Arduino 底層原始碼解析心得
 
Noip2 stack buffer overflow
Noip2 stack buffer overflowNoip2 stack buffer overflow
Noip2 stack buffer overflow
 
Baidu LSP and DISQL for Log Analysis
Baidu LSP and DISQL for Log AnalysisBaidu LSP and DISQL for Log Analysis
Baidu LSP and DISQL for Log Analysis
 

More from IttrainingIttraining

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

實作 Linux Driver 移植在樹莓 Pi 上:Linux One wire sensor & I2C framebuffer Driver Porting

  • 1. Linux One wire sensor & I2C framebuffer Driver Porting 張 O 杰
  • 2. Motivation 專題動機 在 Linux 中一般 AP 對硬體的呼叫要先透過 Kernel 再呼叫底層 , 這樣反覆的動作就效能而 言 , 是比較差的 , 如果直接使用底層的 Driver 來 呼叫底層裝置會更有效率
  • 3. DHT 22 溫溼度 Sensor Driver Porting
  • 4.
  • 5. Catch data form Interrupt (1) 使用 do_gettimeofday function 擷取時間 現在的時間 (T2) - 進入中斷時的時間 (T1)= 波形 High (2) 步驟 1 x 40 times = Total Data T1 T2
  • 6.
  • 7.
  • 8. SSD1306 OLED I2C Driver Porting
  • 9. Driver Structure & Flow Chart 檔案操作介面 (APP) 字元設備驅動程式 ( /dev/fb1 ) Framebuffer 驅動程式 (SSD1306fb.c) 具體的 Framebuffer 驅動程式 (struct fb_info) SSD1306 OLED 透過 I/O Open function 進行 操作 呼叫 Framebuffer 驅動程式 呼叫 Framebuffer 具體實作 對硬體設備進行 實際操作
  • 10. Framebuffer Mapping I2C driverI2C driver HDMI /dev/fb1 Memory Buffer mmap(2)mmap(2) OLED SSD1306 User Program OLED I2C VGA Framebuffer API Framebuffer Framework Memory Buffer 64 128 /dev/fb0
  • 11. DHT 22 溫溼度 Sensor Driver Porting 感謝專題期間 Joseph 老師與范老師的指導與幫忙