Makefile+OpenOCD开发STM32

准备工作

平台:Windows11(Linux,MAC同理)

编译链(arm-none-eabi-gcc):Downloads | GNU Arm Embedded Toolchain Downloads – Arm Developer

下载对应平台工具链并添加到环境变量,使用arm-none-eabi-gcc -v查看是否准备就绪

OpenOCD:Download OpenOCD for Windows (gnutoolchains.com)


生成工程

使用STM32CubeMX生成工程,生成方法

重点重点重点:生成代码时Toolchain/IDE选择Makefile


编译

在生成工程的根目录会看到Makefile文件,在根目录打开终端并输入如下命令:

make -j12

打印空间信息即编译成功,否则日志中会报错

arm-none-eabi-size build/STM32H743.elftext    data     bss     dec     hex filename22908      24    2464   25396    6334 build/STM32H743.elf

下载

参考命令如下:

openocd.exe -f "interface/cmsis-dap.cfg" -f "target/stm32h7x.cfg" -c "program STM32H743-2740.hex" -c reset -c shutdown

配置文件在OpenOCD\share\openocd\scripts下可找到,第一个是调试器的配置文件,第二个是芯片的配置文件,可以合二为一

第三个是上一节编译出的hex文件

-c reset是下载成功后复位芯片

-c shutdown是执行完成后退出OpenOCD

成功日志如下:

PS D:\OpenOCD-20231002-0.12.0\bin> .\openocd.exe -f "cmsis-dap.cfg" -f "stm32h7x.cfg" -c "program STM32H743-2740.hex" -creset -c shutdown
Open On-Chip Debugger 0.12.0 (2023-10-02) [https://github.com/sysprogs/openocd]
Licensed under GNU GPL v2
libusb1 09e75e98b4d9ea7909e8837b7a3f00dda4589dc3
For bug reports, readhttp://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "swd". To override use 'transport select <transport>'.
Info : CMSIS-DAP: SWD supported
Info : CMSIS-DAP: JTAG supported
Info : CMSIS-DAP: Atomic commands supported
Info : CMSIS-DAP: FW Version = 2.0.0
Info : CMSIS-DAP: Interface Initialised (SWD)
Info : SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 1 TDO = 1 nTRST = 1 nRESET = 0
Info : CMSIS-DAP: Interface ready
Info : clock speed 1800 kHz
Info : SWD DPIDR 0x6ba02477
Info : [stm32h7x.cpu0] Cortex-M7 r1p1 processor detected
Info : [stm32h7x.cpu0] target has 8 breakpoints, 4 watchpoints
Info : gdb port disabled
Info : starting gdb server for stm32h7x.cpu0 on 3333
Info : Listening on port 3333 for gdb connections
[stm32h7x.cpu0] halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x080002b0 msp: 0x24000508
** Programming Started **
Info : Device: STM32H74x/75x
Info : flash size probed value 2048k
Info : STM32H7 flash has dual banks
Info : Bank (0) size is 1024 kb, base address is 0x08000000
Info : Padding image section 0 at 0x080038cc with 20 bytes (bank write end alignment)
Warn : Adding extra erase range, 0x080038e0 .. 0x0801ffff
** Programming Finished **
shutdown command invoked

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

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

相关文章

springboot+poi-tl根据模板导出word(含动态表格和图片),并将导出的文档压缩zip导出

springbootpoi-tl根据模板导出word&#xff08;含动态表格和图片&#xff09; 官网&#xff1a;http://deepoove.com/poi-tl/ 参考网站&#xff1a;https://blog.csdn.net/M625387195/article/details/124855854 pom导入的maven依赖 <dependency><groupId>com.dee…

hcie数通和云计算选哪个好?

1. 基础知识与技能要求 数通技术是网络技术的核心&#xff0c;它涉及到网络协议、路由交换、网络安全等多个方面。如果你是一名网络工程师或开发者&#xff0c;想要在数通领域有所建树&#xff0c;你需要具备扎实的基础知识和丰富的实战经验。 云计算则更注重于虚拟化、存储、网…

基于openCV实现的单目相机行人和减速带检测

概述 在计算机视觉项目中&#xff0c;相机标定是一项至关重要的任务&#xff0c;因为它可以校正相机内部参数&#xff0c;消除因镜头畸变等因素导致的图像失真&#xff0c;从而提高后续图像处理和分析的精度。在这个项目中&#xff0c;相机标定的核心功能集成在名为calibratio…

redis的安装与string类型

1. redis的安装 1.1 升级gcc版本 因为centos7.x的gcc版本还是4.8.5&#xff0c;而编译指定的版本是需要5.3以上。 环境部署与安装scl源 yum install gcc cmake -y --部署安装环境 yum install centos-release-scl scl-utils-build -y --安装scl源 安装gcc新版本 yum -y ins…

还原wps纯粹的编辑功能

1.关闭稻壳模板&#xff1a; 1.1. 启动wps(注意不要乱击稻壳模板&#xff0c;点了就找不到右键菜单了) 1.2. 在稻壳模板选项卡右击&#xff1a;选不再默认展示 2.关闭托盘中wps云盘图标&#xff1a;右击云盘图标/同步与设置&#xff1a; 2.1.关闭云文档同步 2.2.窗口选桌面应用…

Vue2+ElementUI表单、Form组件的封装

Vue2ElementUI表单、Form组件的封装 &#xff1a;引言 在 Vue2 项目中&#xff0c;ElementUI 的 el-form 组件是常用的表单组件。它提供了丰富的功能和样式&#xff0c;可以满足各种需求。但是&#xff0c;在实际开发中&#xff0c;我们经常会遇到一些重复性的需求&#xff0c…

16.WEB渗透测试--Kali Linux(四)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;15.WEB渗透测试--Kali Linux&#xff08;三&#xff09;-CSDN博客 1.crunch简介与使用 C…

分布式CAP理论

CAP理论&#xff1a;一致性&#xff08;Consistency&#xff09;、可用性&#xff08;Availability&#xff09;和分区容错性&#xff08;Partition tolerance&#xff09;。是Eric Brewer在2000年提出的&#xff0c;用于描述分布式系统基本性质的定理。这三个性质在分布式系统…

SQLZoo:SELECT from WORLD Tutorial/zh

name continent area population gdp Afghanistan Asia 652230 25500100 20343000000 Albania Europe 28748 2831741 12960000000 … name:國家名稱 continent:洲份 area:面積 population:人口 gdp:國內生產總值 Country Profile 在這教程中&#xff0c;我們會使用SELECT語句&…

python pytest 最简单的接口自动化测试框架

最近由于工作的原因&#xff0c;需要开发一个接口自动化测试框架&#xff0c;使用pytest框架、数据驱动&#xff0c;并展示直观的测试报告。 具体的开发过程如下&#xff1a; 安装必要的库&#xff1a; pytest&#xff1a;用于编写和运行测试用例。requests&#xff1a;用于发…

FPGA静态时序分析与约束(一)、理解亚稳态

系列文章目录 FPGA静态时序分析与约束&#xff08;二&#xff09;、时序分析 FPGA静态时序分析与约束&#xff08;三&#xff09;、读懂vivado时序报告 文章目录 系列文章目录前言一、概述一、何为亚稳态&#xff1f;二、图解亚稳态三、什么时候亚稳态会导致系统失效&#xff…

Jsch实践(三):如何使用Jsch的ChannelShell类,在远程服务器上执行脚本命令?

如何使用Jsch的ChannelShell类&#xff0c;在远程服务器上执行脚本命令 要使用JSch的ChannelShell类在远程服务器上执行脚本命令&#xff0c;你需要创建一个shell通道&#xff0c;然后向这个通道的输入流发送命令&#xff0c;并读取输出流来获取命令的响应。下面是一个示例代码…

k8s部署hadoop

&#xff08;作者&#xff1a;陈玓玏&#xff09; 配置和模板参考helm仓库&#xff1a;https://artifacthub.io/packages/helm/apache-hadoop-helm/hadoop 先通过以下命令生成yaml文件&#xff1a; helm template hadoop pfisterer-hadoop/hadoop > hadoop.yaml用kube…

apache和tomcat的优化总结概述

一. tomcat 的优化 Tomcat 作为一款广泛使用的 Java Web 应用服务器&#xff0c;其性能优化可以从以下几个方面进行&#xff1a; ① 内存配置优化&#xff1a; 调整JVM堆内存大小&#xff08;-Xms和-Xmx参数&#xff09;&#xff0c;以确保Tomcat在处理大量并发请求时有足够…

Unity PS5开发 天坑篇 之 申请开发者与硬件部署01

腾了好几天终于把PS5开发机调试部署成功, 希望能帮到国内的开发者, 主机游戏PlayStation/Nintendo Switch都是比较闭塞的&#xff0c;开发者账号是必须的。 开发环境有两个部分&#xff0c;一是DEV Kit 开发机, TEST Kit测试机两部分组成&#xff0c;二是Unity的支持库(安装后…

vue3 ref 和 reactive 区别

Vue 3 引入了两种新的响应式 API&#xff1a;ref 和 reactive。这两个 API 都用于创建响应式数据&#xff0c;但它们的使用场景和行为有所不同。 ref 用途&#xff1a;ref 用于创建基本数据类型的响应式引用&#xff0c;如字符串、数字、布尔值等。 使用方式&#xff1a;在模…

最新开源解密版TwoNav网址导航系统源码

源码简介 2024最新开源解密版TwoNav网址导航系统源码去授权破解版 内置二十多套主题模板。 已去授权&#xff0c;最新开源解密版。TwoNav 是一款开源的书签&#xff08;导航&#xff09;管理程序&#xff0c;使用PHP SQLite 3开发&#xff0c;界面简洁&#xff0c;安装简单&…

FFmepg--音频编码流程--pcm编码为aac

文章目录 基本概念流程apicode(核心部分) 基本概念 从本地⽂件读取PCM数据进⾏AAC格式编码&#xff0c;然后将编码后的AAC数据存储到本地⽂件。 PCM样本格式&#xff1a;未经压缩的⾳频采样数据裸流 参数&#xff1a; Sample Rate : 采样频率Sample Size : 量化位数Number o…

Matlab进阶绘图第45期—蝴蝶气泡图

蝴蝶气泡图是一种特殊的柱泡图/气泡柱状图。 蝴蝶图一般由左右两个水平柱状图组合而成&#xff0c;其形如蝴蝶展翅&#xff0c;可以很直观地展示两种数据直接的差异。 而蝴蝶气泡图则是在两个水平柱状图每根柱子外侧额外添加大小不同的气泡&#xff0c;用于表示另外一个数据变…

使用IDEA2023创建传统的JavaWeb项目并运行与调试

日期:2024-0312 作者:dusuanyun 文档环境说明: OS:Deepin 20.9(Linux) JDK: OpenJDK21 Tomcat:10.1.19 IDEA: 2023.3.4 (Ultimate Edition) 本文档默认已经安装JDK及环境变量的配置。 关键词…