HAL+M4学习记录_1

news2024/9/29 19:17:34

一、简介

基于Arm® Cortex®-M4的STM32F4 MCU系列采用了意法半导体的NVM工艺和ART Accelerator™,在高达180 MHz的工作频率下通过闪存执行时其处理性能达到225 DMIPS/608 CoreMark,这是迄今所有基于Cortex-M内核的微控制器产品所达到的最高基准测试分数。

这里使用的是F407VET6开发板,该MCU最高工作频率为168MHz。
M4频率
这里选择HAL库开发,HAL固件包目录如下
HAL固件包目录
解压后各文件说明如下

  • Documentation:帮助说明文档
  • Drivers:官方CMSIS库、HAL库以及板级支持包
    Drivers文件夹
  • Middlewares:中间组建
    Middlewares文件夹
  • Projects:官方demo
    Projects文件夹
  • Utilities:实用的公共组件
    Utilities文件夹

CMSIS(Cortex微控制器软件接口标准),是ARM官方设计的驱动包,框图如下
CMSIS框图
具体包括以下文件
CMSIS目录
各文件夹内容介绍如下

  • Core:Cortex-M处理器内核与外设的API,提供了标准化接口
  • Core_A:用于A系列的API
  • DAP:ARM官方下载器固件
  • Documentation:Help文档
  • Device:设备外设访问层文件
  • DSP:DSP库
  • Include:封装了内核方面API
  • NN:神经网络库
  • RTOS:RTX4以及CMSIS-RTOS V1封装层
  • RTOS2:RTX5以及CMSIS-RTOS V2封装层

二、CubeMX平台

CubeMX是图形化开发软件,便于配置时钟、外设、引脚、RTOS和各种中间件

2.1 开发环境搭建

Cortex-M4内核支持JTAG和SWD两种debug接口,虽然支持串口ISP下载程序,但是失败率高。这里选择的开发环境为CubeMX和MDK,使用ST-Link仿真器进行调试。

  • CubeMX安装软件包
    CubeMX安装软件包
  • MDK安装软件包
    MDK软件包安装

2.2 STM32F407

开发板使用的是STM32F407VET6,其硬件框图如下
STM32F407硬件框图

2.3 工程模板创建

这里依次创建如下文件夹,分别存放板级支持包文件,CMSIS文件,HAL库文件,工程文件以及用户文件
模板目录
其中CMSIS文件夹内容如下
CMSIS文件夹
HAL_Drivers文件夹内容直接将HAL软件包中的HAL库文件复制过来,即IncSrc文件夹
HAL库文件夹
Project文件夹里面创建一个MDK_ARM文件夹,用于存放MDK工程文件。
User文件夹里面存放以下文件
User文件夹

2.4 MDK工程创建

MDK_ARM目录下创建MDK工程,然后在工程内创建如下工作区目录
工作区目录
依次添加以下文件到各目录下
工作区目录文件
然后再魔法棒选项中添加头文件包含路径,如下所示
头文件包含路径

三、工程编译下载

编译工程文件,使用STLink调试下载

3.1 MDK编译

魔法棒选项中,选择AC5编译器,注意F407的flash大小为1MB,同时数据手册上memory图也是标注flash为1MB,然而ST官网却标注为512Kb,这里可修改如下
flash设置
设置完毕后即可进行编译下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2177608.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

奖金高达 110 万元,Spatial Joy 2024 全球 AR 应用开发大赛启动

今年是AR应用开发大赛第三届,恰逢Rokid成立十周年,我们推出全新的大赛品牌“Spatial Joy”,引领开发者享受开发乐趣,为其打造充满挑战和惊喜的开发之旅,逐渐成为空间计算时代全球最大AR应用开发大赛。回顾大赛发展&…

MWORKS.Sysplorer 2024b重磅推出同元基础库

一、引言 MWORKS.Sysplorer 是多领域建模与仿真平台,集成了Modelica标准库。该库由Modelica协会开发,是一款开源的通用基础模型库,支持机电、流体、控制等多个专业领域的建模与仿真。随着Modelica标准库的不断发展与更新,目前最新…

自建RustDesk服务器:详细步骤与操作指南

在远程办公和协作日益普及的今天,远程桌面软件成为了不可或缺的工具。然而,许多知名的远程桌面软件,在免费使用一段时间后,会通过限制连接数量、时长或在特定网络环境下的可用性来促使用户付费升级,而且其会员非常昂贵…

第L4周:机器学习|K-近邻算法模型

本文为🔗365天深度学习训练营 中的学习记录博客原作者:K同学啊 任务: ●1. 学习本文的K-邻近算法 ●2. 了解 KNeighborsClassifier 函数 一、基本概念 商业哲学家 Jim Rohn 说过一句话,“你,就是你最常接触的五个人的…

KEIL中出现encountered an improper argument的解决办法

当使用KEIL软件时,有时候会遇见encountered an improper argument的错误提示框。如下图所示: encountered an improper argument翻译为:遇到不恰当的争论。出现该错误的原因一般有以下几种: 1、在我们在调试完结束时候&#xff0c…

跨学科数字教学知识库的建设挑战与解决方案

随着知识经济的不断发展和教育改革的深入,跨学科教学逐渐成为培养具有综合素质和创新能力的关键途径。在这一背景下,搭建跨学科数字教学知识库显得尤为重要。然而,跨学科知识的复杂性和多样性给知识库的建设带来了诸多挑战。本文旨在探讨这些…

JAVA毕业设计185—基于Java+Springboot+vue3+小程序的校园网上商店小程序系统(源代码+数据库)

毕设所有选题: https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootvue3小程序的校园网上商店小程序系统(源代码数据库)185 一、系统介绍 本项目前后端分离(可以改为ssm版本),分为用户、商家、管理员三种角色 1、用户…

体验通义灵码高阶能力:代码生成增强

通义灵码提供了基于企业代码库进行行间代码生成检索增强的能力,在开发者使用通义灵码 IDE 插件的行间代码生成时,可以结合企业上传的代码库作为上下文进行行间代码补全,使代码补全更加贴合企业代码规范、业务特点。 开通通义灵码企业版&#…

C语言:排序(1)

目录 一、排序的概念及应用 排序的概念 排序的运用 二、常见排序算法 插入排序 基本思想 直接插入排序 希尔排序( 缩小增量排序 ) 选择排序 基本思想 堆排序 一、排序的概念及应用 排序的概念 排序:所谓排序,就是使一串记录,按照…

【MySQL实战45讲3】事务隔离

文章目录 事务事务四大特性(ACID) 隔离级别可重复读的使用场景可重复读隔离级别的实现 事务 事务就是要保证一组数据库操作,要么全部成功,要么全部失败。在MySQL中,事务支持是在引擎层实现的。MySQL是一个支持多引擎的…

EasyCVR智慧公园视频智能管理方案:赋能公园安全管理新高度

随着城市化进程的加速,智慧城市建设已成为提升城市管理效率、增强居民生活质量的重要途径。智慧公园作为智慧城市的重要组成部分,其安全与管理水平直接影响着市民的休闲娱乐体验。EasyCVR智慧公园视频智能管理方案,正是基于这一背景应运而生&…

android锁屏界面userActivity自动息屏深入剖析

背景: 近来有有个学员朋友在锁屏画面自动息屏有一些疑问求助马哥这边,大致情况描述如下: 问题1、锁屏画面不停的点击触摸发现锁屏画面会一直常亮,这里他知道锁屏这个window比较特殊,正常其他window在InputDispatcher…

nvm 安装node 报错

Could not retrieve https://npm.taobao.org/mirrors/node/latest/SHASUMS256.txt. Get "https://npm.taobao.org/mirrors/node/latest/SHASUMS256.txt": tls: failed to verify certificate: x509: certificate is valid for *.tbcdn.cn 原因认证过期, 查看nvm安装…

城市大脑:智慧城市的神经中枢——典型实践与经验启示

随着信息技术的飞速发展,智慧城市已成为全球城市转型升级的重要方向。“城市大脑”作为智慧城市的核心引擎,正以其强大的数据处理能力、智能决策支持和跨领域协同优势,引领着城市管理与服务的深刻变革。本文将深入探讨几个具有代表性的“城市…

Sql Developer日期显示格式设置

默认时间格式显示 设置时间格式:工具->首选项->数据库->NLS->日期格式: DD-MON-RR 修改为: YYYY-MM-DD HH24:MI:SS 设置完格式显示:

【2024最新】华为HCIE认证考试流程

HCIE是华为认证体系中最高级别的ICT技术认证,表示通过认证的人具有ICT领域专业知识和丰富实践经验。 HCIE认证方向:最高认证级别HCIE的技术方向有13个 下面以HCIE-Datacom为例给大家介绍一下: HCIE-Datacom认证考试流程: 1.笔试…

PCL 读取并显示obj网格模型

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.2完整代码 三、实现效果 PCL点云算法汇总及实战案例汇总的目录地址链接: PCL点云算法与项目实战案例汇总(长期更新) 一、概述 本文将介绍如何使用PCL库读…

高级算法设计与分析 学习笔记10 平摊分析

动态表,可以变长。 一溢出就另起一个两倍大小的表。 可以轻易证明把n个数字放进去的时间复杂度是O(n),n n/2 n/4……也就2n,插入数字本身也就是n,加起来最多不超过3n. 这种复杂度究竟是怎么算的?毕竟每次插入复杂度…

visual studio2022添加新项中没有html和css

目录 背景解决过程vs版本正常新建项的方式添加工作负荷添加Node.js开发找到工作负荷的方式 知识扩展与总结工作负荷Web开发在Visual Studio中的特殊性添加或修改工作负荷的步骤 背景 重装的vs2022,开发c#项目,但是打开发现添加新项中没有html,也没有css…

7.3树形查找

7.3.1二叉排序树 1.定义 目的:提供查找删除,插入关键字的速度 二叉排序树的特性: 左子树<根节点<右子树左右字数也分别是一棵二叉树 对二叉排序树进行中序遍历,可以得到一个递增的有序序列 2.二叉排序树的查找 查找从根节点开始,沿分支逐层向下比较的过程 二叉排序…