当前位置: 首页 > news >正文

keil5进行stm32编程时常遇到的问题和ST-LINK在线仿真的连接问题

本文记录原因

最近一直在尝试usb的自定义键盘、无刷电机和pcb的一些东西,很久没使用stm32编写程序了。在浏览购物网站的时候发现很多便宜的小系统板。

使用小的系统板原因

1,在网上看到板子很便宜,以前很少看见,但现在网上对这方面开发的人员很多,也使得价格压下来了。
2,虽然没有很多的外设,但相比于已经固化的开发板来说,不需要考虑外设的干涉跳线,这样做并不需要大容量的开发来说还是很方便的。
3,以前用的时STM32F103ZET6的板子,那个外设太多,每次连接和拆线需要考虑太多跳线帽的插拔。

通过实例分析使用在线仿真的原因

1,当读取ADC数据时,若不使用在线仿真,则为了查看数据就需要使用串口和显示屏等,但这就需要添加串口程序或显示驱动程序。
2,想要查看某些数据变化,但程序想要停止,就需要修改程序到自己想要停止的地方,每次都需要重新下载程序。
3,下载程序过程中的多次插拔下载引脚也是很苦恼的事(arduino不用),可以使用IAP,自己写个能触发进入下载的程序,但那样不免增加程序复杂度。
4,上面遇到的几种情况,使用在线模拟仿真可以很好的解决:通过查看变量的参数知道ADC的值大小;通过单步调试/断点调试可以知道那个数据变化并在这个地方停止;下载过程中不需要插拔下载引脚,因为这里下载指定了flash的地址

keil5进行编程中遇到问题

一个需要注意的问题,需要使用电脑直连的usb,因为usbhub的连接可能会导致ST-Link连接不成功

编译时遇到“…\SYSTEM\sys\stm32f10x.h(244): error: #67: expected a “}””

参考、
选择正确的芯片后,这里的预处理的定义可以删除了。
在这里插入图片描述

仿真器在线仿真的认知

仿真器使用和理解视频
在这里插入图片描述

使用st-link仿真的基本操作可以参考下面两个

参考1,参考2

在使用仿真器下载程序时遇到问题“Error: Flash Download failed - Cortex-”

参考
这种下载不成功的原因一般分三种
1,设置下载接口的方式不同,
2,硬件连接的不正确,
3,芯片的flash地址和下载的地址不正确

1和2的错误可以参考上面两个参考连接。3,问题参考

总体来说,嵌入式相关的内容都是软硬件相关联,因此也会遇到各种各样奇葩问题。


http://www.mrgr.cn/news/28178.html

相关文章:

  • 【Goland】——Gin 框架简介与安装
  • 2024 同一个网段,反弹shell四种方法【linux版本】bash、python、nc、villian反弹shell图解步骤
  • 路由器基本原理与配置
  • 综合文化信息管理系统|基于java和小程序的综合文化信息管理系统设计与实现(源码+数据库+文档)
  • iOS swift开发--- 加载PDF文件并显示内容
  • 怎么做扫码的视频播放效果?视频制作二维码的3步简单教程
  • 哈哈哈,让 GitHub Copilot 用上 deepseek,性能不输 GPT-4,每月立即省 10 刀!
  • 为什么全双工不需要冲突检测
  • 1184. 公交站间的距离(24.9.16)
  • 初始爬虫7
  • 横向移动-WMI
  • MutationObserver详解+案例——深入理解 JavaScript 中的 MutationObserver:原理与实战案例
  • AtCoder Beginner Contest 371
  • ubuntu20.04编译mesa
  • 大数据新视界 --大数据大厂之数据科学项目实战:从问题定义到结果呈现的完整流程
  • stack - queue
  • linux-系统备份与恢复-系统恢复
  • JVM源码解析
  • 匿名管道详解
  • 最强神器Typora 2024(亲测有效)| Markdown 工具推荐
  • 计算机二级MySQL大题系列01-PHP必考题
  • 【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧
  • 业务资源管理模式语言15
  • OpenCV_图像旋转超详细讲解
  • 卡尔曼滤波-α滤波器
  • Python 的 WSGI 简单了解