Re: [請益] 非本科韌體技能樹該怎麼點
小魯本科學碩,在IC Design House寫過幾年FW
分享自己的經驗以及一點淺見
要進這行的順序:
1. C練熟,至少要有大一計概與程設課程等級
具體目標是用C寫出八皇后、河內塔...等經典問題
這個階段主要是讓你熟悉C語言
包括基本語法、編譯與執行的方式、如何Debug
還有最重要的: 撐過去並且願意繼續寫C
如果你遇到了一堆Segmentation Fault,或是各種Compile不過
上Stack Overflow也不見得可以在五分鐘之內就找到bug的解法
你依然願意繼續找下去依然不放棄這行
那你再往下看其他步驟,否則壓力只會更大
2. 修大學部的作業系統概論
目標就是跟著修完一學期的課就對了
無論是上開放式課程或是直接去學校旁聽都好
一定要跟著交作業/Project
如果跟著寫作業的話應該會更加熟悉C
以及遇到更多坑
我預期作業應該會讓你熟悉以下幾點操作
a. 裝VM
b. Linux File System
c. Linux 內的基本Command,例如ls、cat、grep...
d. 用gcc 寫/編譯 C code
所以要記得先完成第一點熟悉C到一定程度
否則這時候寫作業會有更多問題
更加複雜更不容易找到Solution
3. 修大學部的計算機架構/計算機結構 概論
課名上可能EE/CS 會有不同,但授課範圍都大同小異
目標一樣是修完大學Level一學期的課
一樣請跟著寫作業/Project
這堂課主要是對應到原Po提到的"硬體知識"
就是熟悉CPU的Cache、Write through/Write back、TLB...等等內容
我當年在修的時候有一部分會和OS的內容重疊
所以其實可以兩堂一起修,看你時間分配
另外這堂課作業也許會需要你寫Verilog
如果有遇到的話就跟著學,以後可以自己玩FPGA
4. 準備面試
網路上應該有相關的介紹
你在修完上述兩門課之後面試會問到的東西應該都看得懂了
或至少有基礎知識,要再繼續上Google查也會更有方向
我認為一般人要能面試進這行至少要完成上面4個步驟
當然如果你有任何特權 (身份/血統/...) 就可以無視
如果有錢有閒想再更進階的話可以再進修以下幾點
1. 嵌入式系統概論
我建議可以修個大學部的課
應該可以讓你compile kernel,熟悉一下kernel module、Makefile等等
當然你要自己買個板子來玩也是ok
反正就是熟悉以後的開發環境
2. Linux
就跟著鳥哥的課
有空就加減看一下練習練習
熟悉Linux環境跟Bash Script,以後上班會很好用
祝福原Po順利找到理想工作
我個人是不想繼續寫C 就是了XD
--
開機程式好像都是C 不知道CPP能不能寫開機
其實想選韌體或嵌入式也是發現自己喜歡寫程式,但是非
本科好像也就這個方向可以轉過取,不然感覺一直讀記憶
體位置也是蠻單調枯燥的
好奇寫FW好玩嗎 從來沒機會玩過個覺得可惜
好人
非本科怎麼不寫SW,就不太需要知道HW的東西
寫軟體才比較需要資結跟演算法
想要寫程式不一定要寫C啊,有Python了何不繼續下去
幹嘛限制在bash,高手都用tcsh和csh殼層做事情的
只要能compile成組語/機械語言,沒有啥不能寫的
現代語言都是A編譯B再編譯成C...問題是有沒有轉譯器
其實你有興趣什麼都學一點也不會有什麼問題
絕大部分的人都不是專點一兩項技能的
我以前給人的建議都是
A. 想走嵌入式,那弄塊可以跑linux的版子
上面放自己編譯的web opensource service上去
弄個i2c sensor接起來讀數值
把數值丟在網頁上顯示
bsp kernel/uboot/toolchain都可以用原廠給的
但是放進去的rootfs盡量想辦法自己用busybox編進去
要用C++寫OS之前你先學一下rust
這樣已經很有嵌入式工程師自幹風了 XD
B.想要練寫C,那就試著用C重頭寫一個簡單的http server
不難但是都需要讀一點東西,也有足夠菜鳥磨練的空間
想學linux 感覺會更軟一點 不會像現在一堆時間都花在找硬
體問題上面QQ
好的 感恩各位前輩的指導,目前看了下來感覺我應該也會
想盡量避開受到硬體限制的問題,可能朝向嵌入式來做努力
吧。不過要是沒辦法大概也是走向韌體了,最大的目標還是
離開機構設備的框架
我是會把演算法跟資結這種當成寫程式基本功。不要把自
己的路設想的太死只有一個方向比較好
依照我自己的經驗是做嵌入式系統什麼都要會一點,當然
核心能力還是那些。但隨著soc能力越來越高,不代表不會
在上面放高階語言的應用,越來越多上層程式需要開發在
這些東西的時候,學過的東西越多看東西的角度越廣是越
好。
推薦 Linux From Scratch
寫SW啊會用glibc就很底層了
我覺得再過幾年可能MCU上要跑Nodejs和SQLite了
好文推
感謝上面幾位前輩的回覆,有得到一點方向了,打算修個作
業系統的課先開始著手
提到的不要受限只有一個方向也打破我一些鑽牛角尖的念頭
,會再放開去了解更多東西的,非常感謝!!
17
首Po背景:北科非電資大四,畢業後也是在北科讀碩非電資(不打算再重考),碩班未來是跟自 走車相關的,目標大概是遠離機構設備做韌體/嵌入式系統(不太確定這兩個的詳細差別 ),也不太清楚這個校名科系有沒有辦法 目前有修過資工系的資料結構了,不過是用python,現在在考量是該怎麼選擇 1. 接著繼續修演算法的課為主,碩班的課有餘力再修4
因為科系不合,那我建議投系統廠。 (而且不會是一線。) C語言花時間練熟。太新的C++不用練。 很多晶片停在C++03,就萬年不升級了。 那C++03到C++20中間變化多大。9
不知道你說的韌體是指什麼? 嵌入系有很多種: * embedded linux * 使用 rtos, 例如: freertos/vxworks * bare metal 程式 * 手機9
這個玩具熟悉之後, 差不多該會的都用過了: Toolchain/Makefile/GDB/OpenOCD/DFU(Device Firmware Upgrade,USB)/RTOS 不買硬體也有 YT 影片可以看。也可以用 QEMU 來試用。 1.
43
[心得] 面試心得回饋part1時間: Thu Mar 26 18:10:03 2020 代po因為公司太多,所以標題用簡稱 ---------------------我是分隔線------------------------------------- 由於之前有詢問offer,有好心前輩站內我,回饋PTT鄉民版。 背景 : 大學好山好水騎山豬大學EE / 鳳梨山上EECS 碩畢47
Re: [新聞] 大學校長建議碩士不用寫論文 教部研議專各位還在PTT的大多是資深工程師, 或者初中階主管 有這樣子的反應,其實很正常 小弟以留美碩身分提供給各位參考 至於總是說台美不一樣的朋友23
[請益] 什麼是經驗、熟悉?各位前輩大家好 最近快要畢業了 私立科大,所以學歷也沒辦法拿出來看,學校的課也很水,很多東西都自學的 而且是興趣導向,總感覺很業餘,沒受過什麼訓練 看著人力銀行上的職缺,卻感覺自己能力不足20
[請益] 新鮮人領域討教(軟韌/影像/DL)最近開始找軟體工程師的工作, 但對於領域的部分非常猶豫,希望版上前輩們能給些提點m(_ _)m 無法決定領域真的蠻廢的,可以的話希望鞭小力一點QQ 本身是四大學碩,不過大學非電資(有修CS的課),碩班是CS, 研究領域算是影像處理+深度學習,17
[心得] Cornell ECE MEng 畢業心得[Program] Cornell ECE Meng [Background] NTHU ESS學士畢業 2021 Spring 入學 Cornell ECE Meng16
Re: [選校] UIUC / NEU / Upitt 資訊相關學校停課沒事做的肥宅來回個文 XD 我是 UIUC MSIM 即將畢業的學生。 學校的事情後面分享,我覺得選校系的時候,要先問自己: 「我要的是什麼?」 「我的優先順序是什麼?」12
[心得] 西北(Northwestern)NU MS CS修課心得分享純經驗分享,不喜勿入 背景介紹 海洋大學資工畢業 三次書卷獎 西北MS CS剛入學有一個程式能力入學測驗 如果沒有通過第一學期好像只能選一門課,然後要上一門很重的程式設計課- 先說1跟2 大部份留學生還是會選2才對 我自己選的就是2 修課+兩學期project課 (只討論傳統EE/CS MS學位 這兩個也是留學生大宗 其他比較專業的tracks比如robotics/ML/Software Engineering等我不清楚) 但是 但是 不要看不起修課喔 = = 美國修課是非常demanding的 跟台灣研究所的修課是不一樣的
1
[請益] 職能發展方向請教小弟EE master畢業,JAVA會寫,第一份工作從C++上位機(PC程式)開始開發,對C++/OO P還算熟悉 ;(但C++實在太深了,也只學到C++03) 後來在工廠玩了一點adaptive control和多變量分析,接著又回來碰mcu,因爲有電子學 背景,還算能上手單晶片開發和週邊電路的除錯,對韌體算是有興趣,也會往更深入的編