前言
此次基本工程使用的芯片为STM32H743IIT6
Keil和CubeMX以及H7硬件支持包自行在网上搜索下载,都下最新版即可。
这里提供一个下载H7硬件支持包的网址:ARM
在这里我们会从零开始(除了下载安装),配置一个完整的方便管理的H7基本工程,下面是基本工程要达到的目标:
1.配置好内存保护单元
2.建立相应文件夹便于管理
3.可以正常使用串口进行外部调试
4.配置好DSP库
CubeMX基本配置
第一步:选择芯片
1.从搜索框中搜索“STM32H743IIT6”双击即可。
2.这里说的是强烈建议内核为M7的设备预先配置内存保护单元(MPU),是否应用此类默认配置?
由于我们这里是从零开始的配置,并且默认配置也并不是我们所希望的那样,所以我们这里就选择“否”。
第二步:配置时钟
1.点击左边栏RCC,高速时钟和低速时钟都选择外部时钟晶振。
2.配置时钟树,直接配置为最大主频480MHz即可,后面的APB和AHB总线也可以达到最大频率。
第三步:配置DEBUG调试
选择使用通信线最少的串行线模式。
第四步:生成工程文件
1. Project
这里根据下图配置即可。
工程结构:推荐选择Advanced,更方便管理工程。
堆栈设置:需要修改堆栈必须在这修改,不然每次重新生成工程堆栈都会恢复,这里保持默认堆栈设置就好。
下面是两个结构的区别:
Basic结构:
Advanced结构:
2.Code Generator
对应图片配置完成后,点击右上角GENERATE CODE生成代码。
工程文件管理
Drivers文件夹管理
打开工程文件,在Drivers文件夹下面新建如下几个文件(仅仅是我的习惯):
BSP:存放与硬件板卡相关的板载级别驱动。
DSP:存放与数字信号处理相关的算法和函数(个人习惯)。
MODULE:存放外部模块或组件的驱动程序。
SYSTEM:存放系统级别的驱动和功能,例如头文件管理、SysTick定时器、中断管理以及各种延时等等。
并且在每一个新建的文件夹当中再新建两个文件夹,分别命名为“Src”和“Inc”用于存放.c和.h文件:
接着我们打开Keil5中的小方块,根据刚刚新建的文件夹,在组管理这里添加进去,点击OK,就可以在侧边栏中看到新建的几个文件。
接下来就是要添加头文件的链接了,跟着图片操作即可:
魔术棒配置
这里只配置我认为必要的,往后遇到一些问题可以再自行搜索更改某些配置。
"Target"
ARM Compiler(ARM编辑器): 由于博主安装的是V5.39版本的Keil,所以默认安装的编辑器已经是AC6了,而且也比较推荐使用AC6去编译。
Floating Point Hardware(硬件浮点加速): H7是有双精度硬件浮点型加速功能的,我们直接选择其即可。
IROM(内部永久内存)/IRAM(内部暂存内存): 这里指的都是片上(on-chip)的内存,H7的Flash首地址为0x8000000,大小是0x200000,即2MB;H7的片上RAM分为了很多个部分,这个我们后面再讲,默认的RAM内存选择DTCM,首地址0x2000 0000,大小0x20000,即128KB,还有AXI SRAM的内存,首地址是0x2400 0000,大小0x80000,即512KB。
"C/C++"
Define(宏): 复制后面的整段代码上去即可USE_HAL_DRIVER,STM32H743xx,ARM_MATH_MATRIX,ARM_MATH_LOOPUNROLL,ARM_MATH_CM7,DATA_IN_ExtSDRAM,USE_PWR_LDO_SUPPLY
Optimization(优化等级): 我一般习惯选择最大优化。再勾上后面的优化时间Link-Time Optimization。
Include Paths(包含路径): 上面Drivers文件夹管理中已经配置过了,不记得的可以返回去看看。
"Debug"
选择好自己的烧录器后,就直接进入Setting设置烧录器选项:
扳手
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |