Soft_Job 板


LINE

大家好,小弟的工作跟 MCU 有關 近期工作剛 on board,導師要我先看一個資料夾內的 Code 裡面看起來像是一個 task 的 create、initilize 跟 API 以往經驗,我會先找一個程式的 main function 當入口,然後順著邏輯去看 code 但這套似乎沒辦法用在 Kernel 上, 我查的資料也是說: Kernel 比較像是一個狀態機的架構,只有init process 能夠像我這樣"flow"的方式去 trace (參考自:https://reurl.cc/zNDnMp) 我覺得蠻有道理的,畢竟我真的找不太到這個 task 的 entry 點, 勉強來說的話,應該是我上述的 create、initialize function 吧 但這些又如何串上 API 呢? 上方的網站內有提及, 有些 function 可以不必深入進去看實作,大概知道他的作用即可, 我想也是, 畢竟我看的 Code 也是一直去呼叫別人包好的 API 我沒有 trace Kernel 的經驗,希望有大大能夠給我指引,謝謝。 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.55.170 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1661957617.A.C2B.html
1F:→ breeze08: 你的kernel指的是linux kernel還是RTOS? 08/31 23:02
RTOS ※ 編輯: ericerix (49.216.55.170 臺灣), 08/31/2022 23:04:23
2F:→ breeze08: RTOS原始碼量比較少,花些時間是可以看完整個核心的 08/31 23:12
3F:→ breeze08: 但前提是你對作業系統的運作有基本認識 08/31 23:14
4F:→ breeze08: 否則直接看原始碼會有很高的機率看不懂,挫折感極大 08/31 23:15
6F:→ breeze08: 所以建議是先了解作業系統的概念再來看原始碼 08/31 23:19
7F:→ enthos: github.com/gurugio/lowlevelprogramming-university 08/31 23:19
8F:→ breeze08: 會比較好入手 08/31 23:19
9F:→ breeze08: 如果要快速上手的話,稍微了解一下scheduler跟context 08/31 23:22
10F:→ breeze08: switch的概念,然後就直接看實際範例可能會比較快 08/31 23:22
11F:推 TWkobe: Rtos 算很短易懂了,先看文檔怎麼操作建立task,怎麼註冊 08/31 23:29
12F:→ TWkobe: int, 再來理解kernel實作 08/31 23:29
13F:推 NerVGear: SourceInsight打開啊 08/31 23:46
14F:推 NerVGear: 如果真要看整個流程去看Bare metal是怎麼init就知道了 08/31 23:49
15F:→ NerVGear: 很多東西都是被toolchain預設的東西藏起來 08/31 23:59
16F:→ NerVGear: 像main function怎麼被call到的這個你就可以研究一陣子 08/31 23:59
17F:→ NerVGear: 了 08/31 23:59
18F:推 henry4343: Task的entry point不就是建立這個task時丟進去的func 09/01 00:12
19F:→ henry4343: tion pointer嗎 09/01 00:12
20F:→ henry4343: 如果是os的entry point可以試試找start.S之類的應該會 09/01 00:13
21F:→ henry4343: 有接到c的main 09/01 00:13
22F:推 bena5mail13: 直接從elf反組譯就可以找到第一行程式碼在那裡進入了 09/01 00:21
23F:推 labbat: 懷疑新手能不能拿到os原始碼,一般不是.a檔包一包就動了 09/01 01:56
24F:→ labbat: 能看到的只有介面的交換資料,真正原始碼得找資深同事 09/01 01:57
25F:推 WYchuang: 進入點通常是組合語言 往那邊找找看吧 09/01 09:53
26F:推 ihatesmith: RTOS的話可以參考"野火"的RTOS教學pdf 09/01 10:06
27F:推 alex70266: 先確認你老闆是要你知道怎麼用,還是要你下手去改。如 09/01 11:24
28F:→ alex70266: 果是rtos類的通常是從main找到他註冊task function的地 09/01 11:25
29F:→ alex70266: 方,然後看他怎麼呼叫排程開始 09/01 11:25
30F:推 alex70266: 然後免不了要看一下每一個task怎麼分配stack空間跟管理 09/01 11:30
31F:→ alex70266: ,如果你不用牽涉修改os裡面的排程行為應該先知道你手 09/01 11:30
32F:→ alex70266: 上的版本有什麼功能跟怎麼用就好.. 09/01 11:30
33F:→ alex70266: 如果是要親自去改(比方說porting到另外一個chip)或者 09/01 11:34
34F:→ alex70266: 需要要細看怎麼做排程跟context switch的話,那就要去 09/01 11:34
35F:→ alex70266: 看你手邊的code的中斷向量/exception handler怎麼實作c 09/01 11:34
36F:→ alex70266: ontext switch(通常在handler中間會看到一段搬動stack 09/01 11:34
37F:→ alex70266: 的動作跟還原的動作)通常這邊是用組語或者用c的setjum 09/01 11:34
38F:→ alex70266: p/longjump,怎麼操作就跟你手邊的mcu是什麼版本的arm 09/01 11:34
39F:→ alex70266: 有關聯,排程的話一定有一個演算法決定下次切換到的tas 09/01 11:34
40F:→ alex70266: k是誰,就是看就好 09/01 11:34
41F:推 neo5277: 推推 想寫 09/01 12:16
42F:→ leolarrel: 回原po,只要你基礎沒打好,就沒有"有效率"的方法. 09/01 13:13
43F:推 lplpkkk: 成大資工wiki有freertos教學可以看 09/01 22:25
44F:推 leoloveivy: grep -r無敵 09/02 00:52
45F:推 OnlyRD: 你需要先有kernel的概念,然後分模組看。 09/02 15:01







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP