STM32F7原理与应用—HAL库版(下)
本套书籍以ST公司的STM32F767为目标芯片,详细介绍了STM32F7的特点、片内外资源的 使用,并辅以64个(寄存器版本是65个)例程,由浅入深地介绍了STM32F7的使用。所有例程都经 过精心编写,从原理开始介绍,到代码编写、下载验证,一步步教读者如何实现。所有源码都配有详细 注释,且经过严格测试。另外,源码有生成好的hex文件,读者只需要通过仿真器下载到开发板即可 看到实验现象,亲自体验实验过程。 套书总共分为4册:
《 STM32F7原理与应用———寄存器版(上)》、《 STM32F7原理与应用———寄存 器版(下)》、
《 STM32F7原理与应用———HAL库版(上)》和《 STM32F7原理与应用———HAL库版(下)》。 本书为《 STM32F7原理与应用———HAL库版(下)》,共34章,通过34个高级实验例程,带领大 家深入了解STM32F7的使用。对于没有学过STM32的初学者,强烈建议先阅读上册内容,再来学 习本书内容。 本书适合STM32F7初学者学习参考,对有一定经验的电子工程技术人员也具有参考价值。本 书也可以作为高等院校电子、通信、计算机、信息等相关专业的教学参考用书。
- 外设使用难题:针对STM32F7高级外设(如LTDC、DMA2D、SAI等)提供详细原理讲解和HAL库例程,解决不知如何配置和使用的困惑。
- 代码编写障碍:通过34个由浅入深的实验例程,从原理到代码实现,帮助读者克服编程中的常见错误和调试困难。
- 学习路径迷茫:明确建议先读上册,再学下册,避免初学者因基础不牢而难以理解高级功能。
- 实战经验缺乏:每个例程附有生成好的hex文件,读者可直接下载验证,快速积累实际项目经验。
- 资源查找困难:作者基于两年研究经验,汇总常见bug和解决方案,减少读者在官方文档和网络上的摸索时间。
★★★
中级
入门初级中级进阶高级
- STM32初学者:已掌握上册基础,希望深入STM32F7高级功能,提升实际开发能力。
- 嵌入式工程师:需要快速上手STM32F7的HAL库开发,用于项目研发或产品迭代。
- 电子相关专业学生:作为课程设计或毕业设计的参考,通过例程加深对嵌入式系统的理解。
- 电子爱好者:对STM32F7感兴趣,想通过具体实验探索其高性能外设。
- 先修基础:务必先完成上册学习,熟悉HAL库基本外设(GPIO、串口、中断等)的使用。
- 按序阅读:建议按章节顺序学习,因为每个实验可能依赖前序实验的配置或知识。
- 动手实践:每章例程需亲自下载到开发板运行,观察现象,并尝试修改代码参数。
- 重点章节:LTDC、DMA2D、以太网和FreeRTOS是难点,可多花时间研读。
- 结合文档:遇到问题时,配合ST官方参考手册和HAL库源码进行深入理解。
- 外设精通:掌握STM32F7高级外设的原理与HAL库配置方法,能够独立编写驱动。
- 实战能力:通过34个实验,积累丰富的调试技巧和项目开发经验。
- 系统思维:理解复杂嵌入式系统的模块化设计,学会整合多种外设实现综合功能。
- 资源利用:学会查阅官方文档和网络资源,自主解决开发中的常见问题。
- 性能优化:了解DMA2D、Cache等机制,提升代码效率和系统性能。
📖 书籍简介
内容简介
前言/序言
套书前言
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年5月于广州
前 言
作为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年5月于广州
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年5月于广州
前 言
作为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年5月于广州
📑 章节目录
- STM32F7 HAL库开发基础回顾
- LTDC液晶显示控制器实验
- DMA2D图形加速器实验
- SAI音频接口实验
- SPDIF数字音频接收实验
- 硬件JPEG编解码器实验
- QSPI Flash读写实验
- FMC扩展SRAM实验
- 以太网通信实验
- USB主机与设备实验
- 摄像头接口DCMI实验
- 高级定时器与PWM输出实验
- 低功耗模式与唤醒实验
- FreeRTOS操作系统移植与多任务实验
- 综合项目实战:音频播放器设计