先說結論:任何一個領域,就像世間的五行,陰陽結合,虛實結合,利弊結合。對于哪個更好,不能一概而論,最重要的是要搞清楚,你更適合哪個?
1、共鳴
當我看到這個問題,也確實是我早些年時所面臨的抉擇,不由得過來回答一下,一來表達自己的看法,二來想以此在互聯網上發光發熱,影響和幫助更多的人!
2、洞悉
要知道電機控制和Linux驅動開發,哪個方向更好,首先要知道這兩個方向主要是做什么的!
我相信,大多對這個問題有疑問的,都是站在了岔路口,兩個方向都不清楚具體的情況。
2.1 電機控制主要做什么?
電機控制,就是控制電機了唄!那控制電機都需要用到什么技術呢?
電機種類與特性:電機有五花八門,什么直流電機、交流電機;又分為有刷、無刷、單相、三相等等各種類電機的基礎知識得熟悉吧
控制算法:想要控制電機,最重要的是控制算法吧,PID你得會吧,三環控制理論你得搞明白吧,一大堆的理論推導你得熟悉吧,數學基礎你得有吧!
控制策略:各種各樣的控制策略得了解吧,什么矢量變換控制、直接轉矩控制、直接功率控制、無傳感器控制、自適應控制等等,這里面又牽涉到需要物理知識,信號處理知識等等。
驅動代碼實現:這一部分反倒在整個電機控制中不那么重要了,基本就是根據算法實現C控制代碼,常用DSP開發。
從事電機控制方向,一般來說對理論知識、控制算法等方面要求較高,學習不易,但是相對來說,門檻高的競爭反倒會小一些。
上面大致列舉一下,如有紕漏,請包含.
2.2 Linux驅動開發主要做什么?
Linux驅動開發主要也分為兩個方面:Linux總線驅動開發和Linux外設驅動開發。
2.2.1 Linux總線驅動
這一部分主要是芯片原廠需要做的,芯片Tapeout后,需要支持Linux系統就需要去實現Kernel總線驅動。這部分主要包括
各類子系統的開發:IIC子系統、SPI子系統、MMC子系統、CLK子系統、GPIO子系統、Pinctrl子系統、中斷子系統等等。
BringUp工作:這部分就是實現芯片從上電->uboot->kernel->rootfs等整套啟動方案,供客戶使用。
文檔撰寫:芯片要提供給客戶使用,需要些SPEC以及開發指南等文章。
從事Linux總線驅動開發,由于技術的迭代,底層驅動的實現一般不會有較大變化,很大程度上是維護工作,支持工作。
2.2.2 Linux外設驅動
這一部分,就跟我們經常使用STM32做的開發工作差不多了,更偏向于開發Sensor開發,外設開發。
各類傳感器開發:比如MPU6050、激光傳感器、攝像頭傳感器等等
各類外設的開發:比如PWM控制,WiFi與BT開發、顯示屏開發、音頻開發等等
從事Linux外設驅動開發,主要是面向產品的,公司每迭代一次產品,都需要去維護外設功能的穩定性,可能會比較卷。
3、總結
以上僅僅大概列舉了一下,肯定會有所紕漏。
就拿我來說
我是做過電機控制的,當時在世界500強企業,整體加班強度也不高,整體也不錯。
但是我覺得對于電機控制,大學專業畢竟不是學的這方面,并且牽涉到物理、信號處理、電機控制理論等知識,自己消化起來較為緩慢,于是才果斷轉到了Linux驅動開發方向,目前也挺不錯。
我只想說明一點:每個方向的好與不好,不是非黑即白的,重要的是看你自己適合什么!
編輯:黃飛
-
電機控制
+關注
關注
3534文章
1879瀏覽量
268817 -
Linux
+關注
關注
87文章
11304瀏覽量
209502 -
驅動開發
+關注
關注
0文章
130瀏覽量
12078 -
總線驅動
+關注
關注
0文章
8瀏覽量
3701
原文標題:電機控制和Linux驅動開發哪個方向更好呢?
文章出處:【微信號:良許Linux,微信公眾號:良許Linux】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論