1. 嵌入式軟體工程師需要學什麼
嵌入式軟體工程師需要學什麼?
對嵌入式LINUX操作系統及其上應用軟體開發目標:
1、 掌握主流嵌入式微處理器的結構與原理(ARM9相對比較容易)。
2、 必須掌握一個嵌入式操作系統,如LINUX系統,這是一個開源的系統。
3、 必須熟悉嵌入式軟體開發流程並做一些嵌入式軟體項目。
學習路線:
1、硬體知識
對於硬體部分要求並不高,只要能看懂原理圖,看懂通信協議,看懂晶元手冊就可以。不求能設計原理圖,更不求能設計電路板。如果能有一些《數字電路》的基礎就更好,沒有也沒關系。我們主要掌握硬體工作原理。要掌握常見硬體,如ADC,PWM,UART、I2C、SPI等。
2、編程語言學習
學習C語言,推薦C語言的設計者Dennis M. Ritchie和著名計算機科學家Brian W. Kernighan編寫的一部介紹標准C語言及其程序設計方法的著作,《C程序設計語言》。
3、學習LINUX系統編程
首先學會使用了解LINUX,學習LINUX命令,軟體安裝,工具使用。
學習文件IO,多進程多線程,進程間通信,套接字等。推薦《UNIX環境高級編程》,《TCP/IP詳解 卷一》
4、學習LINUX設備驅動
首先需要學習LINUX內核基礎部分,包括內核配置編譯,內核模塊,並發控制,字元設備,設備模型,平台設備等。
在學習常用驅動框架,如INPUT系統,幀緩沖驅動,網路設備驅動,塊設備驅動,音頻設備驅動等,掌握這些驅動框架,了解原理,總結哪些部分需要我們實現。基礎部分可以參考《Linux設備驅動 第三版》,該書雖然老,但是原理講的比較透徹,還可以參考。驅動框架可以到網上搜素資料,網上有很多關於驅動框架的介紹,這里就不推薦具體的文章,大家可以自己找一下。
2. 大數據開發工程師要學習哪些課程
編程沒有捷徑可言,或許天賦有點作用,但是不堅持長期練習,開發大腦,是不可能成為高手的。
其次,程序語言基本上五花八門,多達上百種,到圖書館看看便知,而且很多軟體自帶就有一種開發語言,所以一定不可貪多。
然後,主流的當然是C系語言,從C到C++到C#或者Java,這是一條基本路線,至於匯編語言除了計算機專業的人,一般不會去接觸的。
接下來講講應用范圍:
C語言適用於系統開發,比如操作系統,嵌入式編程,單片機編程等,比較底層;
C++適用於大型桌面軟體開發,幾乎所有的大型桌面軟體都是用C++開發出來的,由此可見,C++是一個非常強大的語言。
C#適用於非計算機專業,以行業應用為主的人,因為不需要掌握太多的技巧,上手快,很受廣大非計算機專業的人的歡迎,可以這么說,C#的出現改變了人們對於程序的恐懼,老少皆宜。
Java就不用說了,如今風靡全球,適用於網路開發,手機開發,Java是應網路時代而生,所以學Java就是學Web開發,桌面軟體還是C++的江上。
,建議學習C++或者Java。