10.新建工程—库函数版—[野火]STM32HAL库开发实战指南——基于野火F7与H7系列开发板文档

[野火]STM32HAL库开发实战指南-F7与H7系列

贡献与投稿

常见问题

·CPU:STM32F767IGT6·主频:216M

了解STM32的HAL库文件之后,我们就可以使用它来建立工程了,因为用库新建工程的步骤较多,我们一般是使用库建立一个空的工程,作为工程模板。以后直接复制一份工程模板,在它之上进行开发。

版本说明:MDK5.15(MDK即KEIL软件)

版本号可从MDK软件的“Help–>AboutuVision”选项中查询到。

教程文档用的是F767的配置,芯片配置可按板子所选

为了工程目录更加清晰,我们在本地电脑上新建一个“工程模板”文件夹,在它之下再新建6个文件夹,具体如下:

表111工程目录文件夹清单

名称

作用

Doc

用来存放程序说明的文件,由写程序的人添加

Libraries

存放的是库文件

Listing

存放编译器编译时候产生的C/汇编/链接的列表清单

Output

存放编译产生的调试信息、hex文件、预览信息、封装库等

Project

用来存放工程

User

用户编写的驱动文件

图111工程文件夹目录

在本地新建好文件夹后,把准备好的库文件添加到相应的文件夹下:

表112工程目录文件夹内容清单

工程说明.txt

CMSIS:里面放着跟CM7内核有关的库文件

STM32F7xx_HAL_Driver:STM32外设库文件

暂时为空

stm32f7xx_hal_conf.h:用来配置库的头文件

main.c:main函数文件

打开KEIL5,新建一个工程,工程名根据喜好命名,我这里取LED-LIB,保存在ProjectRVMDK(uv5)文件夹下。

图112在KEIL5中新建工程

这个根据你开发板使用的CPU具体的型号来选择,M7挑战者选STM32F767IGT型号。如果这里没有出现你想要的CPU型号,或者一个型号都没有,那么肯定是你的KEIL5没有添加device库,KEIL5不像KEIL4那样自带了很多MCU的型号,KEIL5需要自己添加,关于如何添加请参考《如何安装KEIL5》这一章。

图113选择具体的CPU型号

等下我们手动添加库文件,这里我们点击关掉。

图114库文件管理

在新建的工程中添加5个组文件夹,用来存放各种不同的文件,文件从本地建好的工程文件夹下获取,双击组文件夹就会出现添加文件的路径,然后选择文件即可。

表113工程内组文件夹内容清单

STARTUP

存放汇编的启动文件:startup_STM32F767xx.s

STM32F7xx_HAL_Driver

stm32f7xx_hal.c

stm32f7xx_hal_ppp.c(ppp代表外设名称)

USER

用户编写的文件:

main.c:main函数文件,暂时为空

stm32f7xx_it.c:跟中断有关的函数都放这个文件,暂时为空

DOC

工程说明.txt:程序说明文件,用于说明程序的功能和注意事项等

图115如何在工程中添加文件夹

先把上面提到的文件从STHAL库中复制到工程模版对应文件夹的目录下,然后在新建的工程中添加这些文件,双击组文件夹就会出现添加文件的路径,然后选择文件即可。

图116如何在工程中添加文件

图117设置文件是否加入编译

这一步的配置工作很重要,很多人串口用不了printf函数,编译有问题,下载有问题,都是这个步骤的配置出了错。

图118添加微库

图119配置Output选项卡

图1110配置Listing选项卡

图1111配置C/C++选项卡

在这个选项中添加宏,就相当于我们在文件中使用“#define”语句定义宏一样。在编译器中添加宏的好处就是,只要用了这个模版,就不用源文件中修改代码。

“IncludePaths”这里添加的是头文件的路径,如果编译的时候提示说找不到头文件,一般就是这里配置出了问题。你把头文件放到了哪个文件夹,就把该文件夹添加到这里即可。(请使用图中的方法用文件浏览器去添加路径,不要直接手打路径,容易出错)

本书使用的仿真器是Fire-Debugger,可下载和仿真程序。Fire-Debugger支持XP/WIN7/WIN8/WIN10这几个操作系统,无需安装驱动,免驱,使用非常方便,具体配置见如下图。

图1112Debug中选择CMSIS-DAPDebugger

图1113Utilities选择UseDebugDriver

图1114Settings选项配置

这一步的配置也不是配置一次之后完事,常常会因为各种原因需要重新选择,当你下载的时候,提示说找不到Device的时候,请确保该配置是否正确。有时候下载程序之后,不会自动运行,要手动复位的时候,也回来看看这里的“ResetandRun”配置是否失效。M7挑战者用的STM32的FLASH大小是1M,所以这里选择1M的容量,如果使用的是其他型号的,要根据实际情况选择。

图1115选择芯片型号

一个新的工程模版新建完毕。

下面对各个版本的差异进行讲解,除以下提到的差异外,工程的其它内容完全一致,在实际操作时请注意切换版本后进行配置。

在C/C++选项配置中的部分宏和代码优化等级是不一样的,其中代码优化等级通常根据自身的需要调整,此处不进行整理。具体见下图和表格。

THE END
1.书店购书渠道有哪些,专业研究解释定义pack35.40.64摘要:书店购书渠道包括实体书店、在线书店以及第三方购书平台等。实体书店提供纸质书籍的直观挑选和购买体验,在线书店则提供便捷的网络购书服务,第三方购书平台则整合众多书源供消费者选择。关于专业研究解释定义方面,不同领域的研究者通过深入研究特定主题或概念,给出具体、精确的解释和定义,帮助人们更准确地理解相关知识和http://www.hbpdxcl.com/post/44994.html
2.免费咨询在线知识付费系统,为何收费如此低廉?随着在线教育和知识付费市场的不断发展,在线教育机构以及独立教师正面临更多的机会和挑战。为了应对这些机遇与挑战,很多教育和培训领域的从业人员开始采用各种策略来提高自己的课程收益和市场曝光率,其中一种有效的方法便是运用在线知识付费系统。尽管市面上有许多付费的在线教育解决方案,但低成本的甚至是免费的选项也引起https://blog.csdn.net/mokeycourse/article/details/144313218
3.免费资源网站推荐:让你在网上找到最值得收藏的免费工具和资源对于语言学习者,“Duolingo”是一个非常受欢迎的免费学习工具,它通过游戏化的方式帮助用户提高语言能力。无论是英语、法语、日语,还是西班牙语等,Duolingo都能提供非常系统的学习内容。而像“Open Culture”这种网站,不仅提供免费的在线课程,还有大量免费的电子书和音频课程,帮助你利用空闲时间提升自我。 http://www.tiba.vip/tbgl/5222121.html
4.AppleDiscover the innovative world of Apple and shop everything iPhone, iPad, Apple Watch, Mac, and Apple TV, plus explore accessories, entertainment, and expert device support.https://www.apple.com/
5.Dart在线运行,dart在线编译Dart教程 - Dart在线运行,dart在线编译http://dart.jsrun.net/
6.电脑词典O光盘库,光盘存储库 Optical Libraries 光盘库系统的设计是为了将通常存储在微缩胶卷或纸张上的数据存储到可以被网络用户快速访问的联机设备上。一个光盘库也可以提供磁带后援系统,或在一个层次式管理系统(HMS)中作为将文件迁移到磁带上的中间存储设备。在一个HMS系统中,较少使用的文件,或已经标记为迁移的文件将从磁盘http://www.360doc.com/content/07/0410/15/9787_440144.shtml
7.蓝湖—支持自动标注切图共享Symbol的产品设计协作神器蓝湖是一款高效的产品设计协作工具,支持自动标注、自动生成切图、共享Symbol、设计图在线评论、设计图历史版本管理、快速制作原型等,大大提高了设计师、产品经理、工程师之间的协作效率。 蓝湖同时支持: ①Mac和Windows双系统 ②PS和Sketch 而且目前所有功能都是免费的! https://sspai.com/post/42166
8.TheOnlineBooksPageThe Online Books Page Listing over 3 million free books on the Web - Updated Friday, December 13, 2024 BOOKS ONLINE NEWS FEATURES ARCHIVES AND INDEXES THE INSIDE STORYhttp://onlinebooks.library.upenn.edu/
9.bookstoreadandmorestudentsfromfriendsandlibrariesI find books to read and more students from friends and libraries, download or read online as well as in school reading fewer students in the reading room, 翻译结果4复制译文编辑译文朗读译文返回顶部 I found that buying a book and read from a friend or libraries of many students, and downloahttp://eyu.zaixian-fanyi.com/fan_yi_7244776
10.libraries是什么意思libraries在线翻译英语读音用法例句libraries 基本词汇 英['la?br?ri]美['la?breri] n.图书馆;藏书;书房 Created with Highcharts 3.0.2释义常用度分布图海词统计 图书馆 藏书 书房 名词复数:libraries library的英文翻译是什么意思,词典释义与在线翻译: 详尽释义 n.(名词) 文库,书库http://dict.cn/libraries
11.libraries是什么意思libraries在线翻译读音用法例句含义libraries n.图书馆( library的名词复数 );图书室 网络函数库;元件库;图书馆事业;间图书馆 双语例句 1 . It seems a false economy to me to cut down onlibraries. 在我看来,减少图书馆的数量并不是真正的节约。 来自柯林斯例句 2 . I turned to bookshops andlibrariesseeking information and found nonehttps://www.chazidian.com/dict/w/libraries/
12.Id教程:CCLibraries真好用!以及色彩理论!视频在线观看这次介绍一个在所有 Adobe 软件里都可以使用的功能:CC Libraries。因为从 Adobe Color 这个网站上可以一键添加颜色入库(CC Libraries),很方便!所以后半部分给出了一些选色上的小建议。希望对大家有帮助吧~https://www.56.com/u33/v_MTU5NTUxNDE0.html
13.《GettingStartedwithLLVMCoreLibraries》(BrunoCardoso《Getting Started with LLVM Core Libraries》(Bruno Cardoso Lopes,Rafael Auler)内容简介:This book is intended for enthusiasts, computer science students, and compiler engineers interested https://e.jd.com/30370568.html
14.LibrariesBuriesLiesJayzik高音质在线试听酷狗音乐为您提供由Jayzik演唱的高清音质无损Libraries Buries Liesmp3在线听,听Libraries Buries Lies,只来酷狗音乐!https://www.kugou.com/mixsong/jx5tibd.html
15.AndroidStudio导入ExternalLibraries腾讯云开发者社区拷贝gson-2.3.1.jar(gson-2.3.1.jar为例)到 app/libs 目录下 在app/build.gradle的 dependencies 中增加一行:compile files('libs/gson-2.3.1.jar') 在线导入Libraries File > Project Structure > Dependencies Tab > (+号)Add library dependency https://cloud.tencent.com/developer/article/1352772
16.文库构建(siRNALibraries)分子生物学服务技术服务商家询价 产品名称: siRNA 文库构建(siRNA Libraries) 英文名称: 产品编号: 产品价格: 0 产品产地: null 品牌商标: null 更新时间: null 使用范围: null 上海吉玛制药技术有限公司 联系人 : 地址:浦东张江哈雷路1011号602 邮编:201203 所在区域 :上海 https://www.bioon.com.cn/server/Show_product.asp?id=403
17.LibrariesSuite10.5或更高版本》.pdf文档全文免费阅读在线看免费在线预览全文 《Agilent IO Libraries Suite10.5 或更高版本》.pdf Agilent IO Libraries Suite 15.0 或更高版本 用于安捷伦化学工作站 B.04.02 版或更高版本的安 装和配置说明 IO Libraries Suite 15.0 Agilent Technologies 注意 ? 安捷伦科技有限公司, 2004-2009, 声明 安全警告 2010 本书内容如有改变,恕https://max.book118.com/html/2015/1021/27706411.shtm
18.jQueryjQuery: The Write Less, Do More, JavaScript Libraryhttps://jquery.com/
19.GitHubNote that this is not a standard feature for all JWTs - only JWEs - and is not likely to be supported by other JWT libraries for non-JWE tokens. JJWT supports compression for both JWSs and JWEs, however. Please see the main Compression section to see how to compress and decompress http://www.jsonwebtoken.io/
20.剑桥雅思12Test5Section3听力答案解析PaperonPublicLibraries对应原文:Maybe we should concentrate on this country, and try and relate the changes in libraries to external developments 答案解析:原文中提到,论文主题应该集中于这个国家,然后将图书馆中的变化与外界的发展联系起来。因此确定B为正确答案。A选项错在different countries,而C选项则被女生否定。 https://www.eol.cn/waiyu/news/20230712158278.html
21.英语四级作文(精选46篇)In conclusion, online libraries are one of the greatest inventions in this modern world. We can not only enhance the efficiency of acquiring information and knowledge but also enjoy the technological innovation. 在线图书馆越来越受欢迎。越来越多的人通过手机和电脑阅读书籍和查阅所需内容,以供研究。 https://www.ruiwen.com/zuowen/qitaleiyingyuzuowen/6421925.html