STM32F407 STLINK 在线调试 个人笔记】的更多相关文章

配置的部分请看本博客STM32分类下的环境配置篇目 开始调试 一些按键 查看寄存器 查看变量值 选中变量,右键,add to watch…
简介: 支持所有带SWIM接口的STM8系列单片机 支持所有带SWD接口的STM32系列单片机 完全兼容Keil,STVP,STVD,IAR,COSMIC,STM32 ST-LINK Utility! 支持固件自动升级,以确保 ST 公司产品后续支持. 编程功能:可烧写FLASH ROM.EEPROM.AFR等. 仿真功能:支持全速运行.单步调试.断点调试等各种调试方法,可查看IO状态,变量数据等等. 仿真性能:采用USB2.0接口进行仿真调试,单步调试,断点调试,反应速度快! 编程性能:采用U…
最近一段时间调试STM32板子的时候,都是用JLINK+杜邦线,或者拿官方板子当STLINK用,可以用,但是体积比较大,有时候觉得比较麻烦.正好前一阵手头项目少,就想DIY一个STLINK. 图是网上找的,由于现在还没有验证完,暂时就不上图了. 打了10块板子,最后收到好像是11块,110个小板,顺便学了一下怎么V-CUT出板子.10cm*10cm以内,一般都是特价板,80块包邮. 电阻.电容的封装都是0603的,手焊的话,比0805封装的稍微难一点.刚开始焊了一块,试了试,可以下载程序,还没有…
目录 1.什么是Hacklab WebIDE 1.1 优势 1.2 趋势 2. 使用方法 2.1 功能介绍 2.2 编译第一个程序 2.3 搭建esp32的开发环境 2.4 建立开发板与云平台的连接 3.优势与特点 1.什么是Hacklab WebIDE Hacklab WebIDE是阿里云物联网云端开发环境,Hacklab WebIDE提供远程的Linux服务,并预先安装了物联网开发需要的环境,能实现AliOS Things的云端编译,本地烧录的功能.简单的说,就是一款集成了编译环境,永不掉线…
IO口 STM32F4有上百个IO口中,每个都可以作为外部中断输入 中断线 STM32F4的中断控制器支持22个外部中断/事件请求(中断线) 对于每个中断线,我们可以设置相应的触发方式(上升沿触发,下降沿触发,边沿触发)以及使能. EXTI线0~15:对应外部IO口的输入中断. EXTI线16:连接到PVD输出. EXTI线17:连接到RTC闹钟事件. EXTI线18:连接到USB OTG FS唤醒事件. EXTI线19:连接到以太网唤醒事件. EXTI线20:连接到USB OTG HS(在FS…
datasheet(STM32F407ZGT6.pdf)中,IO structure 为FT,表示容忍5V电压 后面的uart1_TX之类,表示端口复用 共有A~G7组IO口, 每组16个IO口:0~15 每组有10个寄存器 4种输入模式: 输入浮空(不连上拉或下拉电阻) 输入上拉 输入下拉 模拟输入 4种输出模式: (GPIOx_MODER &GPIOx_OTYPER) 开漏输出(带上拉或者下拉) 开漏复用功能(带上拉或者下拉) 推挽式输出(带上拉或者下拉) 推挽式复用功能(带上拉或者下拉)…
前言 这篇笔记对应正点原子STM32F407探索者 ,教学视频第26节,网址如下: https://ke.qq.com/webcourse/index.html#cid=279403&term_id=100330877&taid=1965424279569259&vid=u14245plf1d 这段代码在提供的源码里是没有的,后来有没有在公众号更新我就没注意了.最初版本的源码里确实没有这一篇. GPIO引脚复用配置 详见 https://www.cnblogs.com/YuQiao…
前言 第26节也是串口,笔记链接在此:https://www.cnblogs.com/YuQiao0303/p/10019362.html github地址:https://github.com/YuQiao0303/STM32F407-Examples 基本把27节的新内容都写在代码注释里了,只有一点: 在串口调试助手中,选"发送新行",则这一条数据会以0x0d,0x0a 结尾(ascii码) 代码 usart.c #include "sys.h" #includ…
以下提供2种下载方式 KEIL编译下载 KEIL 5 在开发中还算是比较强大的一种平台.在开发中通过编译再下载会显得很方便. 尽管这个是老生常谈的问题,但还是在这里补全这个设置步骤 1.点击“魔法棒” 2.Debug 设置 ST官方下载方式 有时候,我们通过各种途径得到了一个bin或者hex文件(比如使用了embed在线编译器生成bin文件),那么我们应该怎么样把它烧录到板子中呢? 下面介绍由ST官方下载器烧录bin或者hex到开发板的过程 烧录文件:BIN.或者HEX文件 烧录方式:ST-LI…
什么是看门狗 如果程序跑飞了怎么办? 可以用看门狗来监控. 看门狗是: 一个递减的计数器,如果不按时给计数器赋值,计数器的值减到一定程度,就会使系统复位. 也就是说如果程序运行异常,无法正常给计数器赋值(喂狗),系统会自动复位. STM32F407有两种看门狗: 独立看门狗 窗口看门狗 独立看门狗 在键值寄存器(IWDG_KR)中写入0xCCCC:开始启用独立看门狗. 此时计数器开始递减 当计数器值计数到尾值0x000时会产生一个复位信号(IWDG_RESET). 无论何时,只要在键值寄存器IW…
本文由正点原子STM32F407探索者开发板的led和beep实验,总结了gpio编程的套路. 下文中以hardware 来称呼可能的硬件外设,如led或beep等. 新建项目后主要用到三个文件:hardware.c ,hardware.h, main.c hardware.h #ifndef __HARDWARE_H #define __HARDWARE_H #include "sys.h" void HARDWARE_Init(void); #endif hardware.c #i…
更多原理请参考跑马灯 库函数版 个人笔记 步骤 使能IO口时钟.配置相关寄存器寄存器RCC->AHB1ENR 初始化IO口模式.配置四个配置寄存器 GPIOx_MODER/ GPIOx_OTYPER/ GPIOx_OSPEEDR/ GPIOx_PUPDR 操作IO口,输出高低电平.配置寄存器GPIOX_ODR或者BSRRL/BSRRH. 代码 led.c #include "led.h" #include "stm32f4xx.h" void LED_Init…
详细资料: http://www.openedv.com/thread-13912-1-1.html 需要安装的软件: 1.keil(MDK,必选),用keygen破解 2.CH340驱动,(usb串口驱动,用来下载程序.方便但下载速度较慢,无法调试) 3.STLINK驱动(用来下载程序,下载速度快且可以调试:不占用串口,可以用串口调试助手查看调试信息) 4.XCOM V2.0.exe (串口调试助手,可以查看串口的输出信息) 程序下载(两种方法) 1. CH340驱动( usb接口接电脑 用下…
通过strongerHuang的教程,实现了SWO的两种调试方法, 1.在keil调试的过程中,使用debug printf viewer打印信息, 2.在STM32 ST-LINK Utility中烧写程序并打印信息. 几点信息:摘录自https://www.strongerhuang.com SWD:Serial Wire Debug,串行线调试 SWO:Serial Wire Output,串行线输出 SWV:Serial Wire Viewer,串行线查看器 ITM:Instrument…
原文地址:http://www.cnblogs.com/NickQ/p/8857213.html 环境:keil5.20  STM32F407ZGT6  LCD(320*240)  STemwin:STemWin_Library_V1.1.2   电阻式触摸屏 准备: STemWIn在裸机上的移植,需要准备STemwin空工程,Touch驱动. 开始移植: 第一步:先将Touch添加进工程,并测试和校准Touch. 第二步:新建Touch配置文件,如下 宏 TOUCH_AD_TOP TOUCH_…
原文链接:http://www.cnblogs.com/NickQ/p/8748011.html 环境:keil5.20  STM32F407ZGT6  LCD(320*240)  STemwin:STemWin_Library_V1.1.2 准备: STemWIn在裸机上的移植,需要准备STemwin的库( STemwin:STemWin_Library_V1.1.2.rar 链接:https://pan.baidu.com/s/1rUxgjQwQPY0-m_AEOFXMrw 密码:fzp8)…
作者:李剀 出处:https://www.cnblogs.com/kevin-nancy/ 欢迎转载,但也请保留上面这段声明.谢谢! 写在前面: 这是本人第一次开始写博客,可能写的不是很好,也请大家谅解. 本人现在大三,以前在学习过程中遇到过各种各样的问题,关于51单片机,STM32单片机,最近在学习ARM11的Tiny6410 以后还会更新一些C/C++方面的东西 关于写博客这件事,其实 一直想写博客记录下来,但是因为某些原因(懒),so , 没有写.现在开始,以后遇到单片机上或者编程上遇到的…
概述 SPI ,Serial Peripheral interface,串行外围设备接口 全双工,同步的通信总线,四根线 主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间. 4条线 MISO 主设备数据输入,从设备数据输出. MOSI 主设备数据输出,从设备数据输入. SCLK时钟信号,由主设备产生. CS从设备片选信号,由主设备控制.当有多个从设备的时候,因为每个从设 备上都有一个片选引脚接入到主设备机中,当我们的主设备和某个从设备通信时将需…
源代码;https://github.com/YuQiao0303/STM32F407-Examples/tree/master/24.IIC 概述 I2C (IIC, Inter-Integrated Circuit),两线式串行总线, 用于连接微控制器及其外围设备. 它是由数据线SDA和时钟SCL构成的串行总线 在CPU与被控IC之间.IC与IC之间进行双向传送 IIC是半双工通信方式 协议 ①空闲状态 ②开始信号 ③停止信号 ④应答信号 发送器每发送一个字节(8位) 接收器在第九个时钟脉冲…
DAC框图 VDDA:模拟电源输入 VSSAL:模拟电源接地输入 Vref+:正模拟参考电压输入 -------------- DORx:输入数字寄存器 DAC_OUT:模拟输出通道 DAC_OUT1 ->PA4 DAC_OUT2 ->PA5 DAC概述 12位数字输入,电压输出 2种模式 12位模式:此时数据可以设置成左对齐或右对齐 8位模式 2个DAC 每个DAC转换器对应一个通道 可以独立转换 也可以同时进行转换,并同步地更新2个通道的输出 寄存器 简称 全称 DAC_CR DAC co…
1. ADC概述(STM32F4xx系列) 3 个 ADC 可分别独立使用 也可使用双重/三重模式(提高采样率) 2 个通道组 规则通道:相当于正常运行的程序 注入通道:相当于中断(可以打断规则通道的转换) 转换模式分为 单次.连续.扫描.间断模式 位数 12位模拟数字转换器 结果左对齐或右对齐,存在16位数据寄存器中 2. 规则通道 & 单次转换模式 过程 转换结束时: 转换结果将被存在 ADC_DR 寄存器中 EOC(转换结束)标志将被置位 如果设置了 EOCIE,则会产生中断 要配置哪些…
窗口看门狗的喂狗时间范围 由框图知: 复位条件是:当且仅当 { 启动位启动 且 { T6为0 (计数器的值减小到0X03F即下限,还没喂狗,即喂狗太晚) 或 计数器的值高于上限时喂狗,即喂狗太早 } } 也就是说,窗口看门狗要求在一定时间范围内喂狗,否则就会使系统复位. 这个时间范围的下限是固定的:0x3f: 上限通过看门狗配置寄存器WWDG_CFR配置 早期唤醒中断 如果启动了看门狗并且允许中断,当递减计数器等于0x40时产生早期唤醒中断(EWI),它可以用于喂狗以避免WWDG复位. 超时时间…
内嵌向量中断控制器:Nested Vectored Interrupt Controller (NVIC) 设置中断向量的优先级并使能. 响应优先级& 抢占优先级 抢占优先级:一个中断A还在处理时,另一个中断B发生,B能否先处理? 答:如果B抢占优先级高就行. 响应优先级:抢占优先级相同时,中断A和中断B同时发生时,先处理哪个? 答:响应优先级高的哪个. 中断优先级组 是指在寄存器SCB->AIRCR中,配置: 4个位当中,几位是抢占优先级,几位是响应优先级 注意:设置好后不要再改了!以免造…
串行通信的分类 常见串行通信接口 STM32 UART STM32串口异步通信需要定义的参数: ① 起始位 ② 数据位(8位或者9位) ③ 奇偶校验位(如果有的话是第9位) ④ 停止位(1,15,2位) ⑤ 波特率设置…
基本概念 stm32有一些内置外设,每个外设有一个复用功能AF(Alternate functions). stm32的每个io引脚东路有一个16路复用器,该复用器一端连该引脚,另外16端连AF0~AF15 该复用器可以通过GPIOx_AFRL(针对该组引脚的 0-7号引脚)和 GPIOx_AFRH(针对引脚 8-15)寄存器来配置,即选择哪个AF连接该io引脚 如何知道每个io口复用了哪些AF 并不是每一个io口都能任意选择所有AF, 由示意图也可以知道,AF1可能是两个TIM1或TIM2,A…
读取IO口输入的函数: STM32F4 的 IO口做输入使用的时候,是通过调用函数 GPIO_ReadInputDataBit()来读取 IO 口的状态的.了解了这点,就可以开始我们的代码编写了. 按键与stm32f4连接原理图 右图可知四个按键与mcu的io引脚连接关系如下: KEY_UP KEY0 KEY_1 KEY2 PA0 PE4 PE3 PE2 注意: KEY0. KEY1 和 KEY2 是低电平有效的(按键按下时为低电平),而 KEY_UP 是高电平有效 的, 并且外部都没有上下拉电…
原理图: MCU在开发板原理图的第二页,LED在开发板原理图的第三页 由图可知,PF9 ,PF10 若输出低电平则灯亮,高电平则灯灭 选推挽输出 代码步骤 使能IO口时钟. 调用函数RCC_AHB1PeriphClockCmd();不同的外设调用的时钟使能函数可能不一样 初始化IO口模式.调用函数GPIO_Init(); 操作IO口,输出高低电平. GPIO_SetBits(); GPIO_ResetBits(); 实现步骤 1.删掉FWLIB中不用的源文件(以提高编译速度),保留misc,rc…
RT Thread 4.0提供了新的BSP框架 新 BSP 框架的主要特性如下: 提供多系列 BSP 模板,大大降低新 BSP 的添加难度: 每个 BSP 都配有齐全的驱动文件,开发者可以方便地使用所有驱动: 开发者可以使用 CubeMX 工具对 BSP 进行图形化配置: 由于Hal库是以后主流,在使用STD库对STM32很熟悉后,建议转到Hal库 本文参考官方<STM32系列BSP制作教程>,由于官方提供的CubeMX与Hal库版本固定,不一定适用所有初步使用的人,本文使用自己的CubeMX…
声明:本文档的内容主要来源于书籍<软件调试修炼之道>作者Paul Butcher,属于读书笔记.欢迎转载! -------------------------------------------------------------------------------------------- 缺陷优先 如何使缺陷修复与软件开发相结合? 如何估计缺陷修复花费的时间? 如何确保项目不会陷入<人月神话>中所描述的无数缺陷修复的焦油坑中呢? 缺陷优先 要采用早起缺陷修复原则,并且基于以下两…
我们在 Linux 主机中搭建我们的开发环境,使用 Ubuntu 10.04 LTS 为例. 搭建应用开发环境   安装 JRE Eclipse 依赖于Java 环境,所以必须先安装 JRE 或 JDK. 安装 Eclipse 和 CDT 去Eclipse官网下载最新的Eclipse IDE. 我们一般选择 C/C++ 版本(Eclipse IDE for C/C++ Developers),这个版本自带了CDT,不用另行安装CDT插件.下载时选择 Linux 的版本,如:eclipse-cpp…