草庐IT

vscode 无法使用 compilerPath“D:.../bin/arm-none-eabi-g++.exe”解析配置。

        最近在使用vscode搭建ODriveSTM32开发环境,依次安装了以下内容:                1.Python3:用于运行工程构建脚本                2.ST-Link/V2Drivers:STLink/v2编程器的驱动            3.VisualStudioCode:轻量级但功能强大的源代码编辑器            4.Tup:用于调用编译命令的构建系统            5.ARMGNUCompiler:用于交叉编译代码            6.OpenOCD:用与使用STLink/v2编程器对ODrive进行烧录   

ARM:使用汇编完成三个灯流水亮灭

1.汇编源代码.text.global_start_start: @设置GPIOF寄存器的时钟使能 LDRR0,=0X50000A28 LDRR1,[R0] ORRR1,R1,#(0x1010x50006000 LDRR0,=0x50006000 LDRR1,[R0] BICR1,R1,#(0x300X50006004 LDRR0,=0X50006004 LDRR1,[R0] BICR1,R1,#(0X100X50006004 LDRR0,=0X50006004 LDRR1,[R0] BICR1,R1,#(0X1000X50006008 LDRR0,=0x50006008 LDRR1,[R0

Keil MDK ARM v5.38安装

STM32开发环境为例:链接:https://pan.baidu.com/s/16sOOZDubCbhedoDJewSlGg?pwd=yg8r提取码:yg8r步骤一:链接:https://pan.baidu.com/s/1Bnvh7DmkLfZii6VC8-vLQg?pwd=lax3提取码:lax3下载完成解压缩选中KeilMDK538.exe右键以管理员身份运行安装路径,默认或者自行更改都可以客户信息随便填等待安装完成......步骤二:链接:https://pan.baidu.com/s/1l1rdH0OGqKaASVLk9f6v2A?pwd=7s5h提取码:7s5h右键以管理员身份运行选

ARM Cortex-M3|LED

新建一个STM32CubeIDE 新工程  选择自己的芯片型号,我的是STM32F103RCT6  选择工程保存位置,不能有中文路径,会报错  选择下载方式、一定要选,不然下次下载有问题   选择时钟来源,我的板子有8Mhz、32.768Khz两个外置晶振  配置时钟频率  生成相应的.c.h文件,方便我们管理   我的板子LED引脚是PA8和PD2,配置相应的GPIO       完成配置、保存、生成代码 代码配置在gpio.c里      点亮 这两盏灯  编译工程,0错误0警告   开始下载,工程第一次下载,会弹出窗口,我的下载器是JLink,所以选择JLink,SWD下载模式,保存OK

[ARM 汇编]进阶篇—数据处理指令—2.1.1 算术指令

文章目录1.加法指令(ADD)2.减法指令(SUB)3.反向减法指令(RSB)4.乘法指令(MUL)补充ARM汇编语言中,算术指令用于完成基本的算术运算,如加法、减法、乘法等。在本节中,我们将详细介绍ARM汇编中的算术指令,并通过实例帮助你更好地理解和掌握这些指令。1.加法指令(ADD)加法指令用于将两个寄存器中的值相加,并将结果存储在目标寄存器中。基本语法如下:ADDRd,Rn,Operand2其中,Rd是目标寄存器,Rn是第一个操作数所在寄存器,Operand2是第二个操作数。示例:ADDR0,R1,R2这个指令将R1和R2中的值相加,并将结果存储在R0中。2.减法指令(SUB)减法指令用

Ubuntu22.04 交叉编译gcc9.5 for arm

一、准备环境:ubuntu22.04为刚刚安装,未安装gcc等包vi~/.bashrc输入exportPATH=$PATH:/opt/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin保存,reboot安装:sudoaptinstallcmakesudoaptinstallgawksudoaptinstallbison第一步:安装glibc-2.34mkdirbuildcdbuild../configure--prefix=${PWD}/install\--build=arm-linux-gnu\--host=arm-linux-gnu\--t

ARM底层汇编基础指令

汇编语言的组成伪操作不参与程序执行,但是用于告诉编译器程序怎么编译.text.global.end.if.else.endif.data汇编指令编译器将一条汇编指令编译成一条机器码,在内存里一条指令占4字节内存,一条指令可以实现一个特定的功能伪指令不是指令,看起来像是一条指令,可以实现和指令类似的功能。一条伪指令实际上可能是由多条指令共同实现注释单行注释:@多行注释:/**/条件编译.if0@text.else@text.endif汇编指令的介绍基本数据操作指令数据搬移指令:=数据位移指令:>数据算数运算指令:+-*/位运算指令:$|~^数据比较指令:跳转指令内存读写指令状态寄存器读写指令软中

SQLite3移植STM32MP157 ARM开发板

SQLite3移植STM32MP157ARM开发板下载源码移植首先就得有源码,从SQLite官网下载最新版源码下载地址这里使用的环境为Ubuntu16所以直接在Ubuntu下下载的。wgethttps://www.sqlite.org/2022/sqlite-autoconf-3400000.tar.gz下载完成后解压文件tar-vxfsqlite-autoconf-3400000.tar.gz进入解压后的目录cdsqlite-autoconf-3400000进入后可以看到解压出的源码文件如下开始移植配置生成Makefile在源码个目录下执行如下命令–host为指定交叉编译器为arm-linu

【ARM Coresight 系列文章19 -- Performance Monitoring Unit(性能监测单元)

文章目录1.1PMU介绍1.2PMU寄存器1.2.1PMU管理寄存器1.2.2PMU外设识别寄存器1.2.3PMU组件识别寄存器1.3性能监控事件1.3.1Cortex-A9特定事件1.1PMU介绍许多体系结构都包含PMU(PerformanceMonitoringUnit)硬件,用于跟踪、计数系统内部的一些底层硬件事件,如与CPU有关的事件(执行指令数、捕获异常数、时钟周期数等)、与cache有关的事件(data/inst./L1/L2cache访问次数,miss次数等)以及与TLB有关的事件等。这些事件反映了程序执行期的行为,可以帮助我们对程序进行分析和调优。以Cortex-A9为例:基于