當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 大魚(yú)機(jī)器人
[導(dǎo)讀]大家好,我是張巧龍,最近看知乎有一個(gè)問(wèn)題,是關(guān)于嵌入式入門(mén)的,看到幾個(gè)回答,還不錯(cuò),分享給大家?;卮鹨唬鹤髡撸郝?tīng)心跳的聲音鏈接:https://www.zhihu.com/question/443062080/answer/1757550413是的,你的感覺(jué)沒(méi)錯(cuò),其實(shí)你自己已經(jīng)有...

大家好,我是張巧龍,最近看知乎有一個(gè)問(wèn)題,是關(guān)于嵌入式入門(mén)的,看到幾個(gè)回答,還不錯(cuò),分享給大家。



回答一:

作者:聽(tīng)心跳的聲音鏈接:https://www.zhihu.com/question/443062080/answer/1757550413

是的,你的感覺(jué)沒(méi)錯(cuò),其實(shí)你自己已經(jīng)有朦朧的答案,在之前沒(méi)接觸過(guò)任何單片機(jī),其實(shí)你的問(wèn)題可以歸結(jié)于以下2個(gè)原因:


MCU的基礎(chǔ)知識(shí)理解的缺失

單片機(jī)(也就是STM32)的具體工作認(rèn)識(shí)不清晰。


按照整個(gè)學(xué)習(xí)階段先后順序的說(shuō)明,下面更詳細(xì)的解讀來(lái)說(shuō)明問(wèn)題。


1.專(zhuān)用術(shù)語(yǔ)


對(duì)于MCU來(lái)說(shuō),在沒(méi)有接觸具體的功能,僅專(zhuān)用名詞就一堆,交叉編譯,內(nèi)核,加法器/除法器、協(xié)處理器、算法加速器、指令集、浮點(diǎn)運(yùn)算、流水線、哈佛結(jié)構(gòu)、寄存器(通用和外設(shè))、中斷和異常、FLASH、RAM、Cache(緩存)、SDRAM(刷新時(shí)間)、USART(波特率,停止位,奇偶檢驗(yàn))、CAN,SPI(片選)和I2C等。


這里面有的屬于基礎(chǔ)知識(shí),有的屬于進(jìn)階需要了解的知識(shí)點(diǎn),這些名詞的理解是作為入門(mén)者的第一個(gè)門(mén)檻,如果對(duì)一些專(zhuān)用名詞不了解,那么組合起來(lái)的語(yǔ)句就更加晦澀難懂。


這里說(shuō)我的學(xué)習(xí)方法:遇到聽(tīng)不懂的專(zhuān)業(yè)術(shù)語(yǔ),去網(wǎng)絡(luò)上查找理解,并找個(gè)本子或電腦通過(guò)文檔的形式記錄下,一段時(shí)間回顧一下,好記性不如爛筆頭。


這里推薦,對(duì)于單片機(jī)學(xué)習(xí)中需要了解的內(nèi)核知識(shí)都有說(shuō)明。


2.芯片工作流程


專(zhuān)業(yè)術(shù)語(yǔ)并不會(huì)多難,記住基本不會(huì)忘,就算忘了回顧下也簡(jiǎn)單,在邁過(guò)這個(gè)坎后,下一步就是理解芯片執(zhí)行流程和我們要做什么才能讓芯片工作起來(lái)。


1)在上電后,芯片復(fù)位啟動(dòng)。

2)MCU從FLASH通過(guò)指令/數(shù)據(jù)總線分別讀取指令和數(shù)據(jù),配合解析執(zhí)行,其中在通過(guò)RAM和通用寄存器(以就是R0~R12的內(nèi)部寄存器)處理可變數(shù)據(jù)。

3)根據(jù)執(zhí)行的指令,配置和操作外設(shè)的的寄存器,從而驅(qū)動(dòng)對(duì)應(yīng)外設(shè)實(shí)現(xiàn)具體的功能。

4)配合上層組合邏輯,結(jié)合外設(shè)功能,執(zhí)行具體應(yīng)用的全部需求。


上述就是芯片工作的流程,而作為單片機(jī)開(kāi)發(fā)者,實(shí)現(xiàn)的代碼就是放在FLASH中的程序,由官方提供的SDK包和用戶(hù)裁剪實(shí)現(xiàn)定義的外設(shè)驅(qū)動(dòng)組成,按照上述流程就包含:


芯片的啟動(dòng)過(guò)程中對(duì)堆棧的初始化,系統(tǒng)相關(guān)外設(shè)的處理(如時(shí)鐘) => 這部分由廠商提供,我們把文件放入項(xiàng)目即可,以STM32為例就是啟動(dòng)文件startup_xxx.s和系統(tǒng)初始化的SystemInit函數(shù)


配置應(yīng)用需要的外設(shè)模塊,如果你看網(wǎng)上的教學(xué)視頻,都是從這一步直接開(kāi)始的,特別是STM32基于STM32CubeMx的實(shí)現(xiàn),會(huì)告訴你這么寫(xiě)是滿(mǎn)足要求的。


如果你不是愿意深究的人到無(wú)所謂,當(dāng)你深究這東西的時(shí)候,就會(huì)發(fā)現(xiàn)沒(méi)有人告訴為什么要這么寫(xiě),迷惑自然就來(lái)了,其實(shí)這部分就是嵌入式所謂的經(jīng)驗(yàn)成分。


如大部分外設(shè)模塊都要進(jìn)行時(shí)鐘使能,GPIO就要配置引腳的上拉/下拉,推挽/開(kāi)漏,USART配置模式,波特率,奇偶校驗(yàn),停止位,數(shù)據(jù)位,還要考慮對(duì)應(yīng)GPIO的端口復(fù)用,I2C就要考慮主從模式,根據(jù)需要的傳輸速率確定模塊時(shí)鐘,SDRAM除了考慮引腳復(fù)用,時(shí)序,還要計(jì)算刷新時(shí)間來(lái)保證數(shù)據(jù)的穩(wěn)定,這些知識(shí)理論上都是長(zhǎng)期在工作中積累出來(lái)的。


在項(xiàng)目需求確定后,根據(jù)芯片和器件選型,就能夠確定硬件PCB的繪圖和布置,功能需求也能確定,如訪問(wèn)外部EPPROM,那么I2C就確定位主模式,并根據(jù)EPPROM的讀寫(xiě)時(shí)序和芯片的性能,考慮到效率和穩(wěn)定的平衡,就可以確定I2C的速率,考慮布局和其它需求,I2C對(duì)應(yīng)的復(fù)用引腳也能確定。


事實(shí)上,對(duì)于真實(shí)項(xiàng)目,都是從需求=>項(xiàng)目計(jì)劃書(shū)=>軟硬件框架=>軟件驅(qū)動(dòng)



3.上層應(yīng)用邏輯實(shí)現(xiàn)


配合外設(shè)的應(yīng)用邏輯實(shí)現(xiàn)其實(shí)才是項(xiàng)目中最復(fù)雜的部分,包含中斷前后臺(tái)系統(tǒng)的交互,可能存在RTOS應(yīng)用和協(xié)議移植,GUI的管理操作,和其它模塊如wifi模塊,藍(lán)牙模塊的交互,不過(guò)這部分屬于進(jìn)階內(nèi)容,當(dāng)你對(duì)外設(shè)模塊由一定認(rèn)知后,這部分應(yīng)該也會(huì)有自己的學(xué)習(xí)方法,這里我就不在贅述。


本回答到此就結(jié)束了,這只是我對(duì)單片機(jī)問(wèn)題關(guān)于自己理解的總結(jié),單片機(jī)雖然并不需要?jiǎng)?chuàng)新研發(fā)未知的技術(shù),但卻涉及從芯片底層到軟件接口的全部實(shí)現(xiàn),包含對(duì)現(xiàn)代計(jì)算機(jī)技術(shù)中向微處理器方向的全部精華技術(shù),也是需要不斷學(xué)習(xí)才能不被時(shí)代拋棄。



回答二:

作者:snowdream鏈接:https://www.zhihu.com/question/443062080/answer/1719187639

通過(guò)題主的問(wèn)題描述,題主其實(shí)在前期的準(zhǔn)備階段基本已經(jīng)完成(包括C語(yǔ)言,實(shí)驗(yàn)板和編譯環(huán)境),也開(kāi)始跟著原子哥的教學(xué)視頻開(kāi)始了STM32的學(xué)習(xí)之路。


但是,根據(jù)我以前給其他朋友的分享,其實(shí)題主還差了關(guān)鍵的一個(gè)步驟:對(duì)STM32 MCU理論知識(shí)的學(xué)習(xí)和理解。



對(duì)于初學(xué)者而言,如果對(duì)MCU的理論知識(shí)(比如時(shí)鐘樹(shù),GPIO/UART/IIC/SPI等配置過(guò)程)沒(méi)有一個(gè)扎實(shí)和正確的認(rèn)知,那么個(gè)人覺(jué)得跟著視頻學(xué)習(xí),即使學(xué)會(huì)也大半是知其然而不知其所以然。


當(dāng)然不排除有的朋友根據(jù)視頻也能把基礎(chǔ)打的牢固(但我覺(jué)得他們也在視頻學(xué)習(xí)中穿插了基礎(chǔ)的學(xué)習(xí)和理解)。


所以基于以上的分析,我建議題主


1. 先不要著急上手視頻教學(xué)。

2. 選擇一本STM32單片機(jī)的理論書(shū)籍,圍繞最小系統(tǒng),先從STM32理論知識(shí)入手。

3. ( 視頻 對(duì)應(yīng)理論知識(shí) ) -> 實(shí)驗(yàn)板驗(yàn)證。來(lái)加深理論知識(shí)。


上面的過(guò)程可能會(huì)很慢,但是題主的基礎(chǔ)知識(shí)肯定會(huì)打的很扎實(shí),對(duì)后面的二次開(kāi)發(fā)和擴(kuò)展會(huì)有很大的幫助。


-END-


我是張巧龍,一名教電子的大學(xué)老師,歡迎關(guān)注!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉