內容簡介
STM32F7原理與應用—HAL庫版(上)
本套書籍以ST公司的STM32F767為目標芯片,詳細介紹瞭STM32F7的特點、片內外資源的 使用,並輔以64(寄存器版本是65個)例程,由淺入深地介紹瞭STM32F7的使用。所有例程都經過 精心編寫,從原理開始介紹,到代碼編寫、下載驗證,一步步教讀者如何實現。所有源碼都配有詳細注 釋,且經過嚴格測試。另外,源碼有生成好的hex文件,讀者隻需要通過仿真器下載到開發闆即可看 到實驗現象,親自體驗實驗過程。 套書總共分為4冊:
《 STM32F7原理與應用———寄存器版(上)》、《 STM32F7原理與應用———寄存 器版(下)》、
《 STM32F7原理與應用———HAL庫版(上)》和《 STM32F7原理與應用———HAL庫版(下)》。 本書是《 STM32F7原理與應用———HAL庫版(上)》,分為3個篇:① 硬件篇,主要介紹本書的硬 件平颱;② 軟件篇,主要介紹STM32F7常用開發軟件的使用以及一些下載調試的技巧,並詳細介紹 幾個常用的係統文件(程序);③ 實戰篇,通過30個實例(後34個見下冊)帶領讀者一步步深入瞭解 STM32F7。 本書適閤STM32F7初學者和自學者學習參考,對有一定經驗的電子工程技術人員也具有參考 價值。本書也可以作為高校電子、通信、計算機、信息等相關專業的教學參考用書。
前言/序言
套書前言
2014年底,意法半導體( ST)發布瞭STM32F7係列芯片。該芯片采用ARM公司 最近發布的最新、最強的ARMCo r t ex M7內核,其性能約為意法半導體原有最強處 理器STM32F4(采用ARMCo r t ex M4內核)的兩倍。STM32F7係列微控製器的工 作頻率高達216MHz,采用6級超標量流水綫和硬件浮點單元( F l oa t i ngPo i n tUn i t, FPU),測試分數高達1000Co r eMa rk。 在STMCU高級市場部經理曹錦東先生的幫助下,作者有幸於2015年拿到瞭 STM32F7的樣片和評估闆。STM32F7強大的處理能力以及豐富的外設資源足以應 付各種需求,在工業控製、音頻處理、智能傢居、物聯網和汽車電子等領域,有著廣泛的 應用前景。其強大的DSP處理性能足以替代一部分DSP處理器,在中高端通用處理 器市場有很強的競爭力。 由於STM32F7和ARMCo r t ex M7公布都不久,除瞭ST官方的STM32F7文 檔和源碼,網絡上很少有相關的教程和代碼,遇到問題時也很少有人可以討論。作為 STM32F7在國內較早的使用者,作者經過近兩年的學習和研究,將STM32F7的所有 資源摸索瞭一遍,在此過程中,發現並解決瞭不少bug。為瞭讓沒接觸過STM32F7的 朋友更 快、更 好 地 掌 握 STM32F7,作 者 設 計 瞭 一 款 STM32F7開 發 闆(阿 波 羅 STM32F767開發闆),並對STM32F7的絕大部分資源編寫瞭例程和詳細教程。這些 教程淺顯易懂,使用的描述語言很自然,而且圖文並茂,每一個知識點都設計瞭一個可 以運行的示例程序,非常適閤初學者學習。 時至今日,書已成型,兩年的時間包含瞭太多的心酸與喜悅,最終呈現給讀者的是 包括:《 STM32F7原理與應用———寄存器版(上)》、《 STM32F7原理與應用———寄存器 版(下)》、《 STM32F7原理與應用———HAL庫版(上)》和《 STM32F7原理與應用——— HAL庫版(下)》共4本書的一套書籍。這主要有以下幾點考慮: ①STM32F7的代碼編寫有兩種方式:寄存器和 HAL庫。寄存器方式編寫的代 碼具有精簡、高效的特點,但是需要程序員對相關寄存器比較熟悉;HAL庫方式編寫 的代碼具有簡單、易用的特點,但是效率低,代碼量較大。一般想深入學習瞭解的話,建 議選擇寄存器方式;想快速上手的話,建議選擇HAL庫方式。實際應用中,這兩種方 式都有很多朋友選擇,所以分為寄存器和庫函數兩個版本齣版。 ②STM32F7的功能十分強大,外設資源也非常豐富,因此教程篇幅也相對較大, 而一本書的厚度是有限的,無法將所有內容都編到一本書上,於是分成上下兩冊。
由於STM32F7的知識點非常多,即便分成上下兩冊,對很多方麵也沒有深入探 討,需要後續繼續研究,而一旦有新的內容,我們將盡快更新到開源電子網(www. openedv. c om)。 STM32F7簡介 STM32F7是ST公司推齣的第一款基於ARMCo r t ex M7內核的微處理器,具 有6級流水綫、硬件單/雙精度浮點計算單元、 L1I /DCa che、支持F l a sh零等待運行代 碼、支持DSP指令、主頻高達216MHz,實際性能是STM32F4的兩倍;另外,還有 QSPI、 FMC、 TFTLCD控製器、 SAI、 SPDIF、硬件JPEG編解碼器等外設,資源十分 豐富。 套書特色 本套書籍作為學習STM32F7的入門級教材,也是市麵上第一套係統地介紹 STM32F7原理和應用的教材,具有如下特色: 最新。新芯片,使用最新的STM32F767芯片;新編譯器,使用最新的MDK5. 21 編譯器;新庫,基於ST主推的 HAL庫編寫(HAL庫版)代碼,不再使用標 準庫。 最全。書中包含瞭大量例程,基本上STM32F7的所有資源都有對應的實例,每 個實例都從原理開始講解→硬件設計→軟件設計→結果測試,詳細介紹瞭每個 步驟,力求全麵掌握各個知識點。 循序漸進。書本從實驗平颱開始→硬件資源介紹→軟件使用介紹→基礎知識 講解→例程講解,一步一步地學習STM32F7,力求做到心中有數,循序漸進。 由簡入難。書本例程從最基礎的跑馬燈開始→最復雜的綜閤實驗,由簡入難, 一步步深入,完成對STM32F7各個知識點的學習。 無限更新。由於書本的特殊性,無法隨時更新,一旦有新知識點的教程和代碼, 作者都會發布在開源電子網( www. openedv. c om),讀者多關注即可。 套書結構 本套書籍一共分為2個版本,共4本:《 STM32F7原理與應用———寄存器版(上)》、
《 STM32F7原理與應用———寄存器版(下)》、《 STM32F7原理與應用———HAL庫版 (上)》和《 STM32F7原理與應用———HAL庫版(下)》。其中,寄存器版本全部基於寄 存器操作,精簡高效,適閤深入學習和研究;HAL庫版本全部采用HAL庫操作,簡單 易用,適閤快速掌握和使用。上冊詳細介紹瞭實驗平颱的硬件、開發軟件的入門和使 用、新建工程、下載調試和30個基礎例程,並且這30個基礎例程絕大部分都是針對 STM32F7內部一些基本外設的使用,比較容易掌握,也是靈活使用STM32F7的基礎。 對於想入門,或者剛接觸STM32F7的朋友,上冊版本是您的理想之選。下冊則詳細介 紹瞭34/35(寄存器版多瞭綜閤實驗)個高級例程,針對STM32F7內部的一些高級外設 和第三方代碼( FATFS、 Lwi p、 μC/OS和音頻解碼庫等)的使用等做瞭詳細介紹,對學習者要求比較高,適閤對STM32F7有一定瞭解、基礎比較紮實的朋友學習。 本套書籍的結構如下所示:
使用本套書籍 對於時間充足、有過單片機使用經驗、對底層驅動感興趣的朋友,建議選擇寄存器 版本學習。因為它全部是基於最底層的寄存器操作,對學習者要求比較高,需要較多的 時間來掌握,但是學會之後,編寫代碼思路會清晰很多,而且代碼精簡,效率極高。 對於想快速入門、對底層接口興趣不大,專注應用層軟件的朋友,建議選擇 HAL 庫版本學習。因為它的底層驅動,全部由ST官方寫好瞭,讀者隻須學會函數和參數的 使用,就能實現對相關外設的驅動,有利於快速編寫驅動代碼,無須繁瑣地查看寄存器, 容易入門,能有更多的時間來實現應用層的功能。 對於沒有學習過STM32F7的初學者,建議先學習上冊的內容,它對STM32F7的 軟硬件開發環境進行瞭詳細的介紹,從新建工程教起,包括30個STM32F7內部資源 使用的基礎例程,每個例程都有詳細的解說和示例程序,非常適閤初學者入門。 對於有一定單片機編程基礎、對STM32F7有一定瞭解(最好學過本套書籍上冊內 容)、想進一步提高的朋友,推薦學習下冊內容,它對STM32F7的一些高級外設有詳細 介紹和參考代碼,並且對第三方代碼組件也有比較詳細的介紹,非常適閤較大工程的 應用。 緻 謝 感謝北京航空航天大學齣版社,它的支持纔讓本套書籍得以和大傢見麵。 感謝開源電子網的網友,是他們的支持和幫助纔讓我一步一步走瞭下來,其中有一 些朋友(包括周莉、劉勇財、劉海濤、李振勇、羅建、黃樹乾、吳振陽、彭立峰等)還參與瞭
本套書籍的審校和代碼審核工作,特彆感謝:八度空間、春風、 j e r ymy_z、 yyx112358等 網友,他們參與瞭本書的審校工作。是眾多朋友的認真工作,纔使得本套書籍可以較早 地齣版。 由於作者技術水平有限,精力有限,書中難免齣現錯誤和代碼設計缺陷,懇請讀者 批評指正(郵箱: l i u j un6037@f oxma i l. c om)。讀者可以在開源電子網( www. openedv. c om)免費下載到本套書籍的全部源碼,並查看與本套書籍對應的不斷更新的係列 教程。
劉 軍 2017年2月於廣州
前言
作為Co r t ex M係列通用處理器市場的最大占有者, STM32以其優異的性能、超 高的性價比、豐富的本地化教程,迅速占領瞭市場。ST公司自2007年推齣第一款 STM32以來,先後推齣瞭STM32F0/F1/F2/F3/F4/F7等係列産品,涵蓋瞭Co r t ex M0/M3/M4/M7等內核,總齣貨量超過18億顆,是ARM公司Co r t ex M係列內核的 霸主。 STM32F7係列是ST推齣的基於ARMCo r t ex M7內核的處理器,采用6級流 水綫,性能高達5Co r eMa rk/MHz,在200MHz工作頻率下測試數據高達1000Co r e Ma rk,遠超此前性能最高的STM32F4( Co r t ex M4內核)係列(DSP性能超過 STM32F4的兩倍)。 STM32F76x係列(包括STM32F765/767/768/769等),主要有如下優勢: 更先進的內核,采用Co r t ex M7內核,具有16KB指令/數據Ca che,采用ST 獨有的自適應實時加速技術( ARTAc c e l e r a t o r),性能高達5Co r eMa rk/MHz。 更豐 富 的 外 設,擁 有 高 達512KB的 片 內 SRAM,並 且 支 持 SDRAM、帶 TFTLCD控製器、帶圖形加速器( Cho rmeART)、帶攝像頭接口( DCMI)、帶硬 件JPEG編解碼器、帶QSPI接口、帶SAI&I; 2S音頻接口、帶SPDIFRX接口、 USB高速OTG、真隨機數發生器、 OTP存儲器等。 更高的性能, STM32F767最高運行頻率可達216MHz,具有6級流水綫,帶有 指令和數據Ca che,大大提高瞭性能,性能大概是STM32F4的兩倍。而且 STM32F76x自帶瞭雙精度硬件浮點單元( DFFPU),在做DSP處理的時候具有 更好的性能。 STM32F76x係列自帶瞭LCD控製器和SDRAM接口,對於想要驅動大屏或需要 大內存的朋友來說,是個非常不錯的選擇;更重要的是集成瞭硬件JPEG編解碼器,可 以秒解JPEG圖片,做界麵的時候可以大大提高加載速度,並且可以實現視頻播放。本 書將以STM32F767為例,嚮大傢講解STM32F7的學習。 內容特點 學習STM32F767有幾份資料經常用到:《 STM32F7中文參考手冊》、《 STM32F7xx 參考手冊》英文版、《 STM32F7編程手冊》。 其中,最常用的是《 STM32F7中文參考手冊》。該文檔是ST官方針對STM32F74x / 75x的一份中文參考資料,裏麵有絕大部分寄存器的詳細描述,內容翔實,但是沒有實例,也沒有對Co r t ex M7構架進行大多介紹,讀者隻能根據自己對書本的理解來編寫 相關代碼。另外,對STM32F767特有的部分外設(比如硬件JPEG編解碼器、 DFSDM 等),則必須參考《 STM32F7xx參考手冊》英文版來學習。
《 STM32F7編程手冊》文檔則重點介紹瞭Co r t ex M7內核的匯編指令及其使用、 內核相關寄存器(比如SCB、 NVIC、 SYSTICK等寄存器)是《 STM32F7中文參考手冊》 的重要補充。很多在《 STM32F7中文參考手冊》無法找到的內容,都可以在這裏找到 答案,不過目前該文檔沒有中文版本,隻有英文版。 本書將 結 閤 以 上3份 資 料,從 寄 存 器 級 彆 齣 發,深 入 淺 齣 地 嚮 讀 者 展 示 STM32F767的各種功能。總共配有65個實例,基本上每個實例均配有軟硬件設計, 在介紹完軟硬件之後馬上附上實例代碼,並帶有詳細注釋及說明,讓讀者快速理解 代碼。 這些實例涵蓋瞭STM32F7的絕大部分內部資源,並且提供瞭很多實用級彆的程 序,如內存管理、 NANDF l a shFTL、拼音輸入法、手寫識彆、圖片解碼、 IAP等。所有實 例均在 MDK5. 21A編譯器下編譯通過,讀者隻須下載程序到 ALIENTEK阿波羅 STM32開發闆即可驗證實驗。 讀者對象 不管你是一個STM32初學者,還是一個老手,本書都非常適閤。尤其對於初學 者,本書將手把手地教你如何使用 MDK,包括新建工程、編譯、仿真、下載調試等一係 列步驟,讓你輕鬆上手。本書不適用於想通過HAL庫學習STM32F7的讀者,因為本 書的絕大部分內容都是直接操作寄存器的;如果想通過HAL庫學習STM32F7,可看 本套書的HAL庫版本。 配套資料 本書的實驗平颱是ALIENTEK阿波羅STM32F7開發闆,有這款開發闆的朋友 可以直接拿本書配套資料上的例程在開發闆上運行、驗證。而沒有這款開發闆而又想 要的朋友,可以上淘寶購買。當然,如果已有瞭一款自己的開發闆,而又不想再買,也是 可以的,隻要你的闆子上有和ALIENTEK阿波羅STM32F7開發闆上的相同資源(需 要實驗用到的),代碼一般都是可以通用的,你需要做的就隻是把底層的驅動函數(比如 I /O口修改)稍做修改,使之適閤你的開發闆即可。 本書配套資料包括ALIENTEK阿波羅STM32F7開發闆相關模塊原理圖( pd f格 式)、視頻教程、文檔教程、配套軟件、各例程程序源碼和相關參考資料等,所有這些資料 讀者都可以在h t t p: //www. openedv. com/ t hr e ad 13912 1 1. h tml免費下載。
劉 軍 2017年2月於廣州
STM32F7原理與應用 HAL庫版(上) 下載 mobi epub pdf txt 電子書