Re: [請益] 韌體初學者
※ 引述《t7365443 (U彥)》之銘言:
: 各位版友好
: 目前就讀國立科大碩(電機)
: 大學是資工系的
: 本人一直想走韌體工程師這方面
: 但是實驗室又是做網路相關的
: 想找個網路設備的韌體的領域
: 想知道如果要走韌體這方面需要補足什麼地方
: 有什麼比較重要的地方 可以自己自學或是去修大學部的課
: 大學是稍微有玩過arduino開發版
: 但尤其是硬體這方面 (電子 電路 嵌入式系統等等)以前資工教的比較少
: 謝謝各位的意見
韌體工程師的工作內容其實範圍還滿大的
最小的4~7bit MCU,這種幾乎都用組語在寫
大概也不會有職缺純做這種MCU
一堆被ARM打趴的通用MCU,例如8051 PIC AVR MSP430 .....
不是沒人在用,只是這些都會越用越少,也不推去學
也有一些零星,基於特殊用途的8~32bit MCU,但這等用到再學就好
最大的大概就ARM的Cortex-A系列,主要是手機
幾乎都跑Embedded linux,這種做起來,跟軟體工程師差不了多少
不太可能一個人包山包海,會有幾個軟、軔、硬體工程師一起工作
你說的Arduino,比較像是軟體工程師臨時需要一個硬體介面才會用到的中介工具
我認為不能算是寫軔體,但作為畢業生,當面試材料是還好
我自己則是做ARM的Cortex-M(Microcontroller)系列
M系列看規模,一個人從硬包到軟是有可能的,從0開始寫也是有可能
(EE) (Non OS)
寫較大系統的,會遇到RTOS、DSP的使用,模組校調等
而寫小系統的,則會糾結在效能細節,直接硬體存取等
=====
學寫軔體,最難的應該是作為軟硬之間,兩邊都要懂些皮毛
不然很容易黑鍋背不完,尤其是硬體丟來的鍋
軔體主要是純C在寫,Embedded linux則是C++為主,所以要跟軟體爭吵比較不會輸
但如果硬體擺爛,你就必須要能接示波器,且或指著電路圖把人家電爆
除非你打算走嵌入式系統核心設計(也就是根本就是個軟體工程師)
不然硬體工程師該會的你都多少要會,只是不用自己畫圖而已
一般微控制器系統不太會遇到真的高速、大型電路
基礎電子電路知識有就行,且,示波器一定要會用
=====
總之,你如果想走網路設備軔體
應該比較偏Embedded linux,現有資工的知識其實已經很夠了
頂多接觸一下電子電路(示波器跟電路圖)、信號處理(DSP)
如果想往微控制器走,建議去找微控制器、自動控制、機電整合之類的實作課
而且是要用STM32或其他Cortex-M為基礎會比較好
之後會建議找那種很小的外包工作,或是找需要設計PCB寫MCU的教授實驗室
買書來讀我覺得用途不大,除了最基礎找課去上之外,剩下都用實作堆砌
軔體的工作範圍太大,很難預習,都嘛需要用才開始學
--
問答題:試從 御坂網路及幻想御守 比較 叢集運算與平行運算 之差異性
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.26.84 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1581622042.A.699.html
留言