在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

嵌入式工程師,嵌入式工作真的越老越香嗎

工程師人生 ? 來源:傳感器技術 ? 作者:嵌入式ARM ? 2020-08-27 14:10 ? 次閱讀

01、嵌入式工作會越老越吃香嗎?

事實上電子技術更新換代非常快,5年前如果你是一名電子設計高手,如果5年中你再沒有接觸過電子設計,那5年后你就成為一個菜鳥了。做嵌入式一樣,并不是越老越吃香,而是看你是否能不斷學習新的知識,接受新的技術和設計理念。

雖然如此,我們也可以從老嵌入式開發者學習一些經驗。廢話不多說,進入正題吧。

我是97年畢業的,做了兩年的電子設計與開發,做過電路原理圖和PCB板設計。2000年進入軟件行業,六年多的時間里,差不多做過整個操作系統的組件。一開始用的是uC/OS RTOS,第一次做的這個產品是一個DVR,CPU用的是AMD的SC520,是一塊x86的處理器。因為公司小,所以整個DVR的嵌入式軟件就我一個人做,對于我來說是一個 難得的機會和挑戰。我所做的包括:

1) 熟悉CPU。x86中存在實模式和保護模式,CPU一上電后進入的是實模式,要進入保護模式則需要做一定的設置,最后做一個長跳轉,就能進入保護模式。對 于這一處理器的熟悉和了解,使得我對于處理器有一個很好的認識。此外,明白什么是芯片組、PCI的原理和配置方法、SDRAM如何配置、IDE的 PIO模式是如何工作的,等等。

2) 熟悉uC/OS 。RTOS并對其進行擴展。理解任務是如何實現的、任務是如何被調度的、Mutex和Semaphore是如何實現的、對處理器進行開關中斷的目的是什么且 要注意什么,等等。對于RTOS的擴展則包括實現了一個采用malloc/free進行內存分配的堆管理模塊,這一管理模塊是參照XINU操作系統來實現 的;對任務調度部分進行修改以方便中斷服務程序的管理。

3) 將MINUX操作系統的文件系統移植到我們的DVR上。MINUX中采用的就是UNIX中的i-node的方式來管理文件的,這種方式在現在的Linux 中也能看到。由于MINUX的文件系統是針對小型存儲設備的,所以對其代碼要進行修改,以適應當時所采用的上G的硬盤。

4) 將XINU中的TCP協議棧移植到DVR上。我記得很清楚的是,當時對于TCP的滑動窗口的調試以及校驗和的調試花了不少時間。

可以說這一時期的工作,使得我對于操作系統的原理和實現非常的熟悉。還有,我在這一公司使用過了邏輯分析儀去分析總線信號以解決問題,這些都是非常好的經歷,都有助于提升對計算機系統的理解。

2003年我加入了UTStarcom,因為前一個項目的經歷,當時進這一公司時覺得自己很牛。但很快我發現,嵌入式系統中還有很多是我要學的,我還嫩呢。比如:

1) 第一個挑戰是處理器,當時用的是PowerPC8250。對于處理器,我花了不少時間去讀相關的資料。總的加起來,其手冊超過兩千頁,而且還是英文的。為了使得自己更加的熟悉這塊處理器,我前前后后對這些資料完整的讀了三四遍。

2) 當時采用的是RTEMS操作系統,這一系統就是一個類UNIX的操作系統,早期是美國軍方使用的,后來變成了開源項目。在這一操作系統上的工作經歷讓我一 下子意識到了自己的一個問題,那就是:以前的工作只是技術性的不具備系統性。比如,如何將一個操作系統作為一個系統將其設計得更好、驅動程序如何方便增加 以及擴展,等等。這一切說到底是自己的設計能力還是不足。我花了很長的時間來研究RTEMS操作系統的實現,這對于提升自己的設計能力有很大的幫助。

3) 對于編譯器和C語言的理解不深。比如什么是ABI(Application Binary Interface)?后來知道Stack Frame和程序的調用棧的管理都與ABI有關系。

在UTStarcom工作的初期,所有與操作系統相關的問題都是由我來解決的。此外,在我的經理的支持下,我還做過了一個更新版本RTEMS操作系統的移 植,當時,UTStarcom的RTEMS操作系統的移植是在新澤西完成的,我不知我是不是UTStarcom在中國第一個做這個操作系統移植的。當時, 我在做移植時還碰到了一個與編譯器相關的問題,還找過WindRiver做支持。因為我們用的是WindRiver的調試器,當時懷疑是調試器有問題,最 后發現是RTEMS的Tool Chain有Bug。UTStarcom的中期,我們將我們的應用程序移植到了VxWorks上,所以后來我對于VxWorks也很熟悉。后來還做過了一 個ADSL接入的項目,采用的還是VxWorks以及PNE(Platform for Network Equipment),處理器用的是Intel的XScale IXP425。2006年5月我離開了UTStarcom。

應當說,前面兩個公司工作經歷是我很寶貴的財富。一方面完成了從小公司到大公司的轉變,說實在的在進UTStarcom時,還是很有壓力的。什么都是新的,新的行業、 新的產品,當然對于我來說是直接工作內容的變化,新的處理器、新的操作系統、等。前兩個公司有一個工作情景我一直很懷念,那就是:我是一手拿示波器,一手 拿電路原理圖進行軟件調試的。

好了說了這么多,現在我想說說我對于嵌入式系統開發的感受和看法。在此,我想先說說什么是嵌入式開發,這一 點我看過不少對其的定義。先拋開別人的定義,我想說說我的觀點。 有不少工程師的工作是寫運行在RTOS之上的應用程序的,但他(她)其實根本不用接觸硬件 相關的知識、不用接觸什么是中斷、也不用考慮任務的優先級,對于這些工作我不認為是嵌入式開發,其實,說到底只是采用了新的一套API(即RTOS的相關 函數)進行編程。嵌入式開發我認為至少要與硬件和RTOS打交道,對一操作系統的原理和實現很清楚。從我的角度來看,如果一個寫驅動的人只知道驅動相關的 內容,而對于操作系統的機理并不是很清楚,那也不能算是嵌入式系統開發,就是驅動開發。下面是我對于嵌入式系統開發的一些看法。

1) 嵌入式開發對于提升我們的系統知識有很大的幫助,尤其是操作系統的知識。嵌入式系統開發對于我們的知識面要求非常的廣,且要有一定的深度。在做嵌入式開發之前,我是做Visual C++開發的,當我做過嵌入式開發后,我就能明白在Windows桌面上雙擊鼠標時,后臺有什么事情發生了。比如,我能想到后面有一個Loader將文件加載到內存,并最終運行程序。雖然,沒有做過嵌入式開發也能想到這一點,但能看到的深度是不同的。

2) 當我們對于操作系統的原理和實現非常熟悉后,嵌入式系統開發的工作相對簡單。因為,操作系統的概念已經很成熟了,而現在的嵌入式系統就是將現代操作系統的 技術運用到嵌入式系統。這里說的簡單,主要是強調其需求相對的穩定、功能相對的單一。軟件設計真正復雜是做應用,應用開發是我們真正能發揮設計能力的地方。

3) 嵌入式系統開發經驗對于提升我們解決問題的能力有及大的幫助。因為我們系統性的知道了軟件是如何被組織在CPU上運行的,這對于我們分析和解決問題很有意義,對于自己解決復雜問題的信心也很有幫助。

4) 具備一定的硬件知識對于嵌入式開發大有裨益。比如,我們要明白什么是片選,什么是3態,什么是I/O,如何看時序圖等等。最好還得會使用相關儀器,比如示波器、邏輯分析儀。

02、30+歲入行嵌入式軟件開發晚不晚啊?

“對一般人來說太晚了,就取決于LZ是不是一般人了。如果真想學,我建議從最新的技術上入手,比如藍牙5.0、NB-IOT。” “你的ID已經告訴你答案了,不是嗎?” “是有點晚,若做個熟練的工程師,努力了沒有問題,若涉及深點的東西,有點累。” “33,不晚,薪酬上,要求不高,性價比高,一樣有賣點。大公司,去不了,就去小公司混唄。” “這年齡,不建議轉入嵌入式了,除非特別愛好。如果為了生活,不如考慮其他掙錢的門道” “應該會比較困難,現在招人的很多都有年齡要求了,我身邊就有一個和你差不多的同事,努力是很努力,但是他沒接觸過這行,轉行過來的,現在他跟我說做項目感覺力不從心,他也是出于自己的興趣想做這行的,反正就是很辛苦。” “樓主,我離開行業13年,還是把技術撿起來了。看你恒心和方法啦!” “晚,別亂轉,自己本行都沒玩精通,隨便換行業,年級這么大了,建議本行繼續往精通了搞” “33歲了什么賺錢就去搞什么,搞什么不好非得搞這個” “覺得軟件這塊,真是拼不過年輕人啊,比如公司平時的加班,比如軌道行業的出差加班調試到半夜等等~~~~坑慎入~~” “如果樓主碩士畢業不建議做這種簡單的嵌入式設計,可以上一點有算法的軟件設計。當然也是嵌入式,只有這樣才能發揮你碩士的數學功底揚長避短。做單片機嵌入式開發里面我“感覺”80%的就是做點簡單的蝶代碼,沒有意義,稍微好一點的可能也就是在單片機上面跑一個ROS系統。但是我知道玩單片機想要上一個臺階的話最好是能玩一點算法在里面的。至少能熟練地調用很多數學函數,簡單來說比如軟件的二階濾波,FFT、帶通等一些基本的函數。現在嵌入式的圖像識別是一個很不錯的發展趨勢,這方面對數學功底也相對起點比較高,樓主如果單純只是不想自己報廢了想玩點東西可以考慮這方面,在ARM里面玩玩感覺會其樂無窮。當然我也是紙上談兵,我自己是什么都不懂。” “個人認為,搞嵌入式太費錢,各種模塊板子要買,不然沒現象,程序沒問題,實際卻不能用,要各種優化。還是去干管理吧。” “個人覺得,33歲學習linux確實比較晚

(1)如果是特別特別感興趣,可以學習,

(2)如果回二線覺得找工作難,可以學習,提高籌碼和機會!” 面對芯片及其相關的軟件開發技術的快速發展變化,經常會去思考,這些發展變化的內在推動力和外在合理性在哪里,這些發展變化對我們有哪些啟發和引導,身處旋渦中心應該何去何從,才能保證自己不被歷史洪流沖走,才能不斷提升自己的價值。

03、如何不被歷史洪流沖走。..。

單片機

單片機是中文名,對應的英文名稱是“Single Chip Microomputer”,很多人可能奇怪平時不是都說MCU(Micro Control Unit)嗎?其實MCU準確翻譯過來應該叫微控制器,現在很多中文書籍都用這個詞,不用單片機了。因為單片機這個詞是很多年前的概念了,在那個年代半導體工藝還在起步階段,集成能力很差,往往是CPU一個芯片,SRAM一個芯片,Flash一個芯片,需要中斷的話又得有個專門處理中斷的芯片,所以一個完整可用的計算機系統是很多個芯片(Chip)做在一個PCB板上構成的。

單片機呢?就是在一個芯片(Chip)上集成了CPU、SRAM、Flash及其他需要模塊,在一個Chip上實現一個微型計算機系統,所以就叫Single Chip Microcomputer,也就是單片機了。其實從這個角度來講,單片機這個詞現在已經沒意義了,因為現在的半導體工藝早就很厲害了,現在你買到的所有都是“單片機”,根本不存在分離式的所謂“多片機”。而且現代的單片機不但集成了CPU、SRAM、Flash等微型計算機不可少的部件,而且大多集成了很多內部外設,如Nand控制器、LCD控制器、串口通信定時器、RTC等等,所以現在的單片機其實應該叫SoC(System on Chip)。

英文是很準確的。這里有好幾個詞你可以體會下各自含義:microcomputer、computer、system、microcontroller。不嚴格區分的話這些詞很多時候可以互相替換和通用的,但是嚴格說其實各自有不同代指的。譬如computer,指的就是電腦,你可以理解為就是電腦,譬如筆記本、臺式機這些。當然很多年前的電腦很龐大很笨重,所以computer就是指的這種有機箱外殼,有鍵盤鼠標,很龐大笨重,通用性強的電腦。而microcomputer指的就是單片機這類東西,它也是一個獨立的電腦系統,有CPU和內存和外設這些,能跑計算機程序。但是他相對于computer來說體積很小,而且不是通用的而是專用的,所以叫microcomputer。system呢?更傾向于整個系統,也就是說system=microcomputer+各種外設。簡單理解就是,當串口、LCD控制器等模塊進入了Chip內部時,整個microcomputer就成為system了。所以其實system才是更有意義,更適合現代單片機芯片的一個名字。所以現在我們都把芯片叫SoC,這個名字更有價值。那microcontroller呢?現在很多單片機廠商都把自己的單片機叫microcontroller(微控制器),其實我個人理解,覺得microcontroller的重點在于controller,也就是說他們想強調這個chip中集成的system是一個controller,擅長控制。而不是一個DSP(擅長運算)。

嵌入式

嵌入式的全稱是嵌入式系統,英文是Embeded system,所以可以看出嵌入式是一個system。為什么叫嵌入式呢?這里的嵌入指的是我們把這個system(硬件上表現為一個Chip)嵌入到某個設備中去。譬如冰箱的板卡上的芯片就是一個嵌入到冰箱中的system,負責控制用戶按鍵、冰箱照明燈、制冷系統等。可以看出,嵌入式系統這個名字主要是從芯片在使用時的組織形態來命名的。所以從這個角度講,只要是被嵌入到設備中的芯片都可以被叫做嵌入式系統。 那這個范圍太寬了,說真的你很難找到不屬于嵌入式的system······所以我經常覺得嵌入式這個名詞根本是廢話,根本沒意義。好在這個理解只是廣義上的嵌入式的定義,但是我們平時講嵌入式大多時候是從狹義上理解的。

狹義上講,嵌入式是為了區別于單片機。我們經常把芯片中不帶MMU(memory management unit)從而不支持虛擬地址,只能跑裸機或RTOS(典型如ucos、華為LiteOSRT-Threadfreertos等)的system叫單片機(典型如STM32NXP LPC系列、新的NXP imxRT1052系列等),而把芯片自帶MMU可以支持虛擬地址,能夠跑Linux、Vxworks、WinCE、Android這樣的操作系統的system叫嵌入式。所以linux WinCE等也常被叫做嵌入式操作系統,就是這么回事。你仔細回顧下,其實大部分人在講單片機和嵌入式時都是從狹義角度出發的,并非廣義。

單片機的技術和市場狀況

單片機是出貨量最大的一類計算機。這個很好理解,因為單片機用途太廣泛了,所有家電內置的控制系統幾乎都是單片機的,這個數目就很驚人了。還有各種公共設施,工廠自動化設備等幾乎也都是單片機控制的。單片機的廠商和品類也是非常多,我下面列舉幾類常用的。 · 8位和4位機。這類單片機性能低配置低,但是優勢是價格便宜。所以很多低端家電產品都會用到,小家電是這類單片機最大的市場。為了降低成本,這類單片機很多只能用匯編編程(當然近幾年很多也提供了C編譯器),很多芯片采用bounding封裝(就是芯片內核直接貼在PCB上然后用黑乎乎硬膠黏住,大家玩過LCD1602的看那后面那個圓盤型黑色的就是)。做這類產品的以前都是臺灣一些小芯片廠商。這些年中國大陸也涌現了很多這類芯片廠商,這些單片機行業大多對標某個具體應用領域,對行業需求很熟悉,直接推出適用這個行業的解決方案。外行的人可能根本都沒聽說過這種單片機的型號和相關信息。總的來說,這屬于比較低端的行業,不太建議大家學習和進入。尤其現在中國在搞產業升級,落后的傳統家電產品不斷降價還賣不出去,相反各種高端功能和外觀的“產業升級”型家電產品利潤很高。所以這種適用于傳統老舊電子產品的芯片和技術其實并不值得去投入。

· 51單片機。其實51單片機也是8位機,之所以單獨拿出來說是因為51單片機實在太出名了。實際上當年單片機百家爭鳴的時候(大約1980年代吧)51單片機只是其中一種,還有很多其他很厲害的,可惜都被時間給雨打風吹去了。51單片機之所以出名并活到現在,是因為Intel后來開放了51內核的版權,所以很多公司很多人可以毫無顧忌的使用它而不擔心付費或版權風險。實際上到了現在(2018年),51單片機已經是很老很沒有技術優勢的解決方案了,但是為什么還在大量使用?主要有以下幾個原因:一是大量存量項目和存量開發者,這些人很熟悉51單片機,甚至很多老工程師可能只會51單片機,很多老的項目也不可能再去重新開發所以沿用了51單片機。二是51單片機也夠便宜,很多對性能沒有過多要求的產品干脆就用51也挺好。三是51內核開放,所以很多需要內置單片機核的SoC(譬如很多電容觸摸屏芯片,很多指紋識別芯片等)就會選擇用51核,不要錢還夠用嘛,不選這個選誰。很多同學問我還要不要學51單片機?我認為還是要學。一個原因是51單片機的開發用到的技術技能在開發別的單片機時照樣有用,所以學了51將來再學其他的也會快很多,時間不會白花的。另一個原因是確實有時候實際開發也會遇到用到51單片機的,所以學會了也算是個拿得出手的技能。所以如果你要學習單片機開發,從51單片機入手絕對不會錯。但是要記得不要沉迷于51了,要迅速學會51單片機后,迅速繼續學習更現代更實用的其他單片機(譬如stm32)。很多人學會51后就不動了,這就好像幼兒園畢業就不繼續讀書了一樣,是不對的。

· STM32單片機。終于到了STM32這個當紅辣子雞了,ST于2007年發布了第一款STM32,至今已經11年了。STM32是ARM Cortex-M內核的單片機,實際上同樣使用ARM Cortex-M系列內核的單片機還有很多(譬如NXP的LPC系列,原Freescale的K60系列,臺灣新唐的M051系列,國內如兆易創新GD32系列等),STM32只是其中的代表作而已。ARM這些年風頭很強,在application級別的SoC中大勝Intel,現在手機行業的芯片都被ARM吃掉了,MIPS之類的更是被壓的生不如死。在單片機領域,ARM的Cortex-M系列(M0、M3、M4、M7)也是大獲全勝,很多半導體廠商都放棄了自己原來的架構轉而做ARM內核的單片機了。

怎么說呢,個人覺得ARM內核的單片機很適合當前時代,尤其STM32這種,不管硬件配置還是開發工具都深得市場認可,普及度越來越高。強烈建議大學學單片機就學STM32,會玩STM32很有價值。至于GD32之類國產的類似STM32的單片機,我認為后面會越來越強,甚至會主導市場把洋品牌趕出中國。這些芯片的開發方式也很類同于STM32,所以會了STM32開發很容易切過去,不用擔心。

· 其他單片機。我指的是PIC、ATmega、MSP430STM8之類的,這些不是很熟悉所以不予詳細論述。總的來說,這些單片機性價比都不錯,在各自領域都有一定競爭力,但是還是不如STM32使用領域寬廣。所以除非是公司研發用到,否則不建議主動學習。 · 高性能高價格單片機。這里我特指的是如STM32F7、STM32H7、NXP imxRT1052之類的單片機。這類雖然是單片機,但是性能比一般單片機強勁很多,外設也復雜很多,甚至需要外接SDRAM來提供更大內存,外接SLC Nand或Spiflash來提供存儲。同時從價格角度講這些單片機大多在人民幣30元以上,甚至高達100多元。這些真的是單片機中的戰斗機,價格都能嚇死人了。對于這類單片機,我個人其實很不看好。其實寫這篇長文,就是想解釋我為什么不看好這類單片機。感興趣的同學可以繼續看下文分析。

嵌入式的技術和市場狀況

· 嵌入式領域目前最火的就是ARM+linux和ARM+android。

芯片都是基于ARM的,低端的有ARM9、ARM11,高端的有Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A53、Cortex-A57等。從單核心到雙核心、四核心、八核心都有。廠商也一大堆,國產進口臺產等都有。覆蓋面也廣,消費級、工業級、車規級都有。 · 嵌入式級別的ARM因為有MMU所以可以很好的跑復雜OS,因此雖然芯片本身也可以裸機運行,但是基本沒有人用這類芯片來跑裸機或者RTOS的。都會上操作系統。簡單說,如果產品不需要華麗美觀的人機界面就上linux(譬如路由器、網絡攝像機),如果需要人機界面但是界面簡單注重功能和穩定性,那就上linux+QT(譬如工控HMI、電動車充電樁、停車場顯示),如果產品很注重人機交互的用戶體驗,那就上Android(譬如智能手機智能電視機、游戲機等)。 總的來說,嵌入式系統的復雜性高、開發難度大、學習曲線長。因為軟件上的復雜性,導致出bug的可能性大。一旦出bug查找起來也更加需要技巧和經驗。所以很多公司用嵌入式linux或android做產品問題很多,這一方面和開發者的技術能力有關,另一方面和公司不能花時間和成本去潛心把產品做穩定做成熟有關。

嵌入式和單片機的真正區別

其實分析到這里,大家也知道了嵌入式和單片機的真正區別,那就是有沒有linux或android這類復雜操作系統。 單片機不是裸奔就是RTOS,其實玩過RTOS和linux的同學都知道,RTOS雖然也叫操作系統,但是和linux這種根本不是一個級別。差遠了,更不用說android了,android里隨便拿出來一個模塊代碼量都比一個完整的RTOS都龐大,都要復雜。所以有沒有linux/android這類復雜OS對開發來說真的很不一樣。 譬如從C語言角度來講,我的《嵌入式linux核心課程》第4部分《4.C語言深度解析》這個課程,就是專門針對嵌入式linux開發中C語言功力不足的人推出的。很多做了多年單片機的同學看了后都感慨,真的是不做linux不知道C語言水深。結構體和指針這些元素在單片機編程中完全體現不出來魅力,但是在linux內核中卻得到了完美的發揮和釋放。不去真正研究,實在很難體會出那種美感和震撼。

嵌入式和單片機的交集

嵌入式和單片機有沒有交集呢?這里說的交集意思是:某些產品既可以用嵌入式來解決,也可以用單片機來解決。 以前是沒有的。你想想一般單片機幾塊錢十幾塊錢,而嵌入式系統SoC加上DDR和Flash至少幾十塊,怎么可能有交集。就算單片機能做的事你嵌入式也能做,但是我十幾塊錢能搞定的工作憑什么要花幾十塊上嵌入式呢?所以以前這2者沒交集。根本不是一個檔次范圍內的事兒。 但是近兩年情況發生了變化。首先是很多高端單片機的配置和價格越來越高。譬如2017年10月發布的NXP imxRT1052系列單片機,號稱跨界處理器。為什么叫跨界?跨的是哪兩界? 我們知道單片機嘛,就要單芯片提供整個system,簡單說至少cpu、sram、flash這三大件不能少,要不然根本無法獨立運行嘛。所以你看不管是51單片機還是STM32都是內部有CPU,有SRAM,有Flash的,這就是典型的單片機。而嵌入式SoC不同,譬如S5PV210內部只有CPU和少量SRAM,它要正常工作需要外部集成DDR SDRAM和Flash(EMMC)。所以嵌入式的system不能在一個chip上,一般典型的嵌入式系統的system由一塊核心板構成,這塊核心板上集成了SoC、DDR SDRAM、Flash、電源模塊等,這叫嵌入式系統。而所謂跨界處理器,跨的就是單片機和嵌入式這兩界。這個imxRT1052內部集成了CPU和SRAM,但是沒有Flash,它需要外部提供獨立的Flash芯片才能組成一個system。所以這東西既不是典型的單片機也不是典型的嵌入式,但是既像單片機,又像嵌入式,所以NXP說這個是跨界處理器。甭管好不好用,名字聽起來酷酷的。 順便多說一句,NXP為什么這么設計?其實是因為單片機內置Flash都很貴,imxRT1052為什么能比同樣性能的STM32便宜那么多,主要原因就是因為他沒有內置Flash。所以很多人都說ST落后于NXP了,其實沒有。只能說NXP這個設計在單片機界是一種創新,對比來看顯得STM32F7、STM32H7性價比太差了。不過實話實說,STM32的F7和H7確實性價比很垃圾,我都不知道就一個單片機賣一百多是準備上天?誰給ST的勇氣這么定價的,梁靜茹嗎? 算了,懶得吐槽F7和H7了。就說這個跨界處理器imxRT1052吧,這東西主頻有600MHz,有消費級和工業級,帶各種外設(反正你能用到的基本都有了),可以帶最大分辨率1024*768的TFT LCD(當然了需要外接SDRAM作為顯存)。這東西相對于普通單片機來說就是神一般的存在啊,一般玩單片機的看到這個數據嚇得直接就跪下叫爸爸了。再說價格,這東西官方公布的批量價格是人民幣30元左右。想一想感覺性價比爆棚啊。其實STM32也沒那么弱,F7和H7的主頻雖然沒有600MHz那么變態,但是H7的性能整體比RT1052并沒有太大劣勢。就算不叫爸爸一聲大哥總逃不了。之所以F7和H7沒掀起大浪關鍵還是價格太嚇人了,一般人聽說100多直接心里罵娘轉身走人了,根本不想了解你的性能。而imxRT1052的30元確實很誘人,聽起來似乎真的是高性能低價格了,很多人甚至據此判斷NXP要“干死”ST了。

跨界處理器的尷尬

高性能跨界處理器初看似乎很不錯,實際上并沒有那么容易成功。原因就在于這種高性能單片機實際上和低性能高性價比的嵌入式linux解決方案比并沒有優勢。 是的,很多人覺得600M主頻的單片機才30塊很便宜很厲害。那是因為你不熟悉嵌入式的解決方案。實際上imxRT1052單芯片是不能很好工作的,他要實現高性能至少需要外置Flash和SDRAM,就算只是1Gbit的SLC Nand和32MB 的SDRAM,再加上RT1052BOM成本也在50元左右了。再加上RT1052雖然號稱批量30元,但是實際上小批量拿貨價都在40-50元,所以目前市場上RT1052的核心板售價都在120-150元之間了。這個價格其實并不便宜,有很多嵌入式linux的解決方案都比這個性價比高。 譬如NXP的imx6ul,內置Cortex-A7單核心,最高主頻1.2GHz,也是工業級,各種你能想到的外設都有了。標配256MB SLC Nand和256MB DDR的核心板,市場最低售價119元,比RT1052還低一些。 實際上還有性價比更高的方案,譬如我們深創客推出的NUC972牛頓板中使用的新唐NUC972方案,內置64MB DDR,外部配置1Gbit SLC Nand。主板批量可以做到100元內。性價比完勝RT1052這類高性能單片機。 很多人可能會說,我不會嵌入式linux開發,我只會單片機開發啊。所以你linux的方案性價比再高跟我沒關系,單片機的才跟我有關系。我想說這絕對是一種誤解,百分百的誤解。為什么? 單片機就三個字,你別覺得叫單片機的都是一種東西。單片機和單片機是不一樣的,你覺得主頻600MHz的單片機帶1024*768分辨率的TFT LCD,它的開發方式和難度會和10塊錢不到的STM32F103一樣?軟件開發是跟著硬件走的,什么樣性能的硬件就應該配套什么樣的軟件開發方式和相應資源,也會要求開發者具備某種相應素質。所以不要覺得都是單片機就親切,就能玩。實際上要把高端單片機完全發揮性能做出好看的GUI并且用到項目中解決掉所有的BUG并不是一件容易的事情。

最后

今天談的東西都比較淺,主要是講了下單片機和嵌入式系統的由來和差異。引出了高端單片機(STM32H7、imxRT1052等)和高性價比嵌入式linux解決方案的的一個對比。主要是希望拋給大家一個思考點,引導大家去思考如何分析和評價一款芯片方案,從而在做項目時能夠更好的選型適合自己的芯片方案。 總的來說,我的觀點是:能用幾塊十幾塊的單片機就用單片機,如果這些高性價比的單片機不能滿足要求非要上幾十塊的高性能單片機,那你確實應該考慮下是否應該一步到位上高性價比的嵌入式linux解決方案。 很多人擔心linux不會開發,其實不應該這么考慮。真正沉下去做項目,你會發現用嵌入式linux并沒有那么難,而且高端單片機加上RTOS和一堆框架、協議棧之后也不簡單。出了問題也不好找。而且嵌入式linux經過多年積累,其方案穩定性大多都不錯。而高端單片機的配套RTOS和框架協議棧等中間件往往處在發展初期,往往bug很多。因此,建議大家值得投入時間去學習嵌入式linux軟件開發的技能。

04、迷茫期該怎么辦?

很多人跟我一樣,或者比我還差點呢 即使在工作穩定期的人,也會迷茫,因為Ta總會想,我就這樣了嗎?難道我要在這一直不變?太可怕了,但是也有很多人可以就這樣混混而過,因為選擇跨出任何一步具有不確定因素的行動,都需要勇氣和沖動,這些很多人就提不起勁,即使是剛剛大學畢業的94后,他們堅持著下班玩游戲、看劇,周末吃吃喝喝。 其實我也覺得,如果沒有跟一個優秀的人,或者接觸一批優秀的公眾號,我也不會改變太大。但是因為我遇上了,一個一直很努力的男朋友,他在學習上和工作上甚至做事上,都成為我的老師和榜樣,我害怕自己跟不上他的步伐,所以也只能努力了。 因此,距離會慢慢拉開。

錯開負面圈,遠離負面人,拒絕負面語

因為近期對在職公司失望,我們員工內部已經是負面情緒高漲。也因為近期在聽《高效能認識的7個習慣》,無意間留意其中說到的影響圈和關注圈。他說:我們人的注意力基本在這兩個圈內,我們受影響還是影響他人,關注自己還是關注了別人?!這樣自問一下,發現近期自己也被潛移默化負能量增多,在工作中也逐漸影響了心情。這是我覺得很有必要改善的。 而且,對于離職這個行為,我這樣定義:如果你在一個既不能提高你的生活品質和對未來的展望,那就走吧。

學會總結,記得反思

怎么說,我逐漸覺得,這屬于刻意練習的一種,就是對于當下在做的事,會下意識的想有沒有意義?能花在這里的時間是多少?比如這些天,我居然喜歡上《火影忍者》,這對于90后,在他們眼里這是90后的童年吧,我居然現在才喜歡看?!但是因為現在在學習測試和C,兼顧還看看其他知識的時候,我不能花太多時間用在追劇,所以,當我打來播放器時,我會下意識的提醒自己:能幾節,什么時間必須關掉,做正常的學習或者日常事務。

請相信自己,堅持下去

最近一段時間在大量投簡歷時,還是石沉大海般毫無動靜,離職時間也快到了。不過,目前狀態還很好,依然堅定自己的選擇,更艱難的時刻還沒來,自己暫時不具備開啟好運的時刻啊!

最后,我想說的是嵌入式系統開發一旦我們達到了一定的水平后,其實很簡單,就是如何去看CPU和相關芯片的Datasheet!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6042

    文章

    44617

    瀏覽量

    637912
  • Linux
    +關注

    關注

    87

    文章

    11342

    瀏覽量

    210224
  • 操作系統
    +關注

    關注

    37

    文章

    6889

    瀏覽量

    123642
  • 嵌入式工程師

    關注

    1

    文章

    37

    瀏覽量

    16241

原文標題:嵌入式工程師,怎么不被歷史洪流沖走?

文章出處:【微信號:WW_CGQJS,微信公眾號:傳感器技術】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    年薪30萬的嵌入式工程師,究竟需要掌握哪些技能?

    隨著智能硬件、物聯網、智能汽車、自動化控制等領域的迅速發展,嵌入式工程師的需求也水漲船高。尤其是在全球化和技術加速的時代,嵌入式開發不僅是一個熱門行業,還是跨學科技術與創新的交匯點。對于那些具備扎實
    的頭像 發表于 01-16 10:59 ?302次閱讀
    年薪30萬的<b class='flag-5'>嵌入式</b><b class='flag-5'>工程師</b>,究竟需要掌握哪些技能?

    嵌入式主板的概述與發展

    隨著科技的迅猛發展,嵌入式系統在現代電子產品中扮演著越來重要的角色。嵌入式主板作為嵌入式系統的核心組件之一,承擔著控制、處理和通訊等多種功能。本文將對
    的頭像 發表于 01-13 16:30 ?271次閱讀
    <b class='flag-5'>嵌入式</b>主板的概述與發展

    為什么嵌入式驅動開發工程師可以拿高薪?

    。 為什么嵌入式驅動開發工程師可以拿高薪? 嵌入式驅動開發工程師屬于技術密集型工作,不僅需要深入了解硬件的
    發表于 01-07 16:56

    嵌入式工程師常用的開發工具有哪些?

    嵌入式工程師常用的開發工具有哪些? 在嵌入式系統開發的廣闊領域中,嵌入式工程師們憑借著一系列強大的工具,將創意與技術完美融合,打造出高效、可
    發表于 12-20 15:29

    嵌入式好找工作嗎?

    嵌入式開發對專業技能要求較高,人才相對稀缺,企業為了吸引和留住相關人才,往往會提供比較有競爭力的薪資待遇。一般初入行業的嵌入式工程師,薪資水平就能高于很多傳統行業崗位,而隨著工作經驗的
    發表于 12-16 15:43

    新手怎么學嵌入式?

    的基礎上增加了面向對象編程的特性,有助于編寫更復雜的嵌入式程序。 3. 學習硬件知識 嵌入式技術與硬件緊密相關,因此你需要了解一些基本的硬件知識。比如微控制器(MCU)、微處理器(MPU)的工作原理,了解
    發表于 12-12 10:51

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被稱為嵌入式系統的核心組件,是一種用于控制和數據處理的計算機硬件,其設計旨在嵌入特定設備中執行專門任務。嵌入式主板如同是設備的“大腦”,主要功能是根據需要管理和控制設備
    的頭像 發表于 09-30 10:05 ?820次閱讀

    嵌入式熱門領域有哪些?

    通過物聯網連接各種物理設備和傳感器,促使它們之間實現信息的交換和數據的共享。從智能家居到智能城市,物聯網的應用不斷擴展,為嵌入式系統工程師帶來了廣泛的就業機會和發展前景。 自動駕駛 自動駕駛技術作為
    發表于 07-16 09:23

    嵌入式開發者的未來

    嵌入式系統的就業方向非常廣泛,涵蓋了許多不同的行業和領域。以下是一些常見的嵌入式系統就業方向:消費電子產品:這包括智能手機、平板電腦、智能電視、智能家居設備等。嵌入式系統工程師可以參與
    的頭像 發表于 06-23 08:10 ?428次閱讀
    <b class='flag-5'>嵌入式</b>開發者的未來

    嵌入式軟件工程師如何提升自己?

    嵌入式軟件工程師如何提升自己? 作為一名嵌入式軟件工程師,在這個充滿機遇和挑戰的領域里,如何提升自己顯得非常重要,它決定了你未來的發展方向和成就。接下來,我們一起探討一下。 1.奠定扎
    發表于 06-12 11:20

    從事嵌入式方向,一定要軟硬件通吃?

    軟件工程師的職責嵌入式軟件工程師的主要職責是為嵌入式系統編寫和調試代碼,確保系統按預期工作。他們需要處理底層硬件接口、實時操作系統(RTOS
    的頭像 發表于 06-05 08:10 ?1269次閱讀
    從事<b class='flag-5'>嵌入式</b>方向,一定要軟硬件通吃?

    嵌入式軟件工程師和硬件工程師的區別?

    、機器人等。 定義和工作職責 嵌入式軟件工程師的主要職責包括但不限于:設計、開發、測試和調試嵌入式軟件應用程序,以滿足特定硬件和軟件要求。他們需要理解并掌握
    發表于 05-16 11:00

    嵌入式會越來卷嗎?

    嵌入式會越來卷嗎? 當談及嵌入式系統時,我們探究的不僅是一種科技,更是一個日益多元與普及的趨勢。嵌入式系統,作為一種融入更大系統中的計算機硬件和軟件,旨在執行特定功能或任務。但這個看
    發表于 03-18 16:41

    嵌入式工程師需要掌握哪些技術?

    嵌入式工程師需要掌握哪些技術? 嵌入式系統是當今科技領域中的重要組成部分,它們存在于我們生活的方方面面,從智能手機到汽車控制系統,從家電到醫療設備。因此,對于那些想要進入嵌入式行業的
    發表于 03-04 16:38

    嵌入式人工智能的就業方向有哪些?

    的發展方向有很多,門檻高低不一樣。下面給大家列舉一些相應崗位所需具備的技能: 一:嵌入式Linux,C語言開發工程師,Linux軟件開發工程師 LinuxC語言開發 LinuxC語言開發進階 Linux
    發表于 02-26 10:17
    主站蜘蛛池模板: 日日夜夜天天操 | 37pao强力打造免费高速高清 | 视频在线观看高清免费大全 | 亚洲国产午夜精品理论片的软件 | 欧美一级艳片视频免费观看 | 日本三级带日本三级带黄首页 | 天天看片网站 | 李老汉和小花的性生生活 | 国产yw855.c免费观看网站 | 久久久久久人精品免费费看 | 天天色成人 | 国产精品久久久久天天影视 | 男人的天堂视频网站清风阁 | 国产理论在线 | 日本片免费观看一区二区 | 久久久久国产一级毛片高清片 | 丝袜美女被c| 久久婷婷综合五月一区二区 | 日韩手机看片 | 你懂的免费在线观看 | 国产亚洲精品久久久极品美女 | 中国一级特黄视频 | 第一页综合 | 欧美tube6最新69 | 久久久久久久成人午夜精品福利 | 三级视频网站 | 亚洲第九页 | 九九九精品视频免费 | 综合7799亚洲伊人爱爱网 | 午夜88 | 午夜色网站 | 黄 色 片免费观看 | 国产午夜精品久久久久免费视 | 特级生活片 | 天天爱天天做天天爽夜夜揉 | 四虎永久精品视频在线 | 天天谢天天干 | bl高h文 | 中文字幕国产一区 | 亚洲伊人网站 | 国产卡1卡2卡三卡网站免费 |