码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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
    
    • 1

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

    arm-none-eabi-size build/STM32H743.elf
       text    data     bss     dec     hex filename
      22908      24    2464   25396    6334 build/STM32H743.elf
    
    • 1
    • 2
    • 3

    下载

    参考命令如下:

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

    配置文件在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" -c
     reset -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, read
            http://openocd.org/doc/doxygen/bugs.html
    Info : auto-selecting first available session transport "swd". To override use 'transport select '.
    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
  • 相关阅读:
    行业解密:为什么跨境电商行业都在做社交媒体营销?
    制作本地SCLo-scl镜像仓库(reposync下载rpm包、createrepo制作镜像仓库、httpd发布服务)
    java计算机毕业设计考勤系统设计源码+mysql数据库+系统+lw文档+部署
    JavaScript 68 JavaScript Browser BOM 68.1 JavaScript Window - 浏览器对象模型
    R语言ggHoriPlot包绘制地平线图
    线性代数学习笔记11-3:总复习(习题)
    【算法】顺序表力扣OJ
    设计模式的一些笔记(个人见解参杂各个模式的用途,未完待续0907)
    用CSS实现一个扇形
    电脑一键重装系统后连不上远程了?教你设置的方法
  • 原文地址:https://blog.csdn.net/qq_36973838/article/details/136730214
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号