---
# System prepended metadata

title: 20210605 伴伴學：Fernando 從 Maker 工具出發認識 Linux 驅動程式
tags: [活動共筆]

---

---
tags: 活動共筆
---


# 20210605 伴伴學：Fernando 從 Maker 工具出發認識 Linux 驅動程式

## 簡介
什麼是伴伴學？
伴伴學 Accomdemy 是由一群來自科技圈、新創圈、教育圈的夥伴們自發性組成的自學組織。Accomdemy = Accompany + Academy，我們希望透過陪伴式學習的線上分享會，讓每個想自學的人在自學的路上有趣又不孤單！
臉書社團：
https://www.facebook.com/groups/accomdemy

活動內容
活動將以 Raspberry Pi 4B 為示範平台介紹: devicetree、驅動程式與硬體配對的過程、字元驅動程式 (可能會以 I2C 當 demo 例子)、能夠取得的學習資源。
若時間許可的話，最後會展示以 bpftrace 跟 ftrace 去監視核心的行為。

### 引導者
[Fernando ](https://www.facebook.com/profile.php?id=100001416766501)
第 12 屆 iT 邦幫忙鐵人賽: https://ithelp.ithome.com.tw/users/20129818
### 時間
20210605 19:30 ~
### 活動資訊
https://fb.me/e/2Mh5xa5eK
### 共筆
https://hackmd.io/hAvKrnVkRVaMc6ZlCXCtxw
### 活動過程中的亮點

## 視訊紀錄
https://youtu.be/K4dh71VhPeA

## 聊天室記錄
```
19:35:08	 From Andrew : 點右上角的檢視模式切換
19:35:17	 From Andrew : 目前還沒有分享畫面
19:35:27	 From Maggie : https://www.facebook.com/groups/accomdemy/
19:35:32	 From Maggie : 歡迎大家加入社團
19:35:40	 From gary : 沒有聲音
19:35:49	 From Maggie : https://hackmd.io/v1jFG5KhTnKX5gGKjtf8lg?view
19:35:53	 From Maggie : 共筆抵家
19:36:49	 From Maggie : 也歡迎大家把自己臉書連結分享到這兒
19:37:04	 From Maggie : 蕉流蕉流
19:37:33	 From Maggie : https://www.accomdemy.org/
19:37:38	 From Maggie : 官網抵家
19:37:55	 From Maggie : 也怕大家留個資在臉書會有個資外洩
19:42:26	 From Andrew : 進聊天室後 如果沒有要發言 記得要關靜音喔 (關閉麥克風
19:49:49	 From 皮爸 : 我以為是八點才開始
19:50:19	 From Maggie : 鴻旗自己也以為 哈哈哈
19:53:41	 From 0xff05 : https://youtu.be/68osT1soAPM
19:59:36	 From 鄭鴻旗 : https://bootlin.com/
20:03:24	 From 鄭鴻旗 : https://www.tenlong.com.tw/products/9781785280009
20:04:02	 From 李冠廷 : /proc
20:04:03	 From Waylin Ch : PC現在好像也沒用device tree?
20:04:28	 From tommy : https://www.nxp.com/docs/en/application-note/AN5125.pdf
device tree 可以看vender的技術文件
20:06:30	 From barsan : https://www.itread01.com/content/1529343617.html
20:13:52	 From 李冠廷 : 多型
20:17:07	 From 0xff05 : https://ithelp.ithome.com.tw/articles/10244815
20:17:45	 From Andrew : 可以解釋一下關於 user space 和 kernel space 的概念嗎?
20:19:43	 From 李冠廷 : VFS
20:20:47	 From 李冠廷 : https://www.slideshare.net/jserv/linux-discovery
20:21:50	 From Maggie : 今天好多新同學！
20:25:14	 From barsan : 今天是星期六, 不用上班...就進來.
20:26:39	 From Yang-Hsiang Chang : 這給大家發問哦，若沒有問題也可以投別人的 https://app.sli.do/event/s3v4ogh0
20:26:42	 From HYJ : User space context switch到 K.space的時候是透過call gate嗎？還是 interrupt ? ＡＲＭ或其他架構,貌似沒有像x86毛這麼多的呼叫方式 ? Linux可以不用像Windows這麼煩的轉移方式 , 真的是神奇的哩...
20:28:00	 From Frank lee : 我是剛加入社團群組的新手，剛開始在摸arduino而已，請大家多多指教，如果能夠給一些提點入門就更好了
20:28:21	 From 黑貓 : 哈囉
20:28:26	 From 0xff05 : https://ithelp.ithome.com.tw/articles/10238927
20:28:41	 From 黑貓 : 這堂伴伴學比較進階
20:28:54	 From 黑貓 : 連我都聽不懂XDD
20:29:07	 From Yang-Hsiang Chang : 這給大家發問哦，若沒有問題也可以投別人的 https://app.sli.do/event/s3v4ogh0
20:31:13	 From Bruce : 之前在鐵人賽看到這系列文章
很驚訝這在也可以聽到作者親自講解
20:31:30	 From Bruce : 伴伴學真是臥虎藏龍
20:31:47	 From Maggie : 謝謝fly幫忙開slido ！
20:31:59	 From Maggie : 這堂好難（抱頭
20:32:09	 From 皮爸 : 完全聽不懂
20:32:18	 From 皮爸 : 我是來添加人氣的
20:32:23	 From 0xff05 : https://ithelp.ithome.com.tw/articles/10244815
20:33:41	 From Maggie : 我也聽不懂 我是來跟大家教朋友的XD
20:36:49	 From 皮爸 : 謝謝andrew
20:37:10	 From Yang-Hsiang Chang : 黑貓
6 minutes ago

1
想問一下引導者的PI型號是多少~
20:37:30	 From shaun : pi(i2c master) => arduno(i2c slave)
20:38:18	 From Bruce : device node
20:38:19	 From shaun : open/write are all file nodes
20:43:30	 From shaun : http://smbus.org/specs/smbus20.pdf
20:44:17	 From shaun : pdf page28 smbus protocol
20:45:15	 From 黑貓 : 這對我來說是很新的知識XDDD
20:45:27	 From will : PI 現在增減功能也是DTREE
20:45:29	 From bluzchiu : 有聽過
20:45:35	 From eric yang : 舉手
20:46:04	 From SAMSON : 請問剛剛分享的講義網址是?退出再進來沒看到
20:46:44	 From bluzchiu : http://smbus.org/specs/smbus20.pdf
20:46:55	 From Bruce : 有點像kernel宣告硬體的地方
不知這樣解釋正確否
20:48:26	 From Maggie : Samson 是我腦海中的那位Samson嗎😆
20:49:51	 From shaun : DTS(device tree source) is a device description file for ARM based CPU
20:50:53	 From shaun : for flexibility
20:59:27	 From shaun : https://www.itread01.com/content/1548871388.html
21:05:37	 From shaun : i2c@7e804000 is i2c master, arduno-i2c@8 is a i2c device
21:07:08	 From shaun : yes
21:18:35	 From 0xff05 : https://ithelp.ithome.com.tw/articles/10244211
21:21:30	 From oliver huang : arduino i2c address 選擇08,如何選擇而不會與其他device重覆到
21:25:00	 From shaun : &i2c0 {
	status = "okay";
	eeprom@50{
		compatible = "atmel, 24c01";
		reg = <0x50>;
		pagesize = <8>;
		}
	arduno@8{
		compatible = "hello";
		reg = <0x08>;
		}
	}
21:25:05	 From shaun : like this?
21:25:30	 From shaun : through <reg>
21:25:38	 From oliver huang : 3Q
21:26:21	 From shaun : and @number
21:28:34	 From 0xff05 : https://youtu.be/a9CZ1Uk3OYQ
21:35:50	 From oliver huang : 感謝分享，先下線
21:36:51	 From Andrew : 好像有懂了一點了 感謝
21:37:35	 From sellean : 下次可以先分享講議，這樣可以讓人更快進入狀況
21:38:03	 From Andrew : 其實有先貼出鐵人賽的文章在活動說明了
21:38:21	 From 鄭鴻旗 : 伴伴學不是上課的走向
21:39:22	 From 鄭鴻旗 : 比較像是朋友一邊喝酒聊天的方式。
21:39:36	 From sellean : 了解哦…
21:40:02	 From Maggie : 所以整個活動重點就是酒。
21:40:10	 From Maggie : 第二重點是聊天
21:40:55	 From sellean : 還是很感謝分享
21:41:21	 From Maggie : 歡迎常常來聽呀～
21:41:27	 From Maggie : 很多主題，軟硬都有
21:41:34	 From shaun : good material
21:41:53	 From 皮爸 : 本次太硬
21:42:09	 From 0xff05 : https://ithelp.ithome.com.tw/users/20129818/ironman/3852?page=1
21:42:17	 From 皮爸 : 喝酒就好
21:42:19	 From shaun : I benefit a lot from Fernado's material and his blog
21:42:36	 From Maggie : 喝酒當podcast+1🤣
21:44:23	 From will : day8吧
21:44:42	 From bluzchiu : 正在看文章
21:44:51	 From 0xff05 : https://ithelp.ithome.com.tw/users/20129818/ironman/3852
21:46:00	 From Bruce : 黃敬群
21:46:22	 From Bruce : Jserv
21:46:38	 From bluzchiu : 還有
21:47:22	 From dar : https://www.facebook.com/JservFans 
Jserv與他愉快的小夥伴
21:47:53	 From 鄭鴻旗 : https://www.youtube.com/channel/UCIm-u7l65hp5jboSJrB7U5w
21:50:56	 From dar : https://systemprogrammingatntu.github.io/ 
System Programming Design (Fall 2018) at NTU
21:54:35	 From eric yang  To  鄭鴻旗(privately) : 感恩。
21:55:01	 From 鄭鴻旗  To  eric yang(privately) : 你要公開回覆～
21:55:03	 From 鄭鴻旗  To  eric yang(privately) : xd
21:55:36	 From eric yang : 感恩。
21:58:03	 From 0xff05 : https://lwn.net/Articles/803347/
22:03:21	 From Bruce : 請問這筆記可以去哪朝聖
22:03:52	 From Andrew : day30 有連結
22:04:22	 From Andrew : https://hackmd.io/@0xff07
22:05:14	 From Bruce : 感謝
22:13:22	 From will : 從實做開始往下了解
22:16:37	 From Andrew  To  鄭鴻旗(privately) : 我剛發現 今天好像剛好是講師的生日? XD
22:16:57	 From 鄭鴻旗  To  Andrew(privately) : 真的假的
22:17:08	 From Andrew  To  鄭鴻旗(privately) : 臉書寫的
22:17:13	 From 鄭鴻旗  To  Andrew(privately) : 要唱生日快樂歌嗎
22:17:21	 From Andrew  To  鄭鴻旗(privately) : https://www.facebook.com/profile.php?id=100001416766501
22:19:54	 From dar : https://www.furkantokac.com/rpi3-fast-boot-less-than-2-seconds/

https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/bootflow.md
22:20:20	 From Andrew  To  鄭鴻旗(privately) : https://www.youtube.com/watch?v=gIK1he6Ocpg
22:20:24	 From Andrew : https://www.youtube.com/watch?v=gIK1he6Ocpg
22:21:27	 From eric yang : 開發版firfox
22:21:56	 From eric yang : no
22:22:39	 From eric yang : 你論文做甚麼的？
22:24:11	 From 鄭鴻旗  To  Andrew(privately) : https://hackmd.io/FzGp155NRPSKNRGD4aWHYw
22:24:18	 From 鄭鴻旗 : https://hackmd.io/FzGp155NRPSKNRGD4aWHYw
22:24:44	 From 鄭鴻旗 : 你的電腦中裝了哪些工具的啟發
22:28:48	 From eric yang : 上升電阻，做過硬體的人都會比較注意
22:29:05	 From eric yang : 其實標準的i2c介面是open drain
22:29:26	 From eric yang : 因為i2c設計上是multi drop
22:29:39	 From eric yang : 我是念過飛利浦原廠手冊的
22:30:04	 From eric yang : 可以分享一下鐵人賽嗎？
22:30:05	 From Bruce : 請問i2c為何要選open drain架構?
22:30:10	 From yakin : 要先寫妦
22:30:15	 From will : 不是因為OPEN DRAIN才要有總線上拉嗎
22:30:34	 From eric yang : 但是不標準的 ic 會設計fan out
22:30:35	 From yakin : 寫好
22:31:17	 From Bruce : 是因為設計給較多device嗎
22:31:28	 From eric yang : 請問i2c為何要選open drain架構?因為你不太會知道這組 i2c slave有幾個
22:31:38	 From will : 我的理解是多DEVICE，所以要OPEN DRAIN
22:31:40	 From dar : 講者生日的樣子
https://m.facebook.com/profile.php?id=100001416766501&fref=nf&rc=p
22:31:42	 From eric yang : 也不知道其他slave的匹配
22:32:09	 From eric yang : 主要是滿足 multiple drop 功能
22:32:13	 From Bruce : 生日快樂!
22:32:32	 From eric yang : 我以前有一本philips 原廠手冊
22:32:33	 From znyui : Open Drain 的結構才不會有訊號互拉的問題. 並可以根據實際狀況去匹配上拉電阻.
22:32:40	 From dar : 抱歉... 誤會了
22:32:49	 From eric yang : 供電和匹配問題
22:32:50	 From 皮爸 : ＸＤ
22:33:10	 From Bruce : 了解 比較好奇為什麼spi沒有這樣的需求
22:33:27	 From will : OPEN DRAIN對別的設備看你就好像拔線
22:33:57	 From Andrew : https://www.facebook.com/groups/arduinotaipei/permalink/4329734797053938
22:34:13	 From znyui : SPI 的 DI /DO 基本上是分開的. 所以如果是多個 Slave 就會有多個 MISO
22:34:22	 From Andrew : https://hackmd.io/@openlabtaipei/SJJN-JvEO
22:34:27	 From eric yang : 了解 比較好奇為什麼spi沒有這樣的需求。因為spi input output是分開的
22:34:59	 From eric yang : 而i2c 是in,out 同一線
22:35:02	 From Bruce : 感謝解答
22:35:11	 From eric yang : clock也都可以給
22:35:19	 From Bruce : 了解
22:35:22	 From eric yang : 上面還要有async功能
22:35:33	 From eric yang : 另外edge trigger
22:35:52	 From eric yang : 還有每個發送信號最後要帶回應
22:36:15	 From eric yang : 這很重要。以前硬體速度慢，軟體很難實現
22:36:52	 From Bruce : 原來如此
22:43:19	 From eric yang : multiple drop
22:43:29	 From eric yang : 可以
22:43:35	 From eric yang : 標準的
22:43:55	 From eric yang : 多主端多從端也都可以
22:44:21	 From eric yang : 你要去查i2c spec
22:44:21	 From will : https://kknews.cc/zh-tw/digital/pk5564e.html
22:44:51	 From dar : https://www.youtube.com/watch?v=QQLfzlPGjjE
#20 Tutorial: Multiple Devices on One Arduino I2C Bus
22:44:54	 From will : wire其實就是自己上拉下拉
22:45:20	 From eric yang : 對 wire
22:47:07	 From Tenhsu : slave address
22:53:30	 From Bruce : 其實Arduino要手刻也可以 只是累了點
22:53:41	 From Bruce : 之前有刻過51的
22:57:54	 From Bruce : 謝謝今天的分享
22:57:57	 From louis : 感謝各位分享...第一次參加,穫益良多..夜深了..先離線..
22:58:02	 From Tenhsu : 謝謝
22:58:03	 From will : 感謝
22:58:04	 From 謝祥辰 : 謝謝
22:58:08	 From 陳 洛桐 : 感謝
22:58:09	 From yakin : 3q
22:58:22	 From gary : 謝謝!!
22:58:24	 From znyui : 感謝~ 受益良多!~
22:58:26	 From 皮爸 : 謝謝！
22:58:32	 From Dahai Pon : 謝謝
22:58:45	 From 馬爸 : 感謝！
22:58:52	 From Andrew : 感謝 收穫許多
22:59:05	 From Tenhsu : 感謝
22:59:18	 From 馬爸 : 鴻旗生日快樂…補一下


```



## 社群相關討論