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的教授實驗室
買書來讀我覺得用途不大,除了最基礎找課去上之外,剩下都用實作堆砌
軔體的工作範圍太大,很難預習,都嘛需要用才開始學
--
問答題:試從 御坂網路及幻想御守 比較 叢集運算與平行運算 之差異性
--
正解 屎缺真的別來的 能救一個是ㄧ個
韌體工程師,為workaround而生
2F 中肯
2F ID正解
推 電機系我不知道現在課程有沒有改成ARM,但是我那個年
代的電機一票都教8051,出社會做韌體真的就感覺像原始人
,還好當時有去修資工的課程。
我生涯有80%遇到硬體擺爛,是我運氣好還是運氣差?
老闆常說硬體改版要花錢,等下一顆再改。FW先擋一下
XDDDDDDDDD
IC廠用8051的還是不少 ARM還是相對貴 只是你不知道
1. 你確定那些是通用而非特規IC? 2. 你確定不是因為重新設計驗證很花錢又有風險而是因為IC價格? 3. 你確定不是因為老屁股只會8051? 不是說沒有在用,而是這東西只會持續萎縮
※ 編輯: SmallBeeWayn (36.226.26.84 臺灣), 02/14/2020 22:57:51韌體就是必須大量實作 如果有人帶最好 不然初學時連哪些
資料要看MPU的reference manual,開發板的user manual或
其他文件都不知道 各種peripheral的register的功能很多
光看文件的描述也很難清楚
然後STM32的library也改了好幾版 新的HAL,LL跟舊的偏底
層跟最底層的Bare metal的都有機會碰到要學..
compiler跟linker的基礎也要會 寫到需要bootloader的應
用時還是要會改linker script
8051在逐漸凋零啦 真要是面試進去了再學也不遲
屎缺錢少 別人還鄙視你會的工具少 沒作品
程式界沒錢的黑手就是非豬屎屋的韌體
不進豬屎屋或特殊賺錢領域的就別做了
stm32 hal,ll庫,用純c的思維去看會吃屎= =
SPL庫能別用就別用,HAL有問題就改用LL吧
blog.csdn.net/ZCShouCSDN/article/details/54613202
硬體會的薪水很貴,老闆很多只能請猴子,算增益都有問題
韌體尻一尻還勉強尻的出來,硬體不會的就真的不會
要堵硬體嘴巴還不如用unit test或直接拿波形來講
通訊還要學wireshark和一堆協定,太無聊才去狂看電路
懂推拉、放大器、開關、濾波、CMOS就差不多了拉
其他的用到再去看
不推不行
推
6
其實從Arduino開始玩也有很多樂趣,初始成本也低 (20€/35€)。 一張Uno(AVR)或是Due(ARM M3),加上電腦和一條USB線就可以開工了。 開發工具容易安裝,不需要什麼設定,ATMEL (處理器廠商)的文件也算齊全。 Arduino開發軟體內建的範例程式 (如那個九九乘法表) 簡單易了解。 在初期可以多花點時間在程式技巧上,不用煩心那些開機程序。2
如果還在學校,就買以下東西開始玩,看看受不受得了 1. STM32F103最小系統 2. J-Link EDU(到mouser買最便宜) ps. 或是買STM的Nucleo板,上面有MCU和開發工具(STLINK可刷J-Link) 正版開發工具,報價不到1000元更便宜16
身為一個在韌體&embedded system 工作了快20年的老屁孩來跟你說(我很廢,bug製造機, 只剩年資可以說嘴). 想走韌體,基本的電子電機知識是一定要具備的. 最基礎的電子學,電路學,數位邏輯,基本電學,非常重要,要會.基本的晶片通訊方式, 例如gpio, i2c, SPI,要會,電磁學,線路設計,pcb layout,會的話更好但不是必須.20
首Po各位版友好 目前就讀國立科大碩(電機) 大學是資工系的 本人一直想走韌體工程師這方面 但是實驗室又是做網路相關的
39
[討論] chatGPT會取代軟體工程師嗎?chatGPT會取代軟體工程師嗎? 我覺得這是個很有趣的問題,但其實沒有很精確。 如果要我講的話,我會說: 會,但會取代很基本的碼農,但是資深的軟體工程師絕對無法 取代。 這怎麼說呢? chatGPT是可以幫你寫程式碼沒錯,但前提是你要問對問題啊。 我目前是個有點年資的軟韌體工程師,我往往要解決的是一個"系統性"的問題,而34
[請益] 軟體轉韌體該如何入門小妹國立地名科大資管系應屆畢業, (雖然是應屆,但之前因為一些原因休學過。) 慣用語言C、C#、Java,近期較愛用Python, 網頁前後端、資料庫、Linux指令、App設計跟遊戲設計都有實作經驗。 硬體方面有用Arduino跟D1-mini寫過各種感測器與自走車小專案。自學硬體焊接,看得懂13
Re: [問卦] 寫程式是不是超過40歲就不行了?工程師大概是這20~30年 作業複雜度一直增多的職業 簡直跟莫爾定律一樣 30年前 搞不好只要會 8051 就可以當工程師了 寫程式只要寫個 兩三萬行就是一個應用軟體了 程式都是real mode, 要控制哪個硬體直接寫io port就好了10
[請益] 硬體工程師想自學韌體各位好,目前我在科技業擔任硬體工程師 先介紹一下我自己,從碩士開始主要都是走純硬體為主,硬要講有碰過韌體就是arduino, 做一些簡單的周邊硬體功能確定。 寫程式語言C已經是大學的事情了。 最近想自己進修學學韌體,爲自己提升一下能力,但是有點不太知道如何下手。9
Re: [請益] 非本科韌體技能樹該怎麼點不知道你說的韌體是指什麼? 嵌入系有很多種: * embedded linux * 使用 rtos, 例如: freertos/vxworks * bare metal 程式 * 手機4
Re: [請益] 程式怎麼選擇與入門?推文中有人提到c易學難精,真的是這樣沒錯~~~~~ 不過身為有在寫韌體的一位工程師,我可以分享我自己的經驗 C語言: 這基本上是絕對必備,目前所有跟硬體相關的編譯器都是支持c語言的 python:這個建議要學! 這在電機系裡面我個人覺得還蠻重要的,譬如說人工智慧在台大電機 是大一的課程,目前支援deep learning API最完整的語言還是python,而且以後3
Re: [問卦] 寫程式很難嗎?阿肥外商碼農阿肥啦! 我自己之前是寫過stm32系列的板子其實沒很難就是很雜而已,有時候不一定是沒電,而 是訊號很微弱,這也跟硬體工程師的焊接有關,建議直接用示波器量才會知道是誰的鍋, 不過通常阿肥的經驗是即使是硬體工程師的鍋通常老闆會直接叫你用軟體改這時候就要在 ADC類比轉數位那段寫一個增幅濾波器,其實就是很阿雜的工,其他uart 網路範例很多就- 不知道你說的韌體是指什麼? 嵌入系有很多種: * embedded linux * 使用 rtos, 例如: freertos/vxworks * bare metal 程式 * 手機