码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • vscode+makefile开发STM32(二)---下载


    vscode+makefile开发STM32(二)—下载篇

    文章目录

    • vscode+makefile开发STM32(二)---下载篇
      • 配置jlink使用Jlink.exe下载
        • 在`.vscode`文件夹下的`task.json`文件中配置如下任务
        • 在工作空间目录下新建`download.jlink`文件
        • 运行任务完成下载
      • 配置jlink使用OpenOCD下载
        • 通过zadig重装jlink驱动
        • 修改OpenOCD的配置文件
        • 配置task任务

    配置jlink使用Jlink.exe下载

    本质是通过J-link Commander进行下载的,通过这种方式下载必须配置命令的脚本文件(具体支持的详细指令描述可以打开commander终端,输入‘?’来查看)。

    在.vscode文件夹下的task.json文件中配置如下任务

    {
    			"label": "download-jlink(JLink.exe)",
    			"type": "shell",
    			"command": "jlink.exe",
    			"args": [
    				"-device",
    				"stm32f405rg",
    				"-if",
    				"swd",
    				"-speed",
    				"4000",
    				"-CommanderScript",
    				"download.jlink"
    			],
    			"dependsOn": "build",
    			"problemMatcher": [
    				"$gcc"
    			]
    		},
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    这里配置的任务实际相当于在shell终端中执行

    jlink.exe -device stm32f405rg -if swd -speed 4000 -CommanderScript download.jlink
    
    • 1

    上面指令中的-CommanderScript也可以用-CommandFile来代替。jilink.exe后面可以跟的参数信息都是从网上搜到的,也没有找到哪里有这些参数信息的说明,有人知道希望不吝赐教。
    在jlink Wiki网站上找到了解释:
    网址:https://wiki.segger.com/J-Link_Commander#Using_J-Link_Command_Files
    在这里插入图片描述
    支持的参数选项:
    在这里插入图片描述

    在工作空间目录下新建download.jlink文件

    reset
    loadfile build/stm32f405_u8g2_oled.hex
    r
    qc
    
    • 1
    • 2
    • 3
    • 4

    指令说明:
    reset ------ 复位目标芯片
    loadfile ----- 加载要写到目标内存的文件
    r ----- 重启目标板
    qc ----- 关闭jlink连接并推出

    详细指令说明可以在jlink commander终端中输入‘?’来查看:

    J-Link>?
    
    • 1

    运行任务完成下载

    在vscode菜单中选择终端—>运行任务—>download-jlink(JLink.exe)便可以将程序通过jlink下载到单片机中
    注意:
    这里的下载参数是要根据特定工程相关联的,因而在修改工程后也要修改对应参数:
    需要改动的地方:

    1. task中的设备参数stm32f405rg需要根据不同芯片而修改
    2. download.jlink中的loadfile后面的下载文件名称也要根据实际情况而修改

    配置jlink使用OpenOCD下载

    使用该方式会导致Keil MDK,JFlash识别 不到Jlink驱动,如果还需要使用上述的软件来连接jlink,建议使用上面的第一种方式来进行下载,当然在用到的时候将驱动的版本进行回退也是可以的。

    通过zadig重装jlink驱动

    OpenOCD默认识别不到Jlink驱动,必须通过zadig重装为Win USB驱动才能识别到。
    注意:这有个问题重装驱动后会导致JFlash,keil等软件识别不到jlink

    修改OpenOCD的配置文件

    openOCD默认的jlink配置是JTAG接口,如果使用swd接口需要修改配置jlink.cfg文件(可以复制一份改个名字jlink-swd.cfg),增加如下语句,将传输接口改为SWD

    transport select swd
    
    • 1

    配置task任务

    {
    			"label": "download-jlink",
    			"type": "shell",
    			"command": "openocd",
    			"args": [
    				"-f",
    				"interface/jlink-swd.cfg",
    				"-f",
    				"target/stm32f4x.cfg",
    				"-c",
    				"program build/${workspaceFolderBasename}.elf verify reset exit"
    			],
    			"dependsOn": "build",
    			"problemMatcher": [
    				"$gcc"
    			]
    		},
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    参考文章:
    https://blog.csdn.net/u010058695/article/details/108871995

  • 相关阅读:
    [阅读笔记23][JAM]JOINTLY TRAINING LARGE AUTOREGRESSIVE MULTIMODAL MODELS
    MFC:自绘CListBox,GetText返回一个乱码
    网页论坛项目测试报告
    一篇文章,教你彻底掌握接口测试!
    NVIDIA NCCL 源码学习(二)- bootstrap网络连接的建立
    Vue3 学习
    汽车车灯罩破损修复需要准备哪些材料?
    Java代码审计——URL 跳转漏洞
    adb server version (19045) doesn‘t match this client (41); killing.的解决办法
    关于递归和回溯的一次深入思考
  • 原文地址:https://blog.csdn.net/xiaoyuanwuhui/article/details/127910373
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号