草庐IT

ARM+FPGA

全部标签

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 第二种源

【FPGA项目】沙盘演练——基础版报文收发

第1个虚拟项目1. 前言点灯开启了我们的FPGA之路,那么我们来继续沙盘演练。用一个虚拟项目,来入门练习,以此步入数字逻辑的大门。KeyWords:FIFO、SOF、EOF、计数器、缓存、时序图、方案设计2. 项目要求1) 输入报文长度64~2048字节;2) 输入报文之间最小间隔为两拍;3) 输出报文的前两拍添加16bit报文长度信息;第1拍为报文长度高8位;第2拍为报文长度低8位;第3拍开始为输入报文;信号I/O位宽描述系统接口信号i_sys_clkI1系统时钟,125Mhzi_rst_nI1硬复位,低有效输入接口信号i_sop_inI1输入报文头指示信号,高有效i_eop_inI1输入报

基于国产 FPGA + DSP+1553B总线 的大气数据测量装置的设计与实现

大气数据可供飞行器的控制管理系统使用,为飞行器提供飞行指导,因此实时精准地获取大气数据在飞行器飞行过程中至关重要。本文设计并实现了一种基于FPGA和DSP的大气数据测量装置。测量装置包含五个压力传感器及两个温度传感器,可实时获取飞行器表面的压力信号及温度信号。传感器信号经采集调理、转换解算后输出五路压力值和两路温度值,得到的压力值和温度值,可用来解算马赫数、静压、攻角、侧滑角、总温等大气参数,飞行器控制系统通过这些参数可实时掌握飞行器飞行状态,从而对飞行器做出调整控制。 2大气数据测量装置方案设计2.1大气测量系统组成嵌入式大气测量系统由大气传感器组件、大气数据测量装置、控制系统组成。测压孔采

基于FPGA的多通道数据采集系统Verilog设计

基于FPGA的多通道数据采集系统Verilog设计随着科技的不断发展,数据采集在许多领域变得越来越重要。为了满足高速、高精度和多通道数据采集的需求,基于FPGA的多通道数据采集系统成为了一种常见的解决方案。本文将介绍如何使用Verilog语言设计一个基于FPGA的多通道数据采集系统,并提供相应的源代码。系统架构设计基于FPGA的多通道数据采集系统的主要组成部分包括模拟输入接口、FPGA芯片、数据存储器和控制器。系统的整体架构如下图所示:+----------------------+|||模拟输入接口|||+--------+-------------+|+--------v---------

FPGA时序约束01——基本概念

前言1.越来越多的时序问题随着FPGA时钟频率加快与其实现的逻辑功能越来越复杂,开发者遇到的问题很多时候不再是代码逻辑的问题,而是时序问题。一些开发者可能有这样的经历,一个模块在100MHz时钟运行没问题,而将时钟频率改为150MHz,模块功能就不正常了,这很可能就是整个系统的时序在150MHz下不满足要求,简言之,系统跑不到150MHz。对于FPGA的设计,时序分析与约束正变得不可或缺,尽管有时FPGA只实现非常简单的功能,但仍可能遇到时序问题,如果缺乏基本的时序分析和约束能力,将在面对偶尔出现的“奇怪”现象时束手无策。2.时序分析的发展——动态时序分析与静态时序分析动态时序分析是指在输入端

注意避坑: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