【正点原子MP157连载】第一章 本书学习方法-摘自【正点原子】STM32MP1 M4裸机CubeIDE开发指南
1)實驗平臺:正點原子STM32MP157開發板
2)購買鏈接:https://item.taobao.com/item.htm?&id=629270721801
3)全套實驗源碼+手冊+視頻下載地址:http://www.openedv.com/thread-318813-1-1.html
4)正點原子官方B站:https://space.bilibili.com/394620890
5)正點原子STM32MP157技術交流群:691905614
第一章 本書學習方法
為了讓大家更好的學習和使用本書,本章將給大家介紹一下本書的學習方法,包括:本書的學習順序、編寫規范、代碼規范、資料查找、學習建議等內容。
本章將分為如下幾個小節:
1.1、本書學習順序;
1.2、本書參考資料;
1.3、本書編寫規范;
1.4、本書代碼規范;
1.5、例程資源說明;
1.6、學習資料查找;
1.7、給初學者的建議;
1.1 本書學習順序
為了讓大家更好的學習和使用本書,我們做了以下幾點考慮:
1,堅持循序漸進的思路編寫,從基礎到入門,從簡單到復雜。
2,將知識進行分類介紹,簡化學習過程,包括:基礎篇、入門篇、提高篇。
3,將硬件介紹獨立成一個文檔:《【正點原子】STM32MP157開發板硬件參考手冊V1.0.pdf》,本書著重介紹軟件知識。
因此,大家在學習本書的時候,我們建議:先通讀一遍《【正點原子】STM32MP157開發板硬件參考手冊V1.0.pdf》,對開發板的硬件資源有個大概了解,然后從頭開始,盡量不要跳著閱讀,循序漸進,逐一攻克。
對初學者來說,尤其要按照本書章節順序學習,不要跳躍式學習,因為我們書本的知識都是一環扣一環的,如果前面的知識沒學好,后面的知識學起來就會很困難。
對于已經學過STM32的朋友來說,就可以跳躍式學習了,當然如有不懂,也得翻閱前面的知識點進行鞏固。
1.2 本書參考資料
本書的主要參考資料有以下幾分文檔,這些文檔已經放到了開發板光盤中:
1、《STM32MP157參考手冊》,路徑:開發板光盤7、STM32MP1參考資料。
2、《STM32MP157A&D數據手冊》,路徑:開發板光盤7、STM32MP1參考資料。
3、《The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors, 3rd Edition》,路徑:開發板光盤 4、參考資料。
4、《Cortex-M3權威指南》中文版(宋巖 譯),路徑:開發板光盤 4、參考資料。
前兩個是ST官方針對STM32MP1的一份通用參考資料,重點介紹STM32MP1內部資源及使用,寄存器描述等,內容翔實,但是沒有實例,也沒有對Cortex-M4構架進行多少介紹,讀者只能根據自己對書本的理解來編寫相關代碼。
后兩者是專門介紹Cortex-M3/M4構架的書,有簡短的實例,但沒有專門針對STM32MP1的介紹。所以,在學習STM32MP1的時候,必須結合這份資料來看。
另外,由于STM32MP1目前只有英文版手冊,所以會給大家的學習帶來一點障礙,但是由于STM32MP1是在STM32單片機的基礎上發展而來的,很多外設和STM32H7一樣的,可以看做是STM32H7的換核版,因此大家可以借助STM32H7的中文手冊來學習STM32MP1。STM32H7的中文手冊也放到了開發板光盤中,路徑為:開發板光盤 7、STM32MP1參考資料STM32H7x3參考手冊(中文版).pdf。
1.3 本書編寫規范
本書通過數十個例程,給大家詳細介紹STM32MP1 M4的所有功能和外設,章節順序按難易程度排布,知識內容由簡入深,從基本的開發環境搭建、新建工程、HAL庫介紹等開始,一直到后面的高階例程,因此需要先學了前面的知識,才好學習后面的知識點。
這些章節在結構上一般分為4個部分:
1、外設功能介紹
簡單介紹具體章節所要用到的外設功能、框圖和寄存器等,讓大家對所用外設的功能有一個基本了解,方便后面的程序設計。
2、硬件設計
包括具體章節的實驗功能說明、所用到的硬件資源及原理圖連接方式,從而知道要做什么? 需要用到哪些IO口?是怎么接線的?方便程序設計的時候編寫驅動代碼。
3、程序設計
一般包括:程序流程圖、關鍵代碼分析、main函數講解等三部分。一點點介紹程序代碼是怎么來的,注意事項等,從而學會整個代碼。
4、下載驗證
下載驗證屬于實踐環節,在完成程序設計后,教大家如何下載并驗證我們的例程是否正確? 完成一個閉環過程。
1.4 本書代碼規范
為了方便大家編寫高質量代碼,我們對本書的代碼風格進行了統一,詳細的代碼規范說明文檔:《【正點原子】嵌入式單片機C代碼規范與風格.pdf》,初學者務必好好學習一下這個文檔。
總結幾個規范的關鍵點:
1、所有函數/變量名字非特殊情況,一般使用小寫字母;
2、注釋風格使用doxgen風格,除屏蔽外,一律使用 /* */ 方式進行注釋;
3、TAB鍵統一使用4個空格對齊,不使用默認的方式進行對齊;
4、每兩個函數之間,一般有且只有一個空行;
5、相對獨立的程序塊之間,使用一個空行隔開;
6、全局變量命名一般用g_開頭,全局指針命名一般用 p_開頭;
7、if、for、while、do、case、switch、default等語句單獨占一行,一般無論有多少行執行語句,都要用加括號:{}。
1.5 例程資源說明
STM32MP1開發板提供的M4標準例程多達40個HAL庫版本的例程代碼,我們提供的這些例程,基本都是原創,擁有非常詳細的注釋,代碼風格統一、循序漸進,非常適合初學者入門。
STM32MP1開發板的M4裸機例程列表如表1.5.1所示:
表1.5.1 M4裸機例程表
從上表可以看出,正點原子STM32MP1開發板M4裸機的例程基本上涵蓋了M4內核的所有內部資源,并且外擴展了很多有價值的例程。而且從上表可以看出,例程安排是循序漸進的,首先從最基礎的匯編點亮LED燈開始,然后一步步深入,從簡單到復雜,有利于大家的學習和掌握。所以,對于那些想要了解STM32MP1內部M4內核開發的朋友來說,正點原子STM32MP1開發板是非常適合的。不過,對于想深入了解STM32單片機開發的朋友來說,還是推薦使用STM32單片機開發板,正點原子有STM32F1/F4/F7/H7等系列的STM32開發板。
1.6 學習資料查找
學習資料包括三個方面:
1、ST官方的學習資料
首先肯定是ST官方:www.st.com,ST最新最全的資料,一般都是放在該網站,ST中文社區的資料,一般都是從ST官網搬過來的,所以如果你想找最新的STM32MP1官方資料,應該在ST官網找。ST官網的STM32MP1資料頁面如圖1.6.1所示(注意:默認是英文語言,需要在網頁右上角設置成中文):
圖1.6.1 STM32MP1官網資料(st.com)
①、點擊“產品”,打開整個產品序列。
②、找到“微控制器”,里面包含了ST所有的微控制器產品,STM32MP1就在此目錄中。
③、點擊“STM32MP1系列”,打開整個STM32MP1系列的介紹頁面,如圖1.6.2所示:
圖1.6.2 STM32MP1系列詳情
另外一個網站ST中文社區:www.stmcu.org,里面的資料全部由ST中國區的人負責更新和整理,包含了所有ST公司的MCU資料,比如:STM32MP1最新的芯片文檔(參考手冊、數據手冊、勘誤手冊、編程手冊等)、軟件資源(固件庫、配置工具、PC軟件等)、硬件資源(各種官方評估板)等,如圖1.6.3所示:
圖1.6.3 STM32MP1相關資料(stmcu.org)
意法半導體提供了一個Wiki平臺https://wiki.st.com,提供了STM32微處理器相關的深入的技術信息,操作方法和入門指南,以幫助客戶進行設計旅程。不過這個網站目前是英文版本,還沒有對應的中文版本。進入STM32 Wiki官網,可以選擇瀏覽MCU產品還是MPU產品,我們選擇STM32MP1系列產品,如圖1.6.4所示:
圖1.6. 1 STM32MP1 Wiki官網
進入STM32MP1系列產品Wiki以后,Getting started區域包含ST官方MP1開發板入門指南,Development zone區域可幫助開發應用程序和共享項目,Wiki archives是檔案區。我們進入Development zone區域后,點擊左上方的箭頭進入導航頁,或者可以直接在上方搜索框中輸入關鍵字以搜索我們想查找的內容,如圖1.6 .5。
圖1.6. 2 STM32MP1 Wiki官網
3、正點原子的學習資料
正點原子給大家提供的學習資料,都放在正點原子文檔中心,大家可以在文檔中心下載所有正點原子最新最全的學習資料,文檔中心地址:www.openedv.com/docs/index.html ,如圖1.6.5所示:
圖1.6.5 正點原子文檔中心
在文檔中心下面,我們可以找到正點原子所有開發板、模塊、產品等的詳細資料下載地址。
4、正點原子論壇
正點原子論壇,即開源電子網:www.openedv.com ,該論壇從2010年成立至今,已有10年時間,數十萬注冊用戶,STM32相關帖子數量有20多萬,每天數百人互動,是一個非常好的STM32學習交流平臺。
在學習過程中,我們難免會遇到一些問題,有任何問題,大家都可以先去開源電子網搜索一下,基本上你能遇到的問題,我們論壇都有人問過了,所以可以很方便的找到一些參考解決方法。如果實在找不到,你也可以在論壇提問,每天原子哥都會在上面給大家做解答。
不過,大家在論壇發帖的時候,建議先閱讀一下提問的智慧,縷清思路,不要亂問一通,提高提問質量,提問的智慧閱讀地址:www.openedv.com/thread-7245-1-1.html 。
1.7 給初學者的建議
對于學習STM32MP1 M4裸機開發的朋友,這里我給大家提以下三點建議:
1、準備一款合適的開發板(強烈建議配仿真器)
任何實驗,我們都需要驗證,最好的驗證方式就是在開發板上面實際跑起來,然后通過仿真器仿真調試,查看具體的執行過程。仿真器可以加深印象,還可以方便的查找bug,所以學習STM32MP1必備:一個開發板 + 一個仿真器。
另外,開發板在精不在多,學好一款,基本上就夠用了。
2、兩本參考資料
兩本資料就是:《STM32MP1參考手冊》和《The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors, 3rd Edition》。這兩個手冊在本章1.2節有過介紹,對于我們學習STM32MP1和了解Cortex-M3/M4內核非常有幫助,是學習STM32MP1的必備資料,因此初學者尤其要多看這兩個手冊。
這里建議大家,要多了解一些底層的東西,不要只會使用庫,否則,一旦遇到問題,或者換個芯片,就不知道怎么辦了。
3、戒驕戒躁,勤思敏行。
學習STM32MP1千萬不能浮躁,更加不能驕傲,初學者學習STM32MP1會遇到很多問題和難點,這個時候千萬不能浮躁,不要帶情緒,一定要靜下心來,縷清思路,逐一攻克。
我就曾經遇到一個問題半個月都沒解決的情況,但是這半個月我嘗試并掌握了很多解決問題的方法,最終解決問題的時候,其實帶來的收獲遠遠大于問題本身。所以不要遇到問題就認慫,就想問別人,問老師,先嘗試自己解決一下,比如花個十天半個月去解決一個問題,我相信你也會有很多收獲。
學習我們教程的時候,要多思考,多想想為什么要這么寫?有沒有其他更好的辦法?然后,自己去驗證,去實踐。這里非常重要的一點是要多實踐,一定要自己動手寫代碼,然后再下載到開發板驗證,不要只是看看視頻,看看例程就算完了,要能做到舉一反三,如果自己不實踐,不動手寫代碼,是很難真正學會的。
最后,C語言是學習STM32MP1的必備知識,所以如果C語言不過關的朋友,得先好好學習一下C語言基礎,否則學起來會比較吃力。
總結
以上是生活随笔為你收集整理的【正点原子MP157连载】第一章 本书学习方法-摘自【正点原子】STM32MP1 M4裸机CubeIDE开发指南的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机桌面英文翻译,电脑桌面便签软件敬业
- 下一篇: Use Case图与Use Case详细