引言 本篇文章将介绍flash算法文件,阐述从jlink如何下载镜像文件写入到内部的falsh。一、XIP 在谈flash下载算法文件时,先说明XIP是什么。 芯片的启动方式有很多种:可以从RAM中启动、内部的flash、外部的flash等等(还有从sd卡、emmc、norflash、nandflash等),这里我们只考虑内部的flash的情况。 我们都知道flash只是一块ROM,flash有两种类型,分为norflash、nandflash,一般32位处理器里面使用的是norflash作为ROM,存放镜像文件。 在专业课(计算机组成原理
关于Keil5报错LoadingPDSCDebugDescriptionfailedforSTMicroelectronicsSTM32xxxx,DisablingusageofPDSCDebugDescription.SeeBuildOutputfordetails错误的原因以及解决方法1.错误的原因2.解决办法3.结语1.错误的原因这段错误翻译过来就是加载的PDSC调试说明失败,STMicroelectronicsSTM32xxxx禁用PDSC调试说明的用法,有关详细信息,请参考生成输出。我在网上查了一下,大部分人都没有说明为什么会有这个报错弹窗,其实导致这个问题的原因是keil的版本比p
目录测试目标:测试代码:1.start.s2.align.s测试结果:1.ldr伪指令的测试结果:2.align伪操作测试结果:结果分析:测试目标:熟悉ARM处理器的伪指令,本次实验主要来练习ldr伪指令和align伪操作的使用。理解ARM处理器伪指令的功能,并学会分析汇编语言代码。测试代码:1.start.sareainit,code,readwrite entrystartldrr0,=0x7000000orrr0,r0,#0x13mcrp15,0,r0,c15,c2,4ldrr0,=0x7e004000movr1,#0strr1,[r0]ldrr1,=0x7e000020movr0,#0
目录一、首先在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
周报汇总地址:嵌入式周报-uCOS&uCGUI&emWin&embOS&TouchGFX&ThreadX-硬汉嵌入式论坛-PoweredbyDiscuz!更新一期视频教程:【实战技能】单步运行源码分析,一期视频整明白FreeRTOS内核源码框架和运行机制,RTOSTrace链表功能展示【实战技能】单步运行源码分析,一期视频整明白FreeRTOS内核源码框架和运行机制,RTOSTrace链表功能展示-H7-TOOL开发工具-硬汉嵌入式论坛-PoweredbyDiscuz!视频版:https://www.bilibili.com/video/BV1Rw411b7M1/《安富莱嵌入式周报》第328期
1.确定你移植的工程 1.1这里随便找了一下别人代码中的超声波传感器工程为例,其他同理。1.2打开HARDWARE文件夹1.3复制这个HC-SR04(超声波的代码),到你工程的HARDWARE文件夹里面,这里以OLED实验为例然后打开Keil 2.添加.c文件点击这个按钮,点击HARDWARE,AddFiles,找到刚刚复制的HC-SR04这个文件,选择hc.c,add添加。 在左边的能看到即说明添加成功 3添加头文件路径3.1点击魔术棒,选择C/C++,打开includepaths 3.2点这里找到HC-SR04的文件夹,选择 出现如图则说明添加成功4解决常见的一些问题4.1 编译一下,
目录一、建立工程文件二、准备所有需要的文件三、添加所有需要的文件四、编译虽然知道正点原子有现成的STM32标准库工程模板,但还是想自己从头开始建立一个自己的模板。一是想要一个干净的空模板,后续编程想要加什么就加什么,别人的工程的话总是有很多不需要的文件,看着乱乱的。二是加深对编程的理解,知道一个工程必须具备哪些基本文件和基本配置,以后报错的时候知道在哪报错,提高纠错能力。初学STM32单片机的时候,往往就倒在了第一步,因为keil-MDK的环境配置比较繁琐,中途会出各种问题。环境配置好后,需要建立一个能跑的工程模板也比较繁琐,需要查找各种资料,这也需要耐心,但这是学习单片机必须经历的过程,后面