作者jimmytzeng (jimmytseng)
看板Soft_Job
標題Re: [請益] 研替 Linux/MCU
時間Wed Dec 21 10:00:51 2016
※ 引述《OPliao (OPman)》之銘言:
: ※ [本文轉錄自 Tech_Job 看板 #1OLtv-Fl ]
: 作者: OPliao (OPman) 看板: Tech_Job
: 標題: [請益] 研替 Linux/MCU
: 時間: Mon Dec 19 14:30:20 2016
: 各位前輩好
: 最近拿到兩個研替offer
: 兩間都是豬屎屋
: 一個會接觸到linux Kernel
: 一個是MCU相關
: 兩間薪水差不多 想請教走哪條路比較好?
: 有向學長詢問 他說選擇MCU就進入了 真●嵌入式領域
: 而且要跟Linux說掰掰
: 我考慮的點是Linux Kernel外面用得多,未來不怕沒地方去
: 但MCU台灣好像就幾間,不然就是外商(外商好,但沒打算出國工作
: 說錯請指正
: 有任何建議 分享 都相當感謝
: 也歡迎站內信討論~
: 補充
: 雖然知道Linux用在很多地方 但其實也沒有很清楚
: 可以的話請前輩們指引明燈~
: 謝謝
我覺得可以先從MCU下手在轉linux kernel。
好處是MCU架構相對支援linux的ARM A系列,或是mips到x86等CPU相對簡單很多很多,透
過JTAG配合簡單的程式碼,你可以很快熟悉CPU, 並列串列I/O (uart, i2c, spi, usb, p
cie等), timer,dma等基本功能,會看英文spec,設定register,並知道設定下去是在幹
麼,會對系統產生什麼影響。
甚至是可以自己設計memory lauout,自行安排text, bss, data等section(例如有大量快
速運算需求的section放在速度快的memory做系統最佳化)。或是會不會打包binary檔,bi
nary檔會不會加header,header format 是什麼,你程式碼該怎麼解header等等。
接著進一步移植RTOS上去(FreeRTOS,ucos等),你會知道primitive跟cocurrency 差別在
哪,什麼是queue, semaphore, mutex,或是context switch是怎麼處理的,然後進一步
對系統做穩定度與最佳化。
以上這些東西都是蹲馬步,馬步蹲完在去研究linux kernel 才會比較好上手,不然初學
者什麼都不會,就要去trace 好幾萬行程式碼的kernel,跟本瞎子摸象。摸到了一點皮毛
,會open ioctl /dev , /sys 就想一招打天下,但遇到booting hang,kernel panic 等
問題整個人掛在那裡,狂call FAE也求救無門。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.217.183.246
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1482285654.A.0A7.html
推 OPliao: 感謝建議 會好好選擇的 12/21 10:34
推 hungys: 推 12/21 11:59
推 ccccboom: <--- ioctl 混飯吃 12/21 12:49
推 iiiii: 直接進kernel就可以,那些MCU你想自己蓋的東西,Kernel也 12/21 13:38
→ iiiii: 允許你自己蓋,linux裡又有很多很好的sample code 12/21 13:38
推 bab7171: 有人願意帶最快 12/21 13:43
→ PUTOUCHANG: 有夢最美,誰知道進去是不是打雜,同樣是打雜,不如選 12/21 20:03
→ PUTOUCHANG: 有OS的更好練功 12/21 20:03
推 M013: 推 12/22 09:03
→ badyy: 魯弟問問,玩rtos/os用virutalplatform之類的不是也一樣 12/22 16:10
→ badyy: 出硬體前不太可能沒驗證過吧...y 12/22 16:12
→ codehard: 也是有原廠沒全驗就MP的 特別是小廠 call FAE不理你 12/22 19:03
推 amatt: 此篇道出kernel精華,至少看的出底子很厚 12/23 19:32
推 evan731125: 推一個!寫的真好 12/23 22:30
→ WisdomOrLie: 蹲過跟硬體打交道的那些日子 思考issue的角度真的會 12/24 04:13
→ WisdomOrLie: 跟純軟的不太一樣... 12/24 04:13
推 Ethical: 推 12/24 13:13
推 surfingbboy: 很少豬屎屋會改到純Kernel 大部分都是driver居多 12/25 20:27
→ surfingbboy: 不過多trace kernel會讓driver寫得更漂亮 12/25 20:28
→ surfingbboy: MCU要看碰的深度了 對task概念會更清楚 但還是Linux 12/25 20:29
→ surfingbboy: 比較好玩 JTAG基本上都會用到 尤其hang在看不出來的 12/25 20:30
→ surfingbboy: 的地方 12/25 20:30
推 homeworkboy: mcu是不建議,已經是玩死的東西了 01/08 17:40