草庐IT

ARM异常处理(异常源的分类、异常的响应流程)

目录一、异常的概念1、什么是异常?2、处理异常时,处理器要考虑哪些问题?二、ARM异常源1、异常源的分类2、异常模式三、ARM异常响应1、CPSR寄存器内容备份(自动执行)2、修改CPSR的值(自动执行)(1)修改模式(2)修改中断禁止位(3)修改状态位3、保存返回地址(自动执行)4、跳转到异常向量表(自动执行)5、执行异常处理程序(自己编写)6、异常处理完毕的返回动作(自己编写)(1)恢复之前的状态(2)回到之前中断的下一个位置四、完整流程示意图一、异常的概念1、什么是异常?异常指的是处理器在正常执行程序的过程中遇到的不正常事件。异常发生时,处理器会暂停当前程序转而去处理异常事件,异常事件处

利用Docker搭建Linux ARM64架构编译环境

【前言】不想折腾交叉编译环境,但是又实在忍不了A53上编译工程的龟速,于是乎就想着是不是可以通过Docker搭一个armlinux开发环境,这样编译好的工程直接拷进A53中就可以运行了。说干就干,踩了一些坑,但是最终还是成功了。这里简单记录一下,你们能不能看懂,就看自己的造化了。 【干货】1、新建admin用户(因为arm那边系统用户是admin):sudosuadduseradmin(全程点默认)2、切换到该用户suadmin3、删除admin用户deluseradmin4、安装一些必要的环境:sudoaptinstallqemu-userqemu-user-staticgcc-aarch6

【Keil5报错】:Error: Cannot load driver ‘D:\Keil_v5\ARM\SeggerJL2CM3.dll“

项目场景:    新装keil5,装完jlik下载时,发现问题:Error:Cannotloaddriver'D:\Keil_v5\ARM\SeggerJL2CM3.dll". 问题描述        Error:Cannotloaddriver'D:\Keil_v5\ARM\SeggerJL2CM3.dll"解决方案:方案一    在系统环境中添加环境路径:D:\Keil_v5\ARM\Segger解决方案:方案二    下载最新版本Jlink下载链接:SEGGER-TheEmbeddedExperts-Downloads-J-Link/J-Trace    根据自己电脑的性能选择正确的软件

[linux]Ubuntu 18.04安装arm-linux-gcc交叉编译器的两种方法

第一种:apt安装法:Ctrl+Alt+T弹出终端,使用如下命令进行arm-linux-gcc的安装:sudoapt-getinstallgcc-arm-linux-gnueabihf  使用如下命令进行arm-linux-g++的安装:sudoapt-getinstallg++-arm-linux-gnueabihf  如果要卸载时使用如下命令进行移除,arm-linux-gcc的卸载:sudoapt-getremovegcc-arm-linux-gnueabihf  arm-linux-g++的卸载:sudoapt-getremoveg++-arm-linux-gnueabihf 第二种源

注意避坑:centos7官方版镜像不支持arm架构(docker请求的映像的平台(linux/aamd64)与检测到的主机平台(linux/alm64/v8)不匹配)fauria/vsftpd

注意是centos7docker官方版镜像不支持arm架构(FROMcentos:7),不是centos7不支持arm文章目录问题背景解释centos7官方版不支持arm架构(除开某些非官方衍生版本)ubuntu官方版支持arm架构疑问为什么centos官方版不支持arm架构?问题背景今天基于fauria/vsftpd在我们的arm盒子上做了个docker镜像,但是用镜像run容器的时候提示:WARNING:Therequestedimage'splatform(linux/amd64)doesnotmatchthedetectedhostplatform(linux/arm64/v8)and

3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM)

1.UbuntuQt配置交叉编译环境1.1ubuntu20.04安装Qtsudoapt-getinstallqtcreator1.2配置QT  GCC配置同上 最后配置Kits上面设置完成之后,设置Kits中的Device(这是为了能够直接把项目部署到arm设备上)   点击NEXT之后会出现连接被拒绝,不用担心,下面会对其设置密码。验证arm设置的密码。    1.3创建Qt项目     代码:此代码是抄的别人的,具体是哪位博主的,忘记了。如果该博主看到了请@下我,我会把连接附上main.cpp#include"widget.h"#includeintmain(intargc,char*ar

ubuntu搭建wifi热点,共享网络(x86、arm相同)

目录   1首先检查网络管理器服务是否开启(ubuntu需要界面)2创建并配置需要共享的wifi首先,明确下这篇文章说的是啥,是为了在ubuntu系统的电脑上,搭建一个wifi热点,供其他移动设备连接上网。就像你的手机开启一个热点,让别人能连接并上网。不能说非常相似,只能说一模一样。本人采用ubuntu20.04,其他版本的ubuntu可能界面有一点不一样,但大体上操作方式是相同的。1首先检查网络管理器服务是否开启(ubuntu需要界面)如果没有该软件需要通过apt-getinstallnetwork-manager安装#检查网络管理器的状态sudosystemctlstatusnetwork

ARM驱动开发

  驱动以来内核编译,依赖内核执行 驱动可以同时执行多份代码 没main 驱动是依赖内核的框架和操作硬件的过程一,Linux系统组成app:                                                [0-3G]---------------------------------系统调用(软中断)---------------------kernel:                                         【3-4G】5种功能:进程管理:进程的创建、销毁、调度等功能文件管理:通过文件系统ext2/ext3/ext4  yaff  ji

ARM架构下安装Mysql8.0数据库

本次安装使用Mysql 8.0版本,因为5.7版本在mysql官网没有适配,需要自己手动编译安装一、下载镜像官网地址:MySQL::DownloadMySQLCommunityServer(ArchivedVersions)根据官方文档,Kylin Linux Advanced Server release V10 (Tercel) 是基于开源社区的CentOS 7进行开发的,因此它对应的是Linux 7版本。Kylin在CentOS 7的基础上,进行了一些定制化的开发,以适应中国国内的一些特殊需求。二、卸载系统自带的MySQL和MariaDBrpm-qa|grepmysqlrpm-qa|gr

ARM公司发展史

目录1.前言   2.ARM公司发展史3.ARM架构发展史3.1ARMv1架构3.2ARMv2架构3.3ARMv3架构3.4ARMv4架构3.5ARMv5架构3.6ARMv6架构3.7ARMv7架构3.8ARMv6-M架构3.9ARMv8架构4.ARM的授权模式的确立4.1ARM授权使用方4.2基于ARM处理器/微控器的产品 5ARM全球合作伙伴5.1ARM中国芯1.前言           当前,X86和ARM架构是公认的在商业化进程中表现最优秀的两大架构。之前我们已经介绍了X86架构,今天介绍另一个在近十年大火的架构,ARM。        ARM架构,过去称作进阶精简指令集机器(Adva