看板 C_and_CPP 關於我們 聯絡資訊
我自己的學習方向是下面這種的 - non-os, 使用的平台是 stm32f4 購買的學習書籍 https://descent-incoming.blogspot.com/2016/04/books-stm32f4.html 這是我的學習心得 https://descent-incoming.blogspot.com/2015/09/bare-metal-for-stm32f4-discovery-board.html shorten: https://bit.ly/34d67Z9 這是我自己的學習, 我不是做這方面的工作。 你說的 SSD Firmware Engineer, 如果是在 linux embedded, 可能要學習如何在 linux 下寫 ssd driver。 如果是做 nas 甚至有可能要理解 linux 檔案系統那層, 從而最佳化 nas 的檔案存取功能。 Jserv 的課程可以參考看看, 看哪種 embedded 的工作是你想做的。 我自己認為從 linux embedded 應用程式是最容易進去的 (我是這樣開始的), 網通廠會有類似的工作。就是寫 linux 應用程式, 使用 cross compiler, 使用 cross compiler 大概會是第一個門檻。 另外也會需要使用 corss compiler 移植一些相關程式。 現在有很多開發板, 自己練習已經沒那麼困難了。 也可以試試看樹莓派。 linux 應用程式可以參考: APUE, The Linux Programming Interface - A Linux and UNIX System Programming 應該這 2 本就夠了。 一般還會需要 shell script 技能, 鳥哥私房菜這本可以提供此技能。 ※ 引述《james732 (james732)》之銘言: : 我覺得embedded看規模與需求,大概會有幾個層次 : 1.沒有任何os,可能只有一個 while (1) 循序處理與一些中斷處理 : 學生時代會寫的8051點亮LED之類的程式就是這種 : 我現在的工作也是這樣的 : 主要就是在RAM與ROM都極少的情況下 : 與外部的Hardware做一些不會非常複雜非常即時的交互 : 在這個架構下,最主要的挑戰應該是怎麼在有限資源達到需求 : 並且在沒有os幫忙調度的情況下,各功能要怎麼協調 : 另外就是要怎麼透過register與晶片的硬體做互動 : 但這個部份每個系列的晶片都不同 : 而且廠商通常會提供sample code使用 : 但不幸sample code不符合需求或有bug時 : 就會需要研究相關的datasheet : 因為沒有OS或任何的軟體框架,基本上Code也很好寫,愛怎麼寫就怎麼寫 : 直接在邏輯裡存取硬體暫存器也沒人會阻止你 : 但如果有需要跨晶片的需求,就要考慮適當的切分軟硬體邏輯 -- 若要人前顯貴, 就要人後受罪。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.98.141.254 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1600943062.A.E85.html
Lipraxde: <(_ _)> 以前有受惠於大大的文章過 09/24 18:36
很高興可以幫上忙
nickchen1202: 推大大 09/24 20:00
sarafciel: 推descent 09/25 12:24
※ 編輯: descent (175.98.141.254 臺灣), 09/25/2020 13:23:07
lc85301: 推大大 10/01 00:10
laughingman: 推大大 10/08 22:58