草庐IT

ARM-Cortex_M

全部标签

keil无法读取到jlink下载器,程序无法下载,报错No Cortex-M SW Device Found

1、如题,我用的芯片是STM32F103ZET6,日常的接上下载器进行程序下载,结果发现程序下载不进去,错误提示如下,一看就是Jlink没有连接上。进去设置里面查看,确实没有看到Jlink读取到芯片的信息。首先去设备管理器里面查看,驱动是有的然后我用这个Jlink连上其他开发板,发现也可以读取到Jlink,程序也是可以下载进去的,控制变量法分析,唯一不同的就是我的板子有问题咯。在网上搜了下相关问题,有一个答案说边下载的时候边按下Reset按键,如下图。我试了下,结果出现了新的提示和报错真是一波未平一波又起,怎么办呢,继续查资料,发现又有说将boot0拉高,我的原理图里面是将boot0,boo1

【嵌入式】Linux开发工具arm-linux-gcc安装及使用

知识架构及层次—程序编译及调试嵌入式交叉编译器安装配置宿主机执行编译、链接嵌入式软件的计算机目标机运行嵌入式软件的硬件平台“本地”编译器用来生成在与编译器本身所在的计算机和操作系统(平台)相同的环境下运行的目标代码,例如Windows环境生成Windows目标代码。交叉编译器用来生成在其它平台上运行的目标代码,例如WindowsARM微处理器/Linux系统下编译器编译器命名规则arch[-vendor][-os][-(gnu)eabi]-工具名称arch–体系架构,如ARM,MIPSvendor–工具链提供商,CPU名称或者开发板厂商os–目标操作系统,如linux(gnu)eabi–使用的

【嵌入式】Linux开发工具arm-linux-gcc安装及使用

知识架构及层次—程序编译及调试嵌入式交叉编译器安装配置宿主机执行编译、链接嵌入式软件的计算机目标机运行嵌入式软件的硬件平台“本地”编译器用来生成在与编译器本身所在的计算机和操作系统(平台)相同的环境下运行的目标代码,例如Windows环境生成Windows目标代码。交叉编译器用来生成在其它平台上运行的目标代码,例如WindowsARM微处理器/Linux系统下编译器编译器命名规则arch[-vendor][-os][-(gnu)eabi]-工具名称arch–体系架构,如ARM,MIPSvendor–工具链提供商,CPU名称或者开发板厂商os–目标操作系统,如linux(gnu)eabi–使用的

嵌入式系统——ARM架构及分类

文章目录一、什么是架构二、ARM架构分类Arm-A架构Armv7-A(1)指令集(2)处理器模式(3)通用寄存器(4)特殊寄存器Armv8-A寄存器指令集异常模型及处理器模式一、什么是架构  “架构”(Architecture)指的是功能规范,ARM架构即是ARM处理器的功能规范,包括以下主要内容:指令集:每条指令的功能,指令在存储器中的表示方法(编码);寄存器集:寄存器的数量、大小、功能,以及寄存器的初始状态;异常模型:不同特权级、异常类型,以及采纳异常和从异常返回时的处理动作;存储器模型:存储器的访问顺序,当软件必须执行准确维护时,缓存的行为;调试、跟踪和统计:如何设置和触发断点,跟踪工具

【docker】x86主机在docker中运行arm64镜像

一、背景1、在x86搭建arm64ros的开发环境。2、宿主机:虚拟机x86_ubuntu183、设备:jetsonagxxavier(jetpack4.6.1)jetson已安装各种软件环境二、docker环境搭建打包jeston文件系统把U盘插到jetson,然后执行打包命令。--exclude是排除不需要打包的文件sudotar-cvpf/U盘路径/jetson.tar--directory=/--exclude=proc--exclude=sys--exclude=dev--exclude=run--exclude=boot--exclude=media/.2、x86加载docker文

ARM汇编

一、ARM编程-工作模式ARMCortex-A系列处理器支持如下八种工作模式:用户模式(usr):User模式操作系统之上应用程序代码运行本模式系统模式(sys):System模式操作系统内核源码里各个系统调用函数体内代码所处的工作模式管理模式(svc):Supervisor模式开机或复位运行的代码软中断异常的处理代码中断模式(irq):Interrupt模式中断是一种硬件通知机制中断异常的处理代码所处的工作模式快速中断模式(fiq):Fast-interrupt模式快中断也是一种硬件通知机制,但对它的响应速度,要比中断异常更快快中断异常的处理代码所处工作模式未定义模式(und):undefi

搭建QEMU+ARM64+Ubuntu模拟环境

QEMU是一个强大的模拟器,可以模拟各种CPU裸机,也可以模拟包括CPU在内的一些系统级组件。QEMU和KVM结合,还可以在主机上运行性能接近主机的虚拟机。本文记录了我在Ubuntu18.04上用QEMU搭建ARM64+Ubuntu20.04虚拟机的过程。1.安装aarch64交叉编译环境 sudoaptinstallgcc-aarch64-linux-gnuUbuntu18.04上安装的arm64编译器版本为7.5.02.编译Linux内核下载Linuxkernel 5.10.146代码 wgethttps://cdn.kernel.org/pub/linux/kernel/v5.x/lin

常用的linux+arm编译运行方法

常用的linux+arm编译运行方法文章目录常用的linux+arm编译运行方法一、准备工作:二、编译工作:三、运行工作总结一、准备工作:1、通过vmware搭建虚拟机ubuntu18.04运行环境。2、安装交叉编译工具链gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz。3、安装mobaxterm。4、安装winscp或者Vmwaretools共享文件夹。二、编译工作:1、编写CmakeLists.txt进行程序的整体编译指令:2、把交叉编译工具链放到指定目录下:/opt/prebuilts/gcc/linux-x86/aarch

【保姆级教程】Docker服务在双架构(X86和ARM)编译统一实践

在现代计算机系统中,X86和ARM64是两种常见的处理器架构。为了满足不同架构的需求,Docker镜像也需要支持双架构编包形式。本文将介绍Docker镜像双架构编包统一的实践  一、Docker镜像编包   在Docker镜像中,通常使用多阶段构建来实现。在第一阶段,构建出对应架构服务的二进制文件;在第二阶段,运行对应架构的二进制文件,下面是两个基于Debian的Dockerfile文件示例,分别用于构建X86架构和ARM64架构的Docker镜像:1.X86架构的Dockerfile文件示例:FROMdebian:latestASbuilderRUNapt-getupdate&&apt-ge

ARM64 寄存器、常用汇编指令收集

寄存器ARM64有34个寄存器,包括31个通用寄存器、SP、PC、CPSR。寄存器位数描述x0-x3064bit通用寄存器,如果有需要可以当做32bit使用:WO-W30FP(x29)64bit保存栈帧地址(栈底指针)LR(x30)64bit通常称X30为程序链接寄存器,保存子程序结束后需要执行的下一条指令SP64bit保存栈指针,使用SP/WSP来进行对SP寄存器的访问。PC64bit程序计数器,俗称PC指针,总是指向即将要执行的下一条指令,在arm64中,软件是不能改写PC寄存器的。CPSR64bit状态寄存器x0-x7:用于子程序调用时的参数传递,X0还用于返回值传递x0-x30是31个