C/C++學習方向與就業(yè)領域
學習編程應該如何選擇一門語言?這是大多數(shù)初學者內(nèi)心最大謎團!
如果抱著“學一門語言好找工作”的心態(tài),那可能你的眼界和學習思路都會受限變窄。“軟件人員要把眼光放長遠,盡量往中高級方向走,提升自己的核心競爭力,才不會被時代淘汰?!眮碜砸晃磺拜叺恼嬲\建議。

所以,如果你希望把工作當成事業(yè)、深入了解軟件編程的主心骨,那么C/C++這一類底層語言,是你一定要學習和掌握的。
特別是C++,作為C語言的延伸和強化,它一直是大公司大廠欽點的開發(fā)語言。

如今自學成風,C++也不乏大佬自學。但是,在初期找不到感覺和項目練手寫代碼的話,學習效率非常低。這里給大家找到了一個全面的、眾多初學者認可的C/C++學習計劃。
每一部分計劃的最后,還有學習資料可以領取。讓你少走些彎路,一直是我們的愿景。
一、嵌入式
(一)嵌入式就業(yè)領域

1、就業(yè)領域
物聯(lián)網(wǎng)、智能家居、智能醫(yī)療、智能汽車電子、智能硬件產(chǎn)品開發(fā)等。
2、具體職位
嵌入式軟件工程師、嵌入式硬件工程師、嵌入式系統(tǒng)工程師、嵌入式應用/驅(qū)動/內(nèi)核/移植工程師等。

(二)嵌入式知識架構(gòu)體系
1、懂硬件
懂硬件的一些原理,至少能看懂原理圖,會設計原理圖加分;
PCB設計軟件Altium Designer,PADS等;
會結(jié)構(gòu)設計,會焊板,交付專業(yè)制板公司制板。
2、C/C++語言和數(shù)據(jù)結(jié)構(gòu)以及簡單算法
基本C/C++語法、數(shù)據(jù)類型、數(shù)組、指針、結(jié)構(gòu)體、鏈表、類、模板、文件操作、隊列、棧等。
3、Linux操作系統(tǒng)基礎
Linux操作系統(tǒng)的概念、安裝方法;
詳細了解Linux下的目錄結(jié)構(gòu)、基本命令、編輯器VI、編譯器GCC、調(diào)試器GDB和Make 項目管理工具;
Makefile Shell腳本編寫等知識;
嵌入式開發(fā)環(huán)境的搭建;
SDK做二次開發(fā)。
4、Linux網(wǎng)絡編程
TCP/IP協(xié)議、socket編程、TCP/UDP網(wǎng)絡編程、HTTP;
走物聯(lián)網(wǎng)方向,一定要熟悉一些云存儲相關的網(wǎng)絡接口,比如亞馬遜、阿里云等。
5、外設協(xié)議與射頻
簡單通信接口:UART、I2C、SPI、CAN、USB、GPIO、WiFi、SDIO芯片;
網(wǎng)絡通信接口:以太網(wǎng);
其它輸入接口:鍵盤、鼠標、AD器件、LCD、433、2.4G等無線通信模塊;
走物聯(lián)網(wǎng)方向,一定要熟悉MQTT協(xié)議。
6、了解嵌入式平臺系統(tǒng)原理
系統(tǒng)資源、時鐘控制器、電源管理、異常中斷控制器、nand flash控制器等模塊,為底層平臺搭建做好準備;
Linux平臺包括:內(nèi)核裁減、內(nèi)核移植、交叉編譯、GNU工具使用、內(nèi)核調(diào)試、Bootloader制作與原理分析、根文件系統(tǒng)制作,以及向內(nèi)核中添加自己的模塊,完整的移動軟件。
7、驅(qū)動開發(fā)
熟悉Linux的內(nèi)核機制、驅(qū)動程序與用戶級應用程序的接口,掌握系統(tǒng)對設備的并發(fā)操作;
熟悉所開發(fā)硬件的工作原理,具備ARM硬件接口的基礎知識;
熟悉處理器各資源、掌握Linux設備驅(qū)動原理框架;
熟悉工程中常見Linux高級字符設備、塊設備、網(wǎng)絡設備、USB設備等驅(qū)動開發(fā);
在工作中能獨立勝任底層驅(qū)動開發(fā),做好配置。
(三)嵌入式公司推薦
一線:華為海思、中興通訊
二線:米爾科技、周立功、聯(lián)發(fā)科
是不是很精彩,當然這只是一部分,后期會繼續(xù)更新,期待大家的到來。
