實際上,IT技術更新換代非常快,所以如果你5年之前是一名嵌入式高手,但是這5年你沒有接觸過嵌入式的話,那么很可能你就會變成菜鳥了,嵌入式工程師并不是越老越吃香,這個要看你是不是能夠不斷學習新的知識,下面可以一起來了解一下。
有不少工程師的工作是寫運行在RTOS之上的應用程序的,但他(她)其實根本不用接觸硬件相關的知識、不用接觸什么是中斷、也不用考慮任務的優先級,對于這些工作我不認為是嵌入式開發,其實,說到底只是采用了新的一套API(即RTOS的相關函數)進行編程。嵌入式開發我認為至少要與硬件和RTOS打交道,對一操作系統的原理和實現很清楚。從我的角度來看,如果一個寫驅動的人只知道驅動相關的內容,而對于操作系統的機理并不是很清楚,那也不能算是嵌入式系統開發,就是驅動開發。下面是我對于嵌入式系統開發的一些看法。
1) 嵌入式開發對于提升我們的系統知識有很大的幫助,尤其是操作系統的知識。嵌入式系統開發對于我們的知識面要求非常的廣,且要有一定的深度。在做嵌入式開發之前,我是做Visual C++開發的,當我做過嵌入式開發后,我就能明白在Windows桌面上雙擊鼠標時,后臺有什么事情發生了。比如,我能想到后面有一個Loader將文件加載到內存,并最終運行程序。雖然,沒有做過嵌入式開發也能想到這一點,但能看到的深度是不同的。
2) 當我們對于操作系統的原理和實現非常熟悉后,嵌入式系統開發的工作相對簡單。因為,操作系統的概念已經很成熟了,而現在的嵌入式系統就是將現代操作系統的 技術運用到嵌入式系統。這里說的簡單,主要是強調其需求相對的穩定、功能相對的單一。軟件設計真正復雜是做應用,應用開發是我們真正能發揮設計能力的地方。
3) 嵌入式系統開發經驗對于提升我們解決問題的能力有及大的幫助。因為我們系統性的知道了軟件是如何被組織在CPU上運行的,這對于我們分析和解決問題很有意義,對于自己解決復雜問題的信心也很有幫助。
4) 具備一定的硬件知識對于嵌入式開發大有裨益。比如,我們要明白什么是片選,什么是3態,什么是I/O,如何看時序圖等等。最好還得會使用相關儀器,比如示波器、邏輯分析儀。
嵌入式的全稱是嵌入式系統,英文是Embeded system,所以可以看出嵌入式是一個system。為什么叫嵌入式呢?這里的嵌入指的是我們把這個system(硬件上表現為一個Chip)嵌入到某個設備中去。譬如冰箱的板卡上的芯片就是一個嵌入到冰箱中的system,負責控制用戶按鍵、冰箱照明燈、制冷系統等。可以看出,嵌入式系統這個名字主要是從芯片在使用時的組織形態來命名的。所以從這個角度講,只要是被嵌入到設備中的芯片都可以被叫做嵌入式系統。
以上介紹的就是怎么才能讓老嵌入式工程師不被淘汰了,這也就是個不斷學習的過程,不能一時掌握了嵌入式技術,要你一直跟隨嵌入式技術,與時俱進才行。