PTT評價

Re: [請益] 韌體初學者

看板Soft_Job標題Re: [請益] 韌體初學者作者
SmallBeeWayn
(喵喵叫的蜜蜂貓)
時間推噓10 推:10 噓:0 →:24

※ 引述《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 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.26.84 (臺灣)
PTT 網址

kain77702/14 06:59正解 屎缺真的別來的 能救一個是ㄧ個

LinuxKernel02/14 07:29韌體工程師,為workaround而生

cuteSquirrel02/14 07:302F 中肯

kain77702/14 08:172F ID正解

sxy6723002/14 08:33推 電機系我不知道現在課程有沒有改成ARM,但是我那個年

sxy6723002/14 08:33代的電機一票都教8051,出社會做韌體真的就感覺像原始人

sxy6723002/14 08:33,還好當時有去修資工的課程。

leolarrel02/14 10:28我生涯有80%遇到硬體擺爛,是我運氣好還是運氣差?

cuteSquirrel02/14 12:05老闆常說硬體改版要花錢,等下一顆再改。FW先擋一下

cuteSquirrel02/14 12:05XDDDDDDDDD

clanguage02/14 22:38IC廠用8051的還是不少 ARM還是相對貴 只是你不知道

1. 你確定那些是通用而非特規IC? 2. 你確定不是因為重新設計驗證很花錢又有風險而是因為IC價格? 3. 你確定不是因為老屁股只會8051? 不是說沒有在用,而是這東西只會持續萎縮

※ 編輯: SmallBeeWayn (36.226.26.84 臺灣), 02/14/2020 22:57:51

arshuan02/14 23:20韌體就是必須大量實作 如果有人帶最好 不然初學時連哪些

arshuan02/14 23:20資料要看MPU的reference manual,開發板的user manual或

arshuan02/14 23:20其他文件都不知道 各種peripheral的register的功能很多

arshuan02/14 23:20光看文件的描述也很難清楚

arshuan02/14 23:25然後STM32的library也改了好幾版 新的HAL,LL跟舊的偏底

arshuan02/14 23:25層跟最底層的Bare metal的都有機會碰到要學..

arshuan02/14 23:32compiler跟linker的基礎也要會 寫到需要bootloader的應

arshuan02/14 23:32用時還是要會改linker script

dustlike02/15 07:478051在逐漸凋零啦 真要是面試進去了再學也不遲

JasperChang02/15 17:45屎缺錢少 別人還鄙視你會的工具少 沒作品

JasperChang02/15 17:46程式界沒錢的黑手就是非豬屎屋的韌體

JasperChang02/15 17:47不進豬屎屋或特殊賺錢領域的就別做了

fgkor12302/16 15:09stm32 hal,ll庫,用純c的思維去看會吃屎= =

fgkor12302/16 15:24SPL庫能別用就別用,HAL有問題就改用LL吧

fgkor12302/16 15:26blog.csdn.net/ZCShouCSDN/article/details/54613202

fgkor12302/16 15:39硬體會的薪水很貴,老闆很多只能請猴子,算增益都有問題

fgkor12302/16 15:47韌體尻一尻還勉強尻的出來,硬體不會的就真的不會

fgkor12302/16 15:52要堵硬體嘴巴還不如用unit test或直接拿波形來講

fgkor12302/16 15:59通訊還要學wireshark和一堆協定,太無聊才去狂看電路

fgkor12302/16 16:08懂推拉、放大器、開關、濾波、CMOS就差不多了拉

fgkor12302/16 16:10其他的用到再去看

tx87121702/29 19:02不推不行

onegoman03/26 00:29