引言 本篇文章将介绍flash算法文件,阐述从jlink如何下载镜像文件写入到内部的falsh。一、XIP 在谈flash下载算法文件时,先说明XIP是什么。 芯片的启动方式有很多种:可以从RAM中启动、内部的flash、外部的flash等等(还有从sd卡、emmc、norflash、nandflash等),这里我们只考虑内部的flash的情况。 我们都知道flash只是一块ROM,flash有两种类型,分为norflash、nandflash,一般32位处理器里面使用的是norflash作为ROM,存放镜像文件。 在专业课(计算机组成原理
这篇文章将详细介绍STM32使用cubeMX驱动超声波测距。文章目录前言一、超声波模块`测距原理`:二、cubeMX配置三、实验程序总结前言实验材料:STM32F103C8T6开发板,HC-SR04超声波模块。所需软件:keil5,cubeMX,AiThinkerSerialTool串口助手。实验目的:了解STM32使用cubeMX驱动超声波。实验:超声波测距。一、超声波模块HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能。有4个引脚:VCC,GND,Trig(信号触发引脚),Echo(接收返回信号)。当超声波发出一个信号时,信号碰到物体或阻碍后会立即返回。只要得到信
关于Keil5报错LoadingPDSCDebugDescriptionfailedforSTMicroelectronicsSTM32xxxx,DisablingusageofPDSCDebugDescription.SeeBuildOutputfordetails错误的原因以及解决方法1.错误的原因2.解决办法3.结语1.错误的原因这段错误翻译过来就是加载的PDSC调试说明失败,STMicroelectronicsSTM32xxxx禁用PDSC调试说明的用法,有关详细信息,请参考生成输出。我在网上查了一下,大部分人都没有说明为什么会有这个报错弹窗,其实导致这个问题的原因是keil的版本比p
前言为了方便自己,于是方便了大家。一、获取stm32Cube包1——打开下面的链接ST官网链接2——下载stm32标准外设库我要用STMCubeG413rbt6,所以我选择STM32CubeG4系列点击点击点击【1.5.0】后会弹出一个协议点击【接受】,下载成功当你接受后,如果你是第一次的话,看下面注意当你接受后,如果你是第一次的话,不会直接下载。它会弹出一个框,你只需要把邮箱号给输入了,然后再打开邮箱验证一哈二、安装固件库这里有三种方法,经过尝试,有两种可用。第一种:简单快洁,直接在stm32CubeMX上安装。然后客官请稍等片刻,第二种:方便直接。原理上突破。通过上面的第一种方法后,我发现
这篇文章将详细介绍STM32,cubeMX定时器的配置和使用。文章目录前言一、定时器基础知识二、cubeMX配置三、定时时长四、自动生成代码讲解五、实验程序总结前言实验开发板:STM32F103C8T6。所需软件:keil5,cubeMX。实验目的:了解cubeMX定时器的配置和使用。实验:使用定时器控制led闪烁。一、定时器基础知识STM32的定时器是用于时间测量和事件生成的复杂工具。可以使用内部或外部时钟源。时钟源和分频设置将决定定时器计数的速度。定时器可以配置为在特定事件(如溢出或匹配特定值)上触发中断。这使得它能够周期性地执行代码片段,例如读取传感器数据或刷新显示。定时器的主要组件:计
第一篇STM32CubeMX创建STM32工程之工程创建、编译、下载一、STM32工程创建1.打开stm32Cubemx2.选择stm32芯片3.设置时钟4.配置工程创建选项5.下载配置6.导出工程二、打开并编译STM32工程1.编译前工作2.打开工程3.添加目录4.编译工程三、程序下载1.选择下载方式2.下载一、STM32工程创建使用stm32Cubemx创建stm32工程能更快、更准确的配置好stm32所需要的资源,提高单片机编程的效率。下面跟着小编一起来看一下如何快速创建stm32工程1.打开stm32Cubemx双击打开stm32CubeMX软件,小编使用的是6.10.0。选择2.选择
目录一、首先在Keil软件上安装好芯片包二、下载官方固件库三、建立基于固件库的Keil5工程模板一、首先在Keil软件上安装好芯片包 STM32有很多系列的芯片,我们平常用的最多的是STM32F1系列的,因此安装F1系列的芯片包在我们初学时,只按照人家下载好的来进行安装,现我们可以自行安装想要的系列的芯片包。以下就是关键步骤: ①打开Keil软件,点击红框中的魔术棒 ②点击红框中的Device,可以看到我之前安装好的F1系列的芯片包,现我们手里的芯片不再是F1系列的芯片,想要开发F0系列的芯片,就需要安装F0系列的芯片包 ③若想要安装F0
当打开现成的工程项目时,编译出现一堆错误,大部分错误出现关于‘core_cm3.h’这个文件,那么大概率可能跟Keil5的版本有关,如下:可能原因:打开魔术棒—>Target—>CodeGeneration中ARMCompiler,看看keil5使用的什么版本,现在最新的keil5版本不会默认安装V5的文件支持,需要自行下载。下载链接:https://download.csdn.net/download/weixin_43716668/87452237使用说明:下载的安装包解压缩之后直接放置到keil5的安装路径(例如:D:\Keil_v5\ARM…)然后打开Keil5程序—>ManagePr
前言KeilMDK的默认配置是不方便使用的,包括编码方式,缩进,Tab键,自动保存,界面主题,自动补全等,都需要清楚怎么根据个人使用习惯进行配置。本文对Keil的各个配置选项进行了较详细的说明,并分享了三款仿VSCode的界面主题以改善在Keil中编码的糟糕体验。一.Keil配置页各选项的含义此部分内容参考KeilHelp文件,如对某选项的作用有疑问,可自行参阅KeilHelp文件。1.1打开配置页两种方式:Edit→Configuration直接点击工具栏右侧的扳手图标1.2Editor页此页的建议设置如上图所示,相关说明如下:Encoding选择EncodeinUTF-8withoutsi
常用宏定义在编写代码的时候经常会用到一些宏定义,使用宏定义可以使我们的代码更加规范,而且使用选择类型的宏定义还可以使我们编写出来的代码更小,也更利于程序的移植与修改。常用的一些宏定义有#define、#undef、#ifdef、#ifndef、#if、#elif、#else、#endif,还有一个找了好久才找到的defined,没错,这个前面没有加#。#define定义一个预处理宏#undef取消宏的定义#if编译预处理中的条件命令,相当于C语法中的if语句#ifdef判断某个宏是否被定义,若已定义,执行随后的语句#ifndef与#ifdef相反,判断某个宏是否未被定义#elif若#if,#i