自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

嵌入式開發(fā)入門指引,你學(xué)到了嗎?

開發(fā) 前端
8位單片機是基礎(chǔ),升級32位ARM是階段目標(biāo),一般選STM32,資料豐富?;谠瓘S庫函數(shù)實現(xiàn)復(fù)雜功能,對接外設(shè),如藍(lán)牙模塊、GPS模塊等,數(shù)據(jù)采集過濾、存儲、傳輸?shù)取@碚摲矫姹热缇幾g、鏈接、OTA、socket等也需要明白。

[[442103]]

 1、入門

C語言:嵌入式編程大多用C語言,少量匯編,C語言必須熟練掌握。

電路:基本的模擬電路、數(shù)字電路知識,能大概明白電路原理圖;掌握從原理圖到PCB板的技能或常識;會焊接、調(diào)試,使用常用儀表。

51單片機:雖然落后,但學(xué)習(xí)相對簡單,IO、中斷、定時器,AD、Flash、UART、IIC等基礎(chǔ);輔以簡單的開發(fā)板練習(xí),鞏固基礎(chǔ)、原理。

C51基礎(chǔ),會看datasheet,使用官方庫或寄存器設(shè)置,能實現(xiàn)中等難度的裸機程序;達(dá)到這個能力,后續(xù)換其它型號也容易舉一反三,快速掌握。

2、進(jìn)階

ARM單片機:8位單片機是基礎(chǔ),升級32位ARM是階段目標(biāo),一般選STM32,資料豐富?;谠瓘S庫函數(shù)實現(xiàn)復(fù)雜功能,對接外設(shè),如藍(lán)牙模塊、GPS模塊等,數(shù)據(jù)采集過濾、存儲、傳輸?shù)?。理論方面比如編譯、鏈接、OTA、socket等也需要明白。

實時操作系統(tǒng):裸機開發(fā)是基礎(chǔ),要提高必須跑系統(tǒng),如freerRTOS 、rt-thread等。學(xué)會移植,使用系統(tǒng)接口開發(fā)復(fù)雜功能,盡量研究下RTOS的源碼,其數(shù)據(jù)結(jié)構(gòu)、編碼規(guī)范是學(xué)習(xí)的參考資料。注意軟件分層與模塊化思想。

應(yīng)用層:掌握一定的C++或QT基礎(chǔ),開發(fā)一些輔助工具,也可快速驗證純軟件邏輯,見識面向?qū)ο箝_發(fā)的思維。其它語言如perl、shell、python、批處理都可以學(xué)個基礎(chǔ),能一邊百度一邊寫出就行。

正式項目一般基于原廠SDK開發(fā),非通用芯片使用特有的開發(fā)環(huán)境、調(diào)試工具等,有了前面基礎(chǔ),新平臺1-3周足以應(yīng)付。做項目和學(xué)習(xí)的專注點不同,要求的是穩(wěn)定、性價比,不追求技術(shù)的先進(jìn)性。

學(xué)習(xí)中總結(jié)失敗教訓(xùn),梳理開發(fā)流程、技巧,整理成技術(shù)文檔,加深理解,這些文檔不僅對自己,對其他人也是財富。

3、規(guī)劃

具備一定基礎(chǔ)了,后續(xù)發(fā)展看個人愛好或市場需求,軟件或硬件或全棧,相比來說嵌入式軟件需求大。其下細(xì)分單片機開發(fā)支持RTOS實時系統(tǒng)或者Linux,前者容易,后者需求大,但入門難,即使精通一個組件或方向也能發(fā)展不錯。Linux路線,先學(xué)會應(yīng)用開發(fā),再驅(qū)動,最后深入內(nèi)核。

基本上規(guī)劃大概率決定了職業(yè)方向,盡早規(guī)劃,提前準(zhǔn)備,有針對性的學(xué)習(xí)RTOS或者Linux或者硬件電路,后續(xù)往深度發(fā)展。如果不適合技術(shù)路線,有點基礎(chǔ)再從事市場營銷也大有裨益。

除技術(shù)之外,嵌入式開發(fā)對行業(yè)經(jīng)驗也有一定要求,不同行業(yè)應(yīng)用的技術(shù)側(cè)重點不同,可以參考相關(guān)公司的招聘要求,有針對性的去了解。

選擇比努力重要,同樣是軟件開發(fā),不同行業(yè)也存在較大區(qū)別。第一份工作盡量選個好方向、挑大公司,有這些起點背景,后續(xù)發(fā)展會更好;最開始的方向和平臺沒選對,后面再折騰會走很多彎路,也許一生的職業(yè)發(fā)展就在錯誤的路上,再努力也很難達(dá)到一定高度。

4、發(fā)展

“三人行,必有我?guī)熝?擇其善者而從之,其不善者而改之”,不論哪種職業(yè),要善于總結(jié)、學(xué)習(xí)周圍人的長處,比如軟件開發(fā),閱讀優(yōu)秀開源代碼是快速提高軟件開發(fā)水平的主要途徑。

持續(xù)學(xué)習(xí),從深度與廣度發(fā)展,總結(jié)分享技術(shù)成果。如果感到?jīng)]有參考目標(biāo)了,說明已經(jīng)成為一方權(quán)威或者該換地方了。

5、個人感想

以前有個困惑,有的老年人做飯一輩子,可是燒菜的水平還是有限;一些烹飪技校的學(xué)徒,幾年時間后做出的飯菜明顯高于一般家庭主婦。這個問題,也許答案是持續(xù)學(xué)習(xí)、不斷進(jìn)步。社會在進(jìn)步,技術(shù)在更新,不斷接觸新的,不一定都要親自動手實踐,能評估可行性,知道大概如何實現(xiàn)即可,有需求時再深入細(xì)節(jié)。

嵌入式系統(tǒng)開發(fā)方向繁多,只要肯專研,精通一門,成為食物鏈頂端的人,人生軌跡都不會差。

嵌入式軟件開發(fā),C語言是基礎(chǔ);有需要請?zhí)砑觽€人微信,微信號隱藏在C代碼中:

  1. //個人微信號 
  2. #define UNKNOWN ('-'-'-'
  3. #define C(c) #c[0]+23 
  4. #define CC "%" 
  5. #define CCC CC"c"CC"c" 
  6. #define CCCC(c) ??=c"02" 
  7.  
  8. int main() 
  9.     int a=100; 
  10.     char error = 0xFF; 
  11.     char work = "RTOS"['/'/'/']/2021; 
  12.     printf("c"CCC"n"CCC"%c%"CCCC(c)"%c"CCC"\012"
  13.            work["mtk"]-5,work["embedded-system"],work["gps"],\ 
  14.             UNKNOWN["java"],UNKNOWN+3["linux"],(-~UNKNOWN)["Android"],\ 
  15.             C(c),UNKNOWN??("my_wechat"??),"number here"??(2??)+error); 
  16.  
  17.     return 0; 

 

責(zé)任編輯:武曉燕 來源: 嵌入式系統(tǒng)
相關(guān)推薦

2021-09-03 06:46:34

MyBatis緩存后端

2009-12-16 15:41:40

嵌入式Linux入門

2011-01-14 13:13:23

嵌入式Linux開發(fā)

2021-07-29 18:46:52

可視化類型圖形化

2010-04-21 13:22:20

Windows CE

2009-12-09 10:50:53

嵌入式Linux

2009-07-17 16:06:59

ARM嵌入式開發(fā)

2020-07-21 18:54:21

Rust類型轉(zhuǎn)換語言

2023-10-16 08:55:43

Redisson分布式

2022-07-18 07:58:46

Spring工具工具類

2010-01-13 09:15:35

嵌入式

2011-07-05 15:42:02

QT 嵌入式 Embedded

2021-10-26 21:50:10

Rust嵌入式開發(fā)

2018-01-29 08:31:32

嵌入式內(nèi)存技術(shù)

2023-04-10 07:40:36

GraphQLRest通信模式

2010-01-07 10:45:38

嵌入式Linux入門

2020-04-14 08:46:47

Java對象編譯器

2011-01-06 15:11:09

嵌入式linux

2009-12-23 10:33:30

Silverlight

2011-06-13 14:00:55

Qt Designer linux
點贊
收藏

51CTO技術(shù)棧公眾號