同一个问题被两个人问到,都是ATF源码编译不过,更新工具链后解决
unknown value armv8.5-a’ for -march cc1: error: unknown value cortex-a55’ for -tune
如果您在编译的时候,也遇到架构或微架构的错误,可尝试更新工具链。 分…
ARM编译Qt程序报错pinyin.cpp:1: error: stray ‘\357’ in program
问题:
Qt程序用gcc编译可以通过,用arm-linux-gcc编译文件的时候出现异常错误。 pinyin.cpp:1: error: stray ‘\357’ in program pinyin.cpp:1: error: stray ‘\273’ in program …
CPU ARM 是ARM公司开发,包括Coretx-M, Cortex-R 和 Cortex-A Cortex-M: 定位是中低端市场,也就是我们的单片机,也叫微控制器,我们最常用的STM32F103就是Cortex-M3的内核。 Coretx-R: 定位高端实时系统,比如说医疗、工业…
ARM & Linux 基础学习记录
编辑整理 by Staok。
本文部分内容摘自 “100ask imx6ull” 开发板的配套资料(如 百问网的《嵌入式Linux应用开发完全手册》,在 百问网 imx6ull pro 开发板 页面 中的《2.1 100ASK_IMX6ULL_PRO:开发板资料》或…
ARM & SOC 系列快速鸟瞰
编辑整理 By Staok,如有错误恭谢指出,侵删。CC-BY-NC-SA 4.0。 零 鸟瞰 ARM Cortex 系列框图
图中包含现今主流处理器架构和内核层,ARM架构处理器的架构层、内核层和具体芯片(举例)三个维…
路由器的 LAN 口(Local Area Network port)是指用于连接局域网(LAN)设备的接口。它提供了有线连接的接口,允许局域网内的设备通过以太网线连接到路由器,并与其他局域网设备进行通信。
以下是对路由器的 LA…
ARM & i.MX6ULL 基础学习记录 编辑整理 by Staok
本文大部分内容摘自“100ask imx6ull”开发板的配套资料(如《IMX6ULL裸机开发完全手册》等等),侵删。进行了精髓提取,方便日后查阅。过于基础的内容不会在此提及。如有错误恭…
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…
chmod命令实质上是用来修改文件或目录的访问权限的命令。它通过修改文件或目录的访问控制列表(Access Control List,ACL)来实现权限的更改。
在Linux系统中,每个文件或目录都有一个表示其权限的数字值,即用三个八进制…
文章目录 前言OpenCL简介OpenCL 标准API 函数OpenCL C OpenCL Profiles总结 前言
记录本人学习OpenCL的历程,总结一些重要的知识点,作为个人学习笔记,参考书籍 Qualcomm Snapdragon™ Mobile Platform OpenCL General Programming and Optim…
第 2 章 ARM 处理器及系统结构( 共 96 分 ) 一、 ARM 处理器有几种工作状态?分别是什么? ( 3 分) ARM 处理器有两种工作状态 (1 分) : ARM 状态和 Thumb 状态…
头文件
#ifndef __HEAD_H__
#define __HEAD_H__
typedef struct{unsigned int MODER;unsigned int OTYPER;unsigned int OSPEEDR;unsigned int PUPDR;unsigned int IDR;unsigned int ODR;
}gpio_t;
#define PHY_LED1_ADDR 0X50006000
#define PHY_LED2_ADDR 0X50007000
#d…
ARM 的时钟周期计数保存在PMCCNTR 寄存器,不像x86用户态可以直接读取,需内核态使能,一种是在内核中使能,比如init,比较简单的是在模块中使能。
本来写了两个,arm32一个,arm64一个,方…
ARM的两种工作状态 大部分的ARM处理器都实现了两种指令集,32位ARM指令集和16位Thumb指令集,看生成的机器码是32位的还是16位的
ARM v6引入了新的指令集Thumb-2,能够提供32位和16位的混合指令,在增强了灵活性的同时保持了代码的高密度。 ARM的…
一、AMBA总线协议 Arm高级微控制器总线架构(Advanced Microcontroller Bus Architecture,AMBA)是一种开放式标准片上互联规范,用于连接和管理片上系统(System on Chip,Soc)中的功能块。 AMBA是一种广泛用于…
踩坑
前段时间在分析问题的时候,以 ARM 为例,发现代码段在 .o 和最终的 elf 文件中的大小端是不同的。
构造了测试例如下:
int a 0x66778899;
int b 0xaabbccdd;int main()
{asm volatile (".inst 0x11223344 \n"".inst …
一、一步步点亮LED
1. 硬件工作原理及原理图查阅
LED 本身有 2 个接线点,一个是 LED 的正极,一个是 LED 的负极。LED 这个硬件的功能就是点亮或者不亮,物理上想要点亮一颗 LED 只需要给他的正负极上加正电压即可,要熄灭一颗 LED…
1、出现Can’t exec “autopoint”: No such file or directory at /usr/share/autoconf/Autom4te/FileUtils.pm line 345.错误
(1)错误日志:
[15:02:43:900]autoreconf: Entering directory .
[15:02:43:918]autoreconf: running: autopoi…
valgrind安装:
tar -jxvf valgrind-3.12.0.tar.bz2
cd valgrind-3.12.0
./configure
make
sudo make install2.在ARM的板子上运行valgrind, 程序出现valgrind Fatal error at startup: a function redirection的错误提示。查找了下,发现是因为libc或ld.so库进行过s…
在arm飞腾服务器和麒麟V10SP3上安装nacos
服务器和系统版本
############## Kylin Linux Version #################
Release:
Kylin Linux Advanced Server release V10 (Lance)Kernel:
4.19.90-52.22.v2207.ky10.aarch64Build:
Kylin Linux Advanced Server
release V10 (S…
Apply Processor Defined Lables 在Ghidra中,apply processor defined labels功能可以为汇编代码中的地址和数据自动添加注释,这可以大大提高反汇编代码的可读性。 使用步骤如下: 打开您要反汇编的文件,进入Code Browser窗口。点击Edit菜单,选择Apply Processor Defined Labels…
环境 ubuntu14.0 arm开发板 源 1 deb http://mirrors.ustc.edu.cn/ubuntu-ports/ trusty main multiverse restricted universe2 deb http://mirrors.ustc.edu.cn/ubuntu-ports/ trusty-backports main multiverse restricted universe3 deb http://mirrors.ustc.edu.cn/ubun…
ARM 的概念ARM(Advanced RISC Machine),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。ARM 公司并不生产芯片也不销售芯片,它只出售芯片技术授权。其合作公司针对不同需求搭配各类硬…
ARM Linux 开发板编译字符驱动模块 my_driver.ko
1.下载源码:
源码版本必须和开发板linux内核源码版本号一模一样例如:linux-4.14.111
查看开发板linux版本:uname -r解压:
sudo tar -zxvf xxxx.tar.gz2.进入源码/driver目录
driver下新建…
目录 1, Introduction to Arm Compiler 6
1.1 armclang
1.2 armasm
1.3 armlink
1.4 armar
1.5 fromelf
1.6 Arm C libraries
1.7 Arm C libraries
1,8 Application development ,ARM程序开发流程
2,ARM 编译器 5和ARM 编译器 6的兼容性
3&…
目录
arm-linux-ld
arm-linux-objcopy
arm-linux-objdump ARM Linux ld指令详解_Linux编程_Linux公社-Linux系统门户网站
由于单板资源有限,开发者需要考虑.o文件的组合以及相互调用关系,再者,最后生成的bin文件是要在硬件中运行的&#…
offsetof(TYPE, MEMBER) 是一个宏定义,用于计算一个结构体中某个成员的偏移量。
其第一个参数 TYPE 是一个结构体类型,第二个参数 MEMBER 是 TYPE 中的一个成员变量名。
它将返回类型为 size_t 的整数,表示 MEMBER 相对于 TYPE 起始地址的偏…
Buildroot 是一个流行的嵌入式 Linux 系统构建工具,它可以帮助开发者自动化地构建完整的嵌入式 Linux 系统,包括文件系统、内核以及各种用户空间应用程序。虽然 Buildroot 在构建嵌入式系统方面非常强大且易于使用,但一般情况下,它…
1.实现设备文件和设备的绑定,编写LED驱动
2.复习竞态的解决方法和阻塞IO实现
第一个任务
头文件
#ifndef __HEAD_H__
#define __HEAD_H__
typedef struct{unsigned int MODER;unsigned int OTYPER;unsigned int OSPEEDR;unsigned int PUPDR;unsigned int IDR;u…
AAPCS
旧时,ARM 过程调用标准叫做 APCS (ARM Procedure Call Standard),Thumb的过程调用标准为 TPCS。如今这两种叫法已经废弃,统一称作 AAPCS (Procedure Call Standard for the ARM Architecture)。
AAPCS 是 ARM ABI(Application Binary…
编译U-Boot A. 首先在 Ubuntu 中安装 ncurses 库,否则编译会报错,安装命令如下:
sudo apt-get install libncurses5-dev B. 解压缩:
tar -vxjf uboot-imx-2016.03-2.1.0-g8b546e4.tar.bz2 C. 手工编译 uboot:
make …
是的,Delve 支持 ARM 设备。Delve 是一款用于调试 Go 代码的工具,它可以运行在多种平台上,包括 ARM 设备。如果你想在 ARM 设备上使用 Delve,你可以在 Delve 的官方网站上下载适用于 ARM 的二进制文件,或者自行编译 De…
前言
V3s 带有一个 USB 接口,将其设置为 HOST 或 OTG 模式,这样可以用来接入键盘、鼠标等 USB 外设。
USB 简介
USB 有两种设备:HOST 和 USB 功能设备。 在 USB2.0 中又引入了一个新的概念 OTG,即设备角色可以动态切换。 切换方…
SD卡(Secure Digital Card)是一种存储介质,它使用的主要存储技术是闪存(Flash Memory)。因此,SD卡可以被视为一种闪存存储设备。
闪存是一种非易失性存储器,它可以在断电后保持数据的完整性。与…
CMN-700包括几种电源管理能力,要么由外部控制,要么由SoC辅助。CMN-700具有以下电源管理功能:
(1)几个不同的预定义电源状态。这些状态包括SLC Tag和Data ram的all/half/none能否被powered up, powered down, or in re…
一. 简介
RK3588从入门到精通开发板:ArmSoM-W3Kernel:5.10.160OS:Debian11本⽂主要介绍在Rockchip平台下Camera相关代码配置,MIPI-CSI调试的通路解析
名词解释:
CSI ( Camera Serial Interface ):主机处…
准备:
Preparation:
1、 一块bpi的开发板,一根ttl的串口线,以及一张烧录好镜像的sd/tf卡(烧录到eMMC也行)。
1. A BPI development board, a TTL serial port cable, and an SD/TF card with a burned image (it ca…
导读Arm 周一警告其 Mali 系列 GPU 驱动漏洞 CVE-2023-4211 正被活跃利用。 Mali GPU 被广泛用于 Google Pixels 等 Android 手机,Chromebook 等 Linux 设备。
本地非特权用户可利用该漏洞访问已释放的内存。访问不再使用的系统内存是将恶意代码加载到攻击者可执行…
ADC简介
ADC ADC(Analog to Digital Converter)即模数转换器,指一个能将模拟信号转化为数字信号的电子元件 ADC主要参数
分辨率
ADC的分辨率一般以输出二进制数的位数来表示,当最大输入电压一定时,位数越高,分辨率越高…
文章目录 1.1 CCI-500 介绍1.2 CCI-500 features 详细介绍1.2.1 Data Coherency between ACE Masters1.2.2 Quality of Service (QoS)1.2.3 (I/O) Coherency1.2.4 Crossbar Interconnect Functionality1.2.5 Performance Monitoring Unit (PMU)1.2.6 DVM Message Transport1.2.…
请阅读【嵌入式开发学习必备专栏 之 ARM GCC 编译专栏】 文章目录 背景.ARM.exidx方法一:使用链接器脚本方法二:使用链接器选项注意事项背景
在移植 RT-Thread 到 cortex-m33(RA4M2)上的时候,在编译的时候遇到下面问题:
Building target: ra4m2.elf
arm
入门
ARM Cortex-M系列处理器的差异与联系:【ARM Cortex-M 系列 1 – Cortex-M0, M3, M4, M7, M33 差异】两本书籍的英文版和中文版 Definitive Guide to Arm Cortex-M23 and Cortex-M33 Processors Arm Cortex-M23和Cortex-M33微处理器权威指南ST的介绍页 Arm Cor…
【内存读写指令】 int *p0X12345678
*p100;//向内存中写入数据
int a *p;//从内存读取
1.单寄存器内存读写指令
1.1 指令码以及功能
向内存中写:
str:向内存中写一个字(4字节)的数据
strh:向内存写半个字(2字节)的数据
strb:向内存写一个字…
一、中断状态 对于每一个中断而言,有以下4个状态:
inactive:中断处于无效状态
pending:中断处于有效状态,但是cpu没有响应该中断
active:cpu在响应该中断
active and pending:cpu在响应该中…
TrustZone技术
让我们从最重要的问题开始:为什么存在TrustZone技术,它防御什么?保护用 C 和 C 编写的大型程序免受黑客攻击可能是一个挑战。内存损坏漏洞是一个常见问题,尽管消除它们是安全工程师的核心目标,但从操作…
ARM 账号注册报错 The claims exchange ‘Salesforce-UserWriteUsingEmail’ 参考:ARM 账号注册报错 The claims exchange ‘Salesforce-UserWriteUsingEmail’ specified in step ‘14’ returned HTTP error response with Code ‘BadRequest’ and Reason ‘Bad …
前言:
源文件需要经过编译才能生成可执行文件。
在 Windows 下进行开发时,只需要点几个按钮即可编译,集成开发环境(比如 Visual studio)已经将各种编译 工具的使用封装好了。
Linux 下也有很优秀的集成开发工具,但是更多的时候…
在Lua中加载和使用C库需要使用Lua的C API。以下是一个简单的示例:
首先,让我们创建一个C库。在C中,我们可以创建一个文件,如“mylib.c”,包含以下代码:
#include <stdio.h>
int add(int a, int b) …
文章目录 Trace32 CMM 概述1.1 Trace32 系统命令 SYStem1.1.1 Trace32 SYStem.CONFIG1.1.2 SYStem.MemAccess1.1.3 SYStem.Mode1.1.3.1 TRST-Resets the JTAG TAP controller and the CPU internal debug logic1.1.3.2 SRST- Resets the CPU core and peripherals 1.2 Trace32 …
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…
前言 CentOS (Community Enterprise Operating System) 是一种基于 Red Hat Enterprise Linux (RHEL) 进行源代码再编译并免费提供给用户的 Linux 操作系统。 CentOS 7 采用了最新的技术和软件包,并提供了强大的功能和稳定性。它适用于各种服务器和工作站应用场景&a…
上篇文章我们介绍 Electron 基本的运行开发与 windows 安装包构建简单流程,这篇文章我们从零到一构建 Linux arm 架构下安装包,实际上 Linux arm 的构建流程,同样适用于 Linux x86 环境,只不过需要各自的环境依赖,Linu…
1.低功耗接口
P-CHANNEL和Q-CHANNEL
AMBA低功耗接口(一)Q_Channel_q-channel p-channel-CSDN博客
AMBA低功耗接口(二)P_Channel_p channel-CSDN博客
2.WFI和WFE指令
ARM WFI和WFE指令
ARM hint instruction-WFI(Wait For In…
Unity简介:
Unity是一个用于C语言的轻量级单元测试框架。它由Throw The Switch团队开发,旨在简化嵌入式系统的单元测试。单元测试中单元的含义,单元就是人为规定的最小的被测功能模块,如C语言中单元指一个函数,Java里…
文章目录 SystemTrace ITMSystemTrace ITM 常用命令Trace Data AnalysisSystemTrace ITM
CoreSight ITM (Instrumentation Trace Macrocell) provides the following information: Address, data value and instruction address for selected data cyclesInterrupt event info…
本文主要探讨210的busybox相关知识。
busybox初移植 修改Makefile
ARCH arm
CROSS_COMPILE /root/arm-2009q3/bin//arm-none-linux-gnueabi- 配置修改
make menuconfigBusybox Settings--->Build Options--->[*]Build BusyBox as a static binary(no shared libs)Bu…
ARM 架构可以追溯到 1985 年,但它并没有保持静止。相反,自早期的 ARM 内核以来,它已经得到了大规模的发展,每一步都增加了特性和功能:
ARMv4 及更早版本
这些早期的处理器仅使用 ARM 32 位指令集。
ARMv4T
ARMv4T架…
对于ARM的处理器,中断给处理器提供了触觉,使处理器能够感知到外界的变化,从而实时的处理。本系列博文,是以ARM cortex-A系列处理器,来介绍ARM的soc中,中断的处理。
ARM cortex-A系列处理器,提供…
笔者来聊聊ARM的函数的调用规则 1、ARM函数调用规则介绍
首先介绍几个术语,
AAPCS:Procedure Call Standard for the ARM ArchitectureAPCS:ARM Procedure Call StandardTPCS:Thumb Procedure Call StandardATPCS:AR…
uart中断初始化流程
int SetupInterruptSystem(INTC *IntcInstancePtr,XUartPs *UartInstancePtr,u16 UartIntrId)
{int Status;/** Initialize the interrupt controller driver so that its ready to* use.*/Xil_ExceptionInit();GicPtrXScuGic_LookupConfig(GIC_VEC_ID);st…
1.ubuntu14.04安装环境配置 vi /etc/profile to add export JAVA_HOME/usr/lib/jvm/java-7-openjdk-amd64 export JRE_HOME J A V A H O M E / j r e e x p o r t C L A S S P A T H . : {JAVA_HOME}/jre export CLASSPATH.: JAVAHOME/jreexportCLASSPATH.:{JAVA_HOME}/lib…
当异常产生时, ARM core:1.拷贝 CPSR 到 SPSR_<mode>2.设置适当的 CPSR 位: 2.1.改变处理器状态进入 ARM 态2.2.改变处理器模式进入相应的异常模式2.3.设置中断禁止位禁止相应中断 (如果需要)3.保存返回地址到 LR_<mode>4.设置 PC 为相应的异常向量即开…
usb摄像头驱动打印信息 文章目录 usb摄像头驱动打印信息 在ubuntu中接入罗技c920摄像头打印的信息如下: [ 100.873222] usb 3-2: new high-speed USB device number 5 using xhci_hcd
[ 101.230728] usb 3-2: New USB device found, idVendor046d, idProduct08e5
…
将Z变换方程转换为差分方程的过程称为反Z变换。反Z变换是将信号从复频域转换为时间域的过程。如果我们已知一个系统的传递函数,即Z变换方程: H ( z ) Y ( z ) X ( z ) b n b n − 1 z − 1 ⋯ b 0 z − n 1 a n a n − 1 z − 1 ⋯ a 0 z − n 0…
ARM SMMU(System Memory Management Unit)主要用于提供外设的DMA请求的内存管理和地址转换功能。它主要处理虚拟地址与物理地址之间的映射关系,将外设的物理地址映射到系统的虚拟地址空间。在这个过程中,SMMU会根据配置的映射表将…
目录
Realms
Realm World和Root World
Arm TrustZone扩展和Arm RME之间有什么区别? 在《什么是机密计算?》中所述,Arm CCA允许您在阻止更高特权软件实体(例如Hypervisor)访问的同时部署应用程序或虚拟机(VM)。然而,通常由这些特权软件实体管理内存等资源。在这种情况…
1.前言
1.在linux下开发,免不了使用gdb调试,但是linux下开发嵌入式,都是跑在ARM板子上的,网上有很多GDB的基础教程,但是能在ARM开发板用的时候,会有各种问题。 比如:*.cpp: No such file or di…
uImage镜像文件的分析1.在内核源码顶层目录下打开Makefile文件,搜索uImage,发现没有目标,猜测在Makefile中包含其他路径的Makefile文件 596 include arch/$(SRCARCH)/Makefile arch/arm/Makefile2.进入arch/arm目录下,打开Makefile文件&…
什么是闭包
闭包是一种特殊的函数,它可以访问其创建时所处的环境中的变量,即使在函数创建后,环境已经不再存在,这些变量仍然可以被访问。
为了更好地理解闭包,我们可以看一个例子:
function counter()lo…
嵌入式端的神经网络算法部署和实现
介绍关于 ARM NN、CMSIS NN 和 K210 等嵌入式端的神经网络算法的部署和实现。神经网络的调教(训练)还是在 PC 端,神经网络参数训练好之后,在嵌入式端进行部署(本文的中心࿰…
talk is cheap,show you my book!
新书《从0开始学ARM》终于在各大平台上架了!!
一、关于本书
1. 本书主要内容
ARM体系架构是目前市面上的主流处理器体系架构,在手机芯片和嵌入式芯片领域,ARM体系架构…
目录
Linux 工程目录分析
顶层Makefile详解
make xxx_defconfig过程
Makefile.build脚本分析
make过程
built-in.o文件编译生成过程
make zImage过程 Linux 工程目录分析
将正点原子提供的Linux源码进行解压,解压完成以后的目录如图所示: 图就是正点原子提供的未编译的…
交换机的PoE代表Power over Ethernet(以太网供电),它是一种技术,允许通过以太网电缆传输数据的同时为连接的设备提供电力供应。
传统上,网络设备(如IP电话、无线接入点、网络摄像机等)通常需要…
MAC 地址(Media Access Control Address)是一个用于识别网络设备的唯一标识符。每个网络设备都有一个独特的 MAC 地址,用于在局域网中进行通信。 单播MAC地址:单播MAC地址用于单播通信,即一对一的通信模式。当设备发送…
一. Linux内核源码目录 我们在分析 Linux 之前,一定要先在 Ubuntu 中编译一下 Linux ,因为编译过程会生成一些文件,而生成的这些恰恰是分析 Linux 不可或缺的文件。 二. Linux内核源码重要文件含义 编译后的 Linux内核源码重要的文件…
1.为什么学习汇编? 我们在进行嵌入式 Linux 开发的时候是绝对要掌握基本的 ARM 汇编,因为 Cortex-A 芯片一 上电 SP 指针还没初始化, C 环境还没准备好,所以肯定不能运行 C 代码,必须先用汇编语言设置好 C 环境…
使用场景
在进行交叉编译的时候,出现 “not found (try using -rpath or -rpath-link)” 错误,可能是由于没有设置sysroot,而使用了rpath进行运行库的搜索路径指定,导致在链接的时候找不到对应的动态库。可以使用rpath-link来替代…
先写一个通用的内联函数模板,然后再通过宏控来定义各种读写函数。
(core/arch/arm/include/arm64.h)/** Templates for register read/write functions based on mrs/msr*/#define DEFINE_REG_READ_FUNC_(reg, type, asmreg) \
sta
由于3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM)_月上林梢的博客-CSDN博客 这一篇文章只用手动配置,一直在点、点、点。比较 LOW,现在在Ubuntu上使用Cmake实现交叉编译QT程序到Jetson Orin Nano…
前言
V3s 带有一个 USB 接口,将其设置为 HOST 或 OTG 模式,这样可以用来接入键盘、鼠标等 USB 外设。
USB 简介
USB 有两种设备:HOST 和 USB 功能设备。 在 USB2.0 中又引入了一个新的概念 OTG,即设备角色可以动态切换。 切换方…
目录
wol
以太网
MAC
PHY
RMII
通信配置
总结 wol
Wake-on-LAN简称WOL,WOL(网络唤醒) 是一种标准网络协议,它的功效在于让已经进入休眠状态或关机状态的计算机,透过局域网(多半为以太网ÿ…
全部学习汇总: GreyZhang/little_bits_of_linux: My notes on the trip of learning linux. (github.com) 1. 在Linux上也有嵌入式的开发环境,或许还有很多。不过,我现在接触到的大部分还是Windows居多。这一份文件介绍的是一个mbed platform…
RT Preempt linux学习笔记
一、实时操作系统(Realtime Operating System)
1. 什么是实时操作系统
A real-time system is a time-bound system which has well-defined, fixed time constraints. Processing must be done within the defined constra…
ARM属于RISC体系,许多指令单周期指令,是32位读取/存储架构,对内存访问是32位,Load and store的架构,只有寄存器对内存,不能内存对内存存储,CPU通过寄存器对内存进行读写操作。 ARM的寻址空间是线…
STM32F407-GCC-Template
Arm-none-eabi-gcc MakefileOpenOCDCMSIS-DAPVscode工程模板
一、本次环境搭建所用的软硬件
1)Windows or Linux (本文以Windows为主)
2)JLink、Daplink、Wch-Link烧录器
3)GNU Arm Embedded Toolchain交叉编译…
“从零开始:在Windows上创建aarch64(ARM64)虚拟机”
前言
aarch64(ARM64)架构是一种现代的、基于 ARM 技术的计算架构,具有诸多优点,如低功耗、高性能和广泛应用等。为了在 Windows 平台上体验…
导读:极术社区推出极术通讯,引入行业媒体和技术社区、咨询机构优质内容,定期分享产业技术趋势与市场应用热点。 芯方向
Power Control System Architecture文档开放访问了!
Arm近期已开放Power Control System Architecture v2.…
汇编程序调用 C 程序详情
在 C 程序和 ARM 汇编程序之间相互调用时必须遵守 ATPCS 规则,其是基于 ARM 指令集和 THUMB 指令集过程调用的规范,规定了调用函数如何传递参数,被调用函数如何获取参数,以何种方式传递函数返回值。 寄存…
当使用 SQLite C 语言接口进行数据库操作时,以下是一些建议和最佳实践: 错误处理:SQLite C 语言接口的函数通常返回一个整数作为返回码(return code)。在调用这些函数后,应该检查返回码以确定操作是否成功。…
1. 介绍 SAM9X60 处理器有部分OTP(One Time Programming) Aera 可用于存储user data,这样的话我们就可以将板卡 MAC Address和 SN 序列号写到固定的OTP User Area中。 为什么要使用 OTP 区域存储MAC地址和序列号呢?答案是为了省钱…
路由器的 WAN 口(Wide Area Network port)是指用于连接广域网(WAN)的接口。它是路由器与外部网络(如互联网)之间的物理连接点,允许路由器与互联网服务提供商(ISP)或其他广…
什么VLAN?
VLAN代表虚拟局域网(Virtual Local Area Network),它是一种在物理网络基础上创建逻辑上独立的虚拟网络的技术。VLAN允许将一个局域网划分为多个虚拟的逻辑网络,这些虚拟网络在逻辑上相互隔离,就…
一. Linux启动流程 看完 Linux 内核的顶层 Makefile 以后再来看 Linux 内核的大致启动流程, Linux 内核的启 动流程要比 uboot 复杂的多,涉及到的内容也更多。 本文中,我们就大致的了解一下 Linux 内 核的启动流程。 要分析 Li…
目录 摘要引言贡献 背景TrustZone和受信任的固件PMU和ETM 相关工作x86上的透明恶意软件分析ARM上的动态分析工具基于仿真的系统硬件虚拟化裸机系统 Trustzone相关的系统 系统架构具体实现和评估可以看论文,这里不赘述了讨论总结 作者:Zhenyu Ning and Fe…
什么是MTU VLAN
MTU VLAN 是指将最大传输单元(Maximum Transmission Unit,MTU)设置为特定值以适应 VLAN 环境的配置。
MTU 是指在网络通信中可以传输的最大数据包大小。以太网的常见 MTU 值为1500字节,这是指在以太网帧中的数据…
由于soc架构,把常用外设(控制器)集成到芯片内部,所以需要一种总线协调ARMcore与这些内部外设的通信,于是有了APB and AHB以及AXi这种片上总线。 同时要注意与常说的PC时代总线区分开:
CPU总线(…
什么是CSMA/CD
CSMA/CD(Carrier Sense Multiple Access with Collision Detection)是一种用于以太网等共享介质的访问控制机制。它用于协调多个设备共享同一物理介质(例如同一局域网)上的传输权利,以避免碰撞并提供公…
ARM Cortex-A,Cortex-M和Cortex-R是ARM处理器系列的不同产品线,针对不同的应用场景和要求进行了优化。以下是它们之间的主要区别:
1. 应用场景:Cortex-A系列处理器主要用于高性能计算设备,例如智能手机、平板电脑、个…
学习体系结构 - Arm 通用中断控制器 v3 和 v4 Learn the architecture - Arm Generic Interrupt Controller v3 and v4 Version 3.2 借助DeepL翻译 个人补充一些内容 建议提前阅读: arm 的 异常模型 1、Overview
本指南概述了 Arm 通用中断控制器 (GIC) v3 和 v4 …
消除公共部分组
链接器可以检测节组的多个副本,并丢弃其他副本。
Arm Compiler for Embedded 生成用于链接的完整对象。因此:
如果 C 和 C 源代码中存在内联函数,则每个对象都包含该对象所需的内联函数的外联副本。如果在 C 源代码中使用…
1、Not enough information to list image symbols. Not enough information to list load addresses in the image map. Finished: 2 information, 0 warning and 17 error messages… // / FreeRTOS与内存申请有关配置选项 / //
#define configSUPPORT_DYNAMIC_ALLOCATION …
参考:https://www.eet-china.com/mp/a39867.html
RISC-V和ARM都是基于**精简指令集计算 (RISC)**原理建立的指令集架构。他们的主要区别在于他们的授权模式和开放性:
ARM 是一种专有的指令集架构,众多使用ARM架构的厂商,只能根据…
1.复习串口实验的流程,熟练编写代码
2.串口发送指令控制硬件工作
a b c d
led1_on led1_off
代码:
main.c
#include "uartt.h"//封装延时函数void delay(int ms){int i,j;for(i0;i<ms;i){for(j0;j<2000;j);}}int main(){all_led_init1();//1.…
一. 简介 上一章我们编写了基于设备树的 LED 驱动,但是驱动的本质还是没变,都是配置 LED 灯所使用的 GPIO 寄存器,驱动开发方式和裸机基本没啥区别。 Linux 是一个庞大而完善的系统, 尤其是驱动框架,像 GPIO …
ARM Cortex-M处理器系列中的存储保护单元(Memory Protection Unit,简称MPU)是一种硬件机制,可用于在嵌入式系统中实现存储保护和访问权限控制。MPU允许开发人员对不同的内存区域分配不同的权限,从而提供对系统代码和数…
RK3576处理器
RK3576瑞芯微第二代8nm高性能AIOT平台,它集成了独立的6TOPS(Tera Operations Per Second,每秒万亿次操作)NPU(神经网络处理单元),用于处理人工智能相关的任务。此外,R…
1.首先需要从elasticsearch对应的kibana版本(arm)
Download Kibana Free | Get Started Now | Elastic 注意:选平台时切勿选错,linux aarch64,并选择elasticsearch对应的历史版本
2.可以通过rz命令上传压缩包至 linux 服务器进行解压,存放路径建议和e…
Processor state AArch64没有与ARMv7当前程序状态寄存器直接对应的寄存器(CPSR)。在AArch64中,传统CPSR的组件以字段的形式提供可独立访问。这些统称为处理器状态(PSTATE)。 在AArch64中,通过执行ERET指令从异常中返回,这会导致要拷贝到PSTAT…
文章目录 ARM RET 与 ERETARMv8 ERET 指令RET 与 ERET 的区别 ARM RET 与 ERET
在 ARMv8 架构中,RET 指令用于从函数或者过程返回。它主要负责从当前过程跳转回调用者,并恢复调用者的程序计数器 (PC) 的值。
语法:
RET {Xn} Xn 是一个可选…
ProASIC3 Flash Family FPGAs with Optional Soft ARM Support
Features and Benefits High Capacity • 30 k to 1 Million System Gates • Up to 144 kbits of True Dual-Port SRAM • Up to 300 User I/Os Reprogrammable Flash Technology • 130-nm, 7-Layer Metal (6 C…
一. 简介
前面说过,在新版本的 Linux 中,ARM 相关的驱动全部采用了设备树(也有支持老式驱动的,比较少),最新出的 CPU 其驱动开发也基本都是基于设备树。所以,掌握设备树是 Linux 驱动开发人员必 备的技能!…
Direct Memory Access, 直接存储访问。同SPI,IIC,USART等一样,属于MCU的一个外设,用于在不需要MCU介入的情况下进行数据传输。可以将数据从外设传输到flash,也可以将数据从flash传输到外设,或者flash内部数据移动。 它…
根据 ISO C 标准的要求,介绍与翻译相关的 Arm C 编译器和 C 库的实现定义方面。 第 5.2.4.1 节 ISO/IEC 9899:2011 标准的翻译限制要求符合的编译器必须接受的最低翻译限制。下表汇总了这些限制。在此表中,限制 <memory> 表示 Arm Comp…
ARM Cortex-A 内核的运行模式切换 ARM Cortex-A系列内核的处理器支持多种运行模式的切换。 不同的运行模式能满足不同的需求,如响应中断、运行操作系统内核、处理异常等。 目录
1 ARM Cortex-A 内核的处理器什么场景下有切换运行模式的需求 2 ARM Cortex-A 内核的处理…
链接:https://pan.baidu.com/s/1KTnzt19pzOE2Uwvp7d4E-w?pwd1688 提取码:1688 (1) ls(list,列表)
作用:使用列表把当前文件夹下所有文件显示出来 ls -a 显示所有文件,包括隐藏文件 ls …
ARM 的新 Cortex-X5 设计似乎遇到了问题,有新的传言称,超级核心在提高时钟速度时会经历严重的高功耗,并且当最大功率限制降低时,多核性能会下降。虽然这对高通来说可能不是问题,因为据说其 Snapdragon 8 Gen 4 采用定制…
CAN 使用
1. CAN 简介
CAN (controller Area Network):控制器局域网络总线,是一种有效支持分布式控制或实时控制的串行通信网络。 目前世界上绝大多数汽车制造厂商都采用CAN总线来实现汽车内部控制系统之间的数据通信。 RK3568/RK3588的CAN驱动文件&a…
对于 K e i l u V i s i o n I D E Keil\quad uVision\quad IDE KeiluVisionIDE,程序编译好之后,代码的下载位置( R O M ROM ROM空间)以及代码运行的时候使用的 R A M RAM RAM空间( R A M RAM RAM空间)默认…
RISC是精简指令集计算机(RISC:Reduced Instruction Set Computing)
ARM汇编概述
一开始,ARM公司发布两类指令集:
① ARM指令集,这是32位的,每条指令占据32位,高效,但是太占空间 2…
ARM内部寄存器
有R0-R1516个寄存器 R0-R12通用目的寄存器Program status Register:程序状态寄存器 ,用来保存某些状态的值保存:m3/m4架构保存在xPSR,coretex-A7架构保存在CPSR中XPSR是程序状态寄存器
MRS命令:表示Move to Regis…
ARM TrustZone技术是ARM架构中一种重要的安全扩展技术,为嵌入式系统提供了强大的安全保障。下面将详细解析ARM TrustZone技术的核心思想、工作原理及其在构建嵌入式系统安全扩展基石方面的重要性。
一、核心思想
ARM TrustZone技术的核心思想是将处理器的执行环境…
文章目录 前言一、SquareLine Studio是什么?二、下载安装三、工程配置四、交叉编译 前言
遇到的问题:#error LV_COLOR_DEPTH should be 16bit to match SquareLine Studios settings,解决方法见# 四、交叉编译
一、SquareLine Studio是什么…
一. 简介
前面几篇文章学习了Linux内核自带的 LED 灯驱动,一篇文章分析了驱动与LED设备匹配的关键,一篇文章通过内核配置界面使能了Linux内核自带的 LED 灯驱动。文章如下:
Linux内核自带的LED灯驱动框架:驱动与设备匹配分析-CS…
ARM 处理器共有 7 种不同的处理器模式,在每一种处理器模式中可见的寄存器包括 15 个通用寄存器( R0~R14)、一个或两个(User和Sys不是异常模式,没有spsr寄存器)状态寄存器(cpsr和spsr)、程序计数器( PC )。 从上图可以看到…
视频链接
Nor Flash硬件电路设计01_哔哩哔哩_bilibili
NOR FLASH电路设计
1、NOR FLASH介绍
NOR Flash最早是由Intel公司于1988年开发出的。
NOR Flash虽容量小但速度快,最大特点是支持芯片内执行(XIP),即程序可以直接在NOR flash的片内…
前言
最近在搞交叉编译的事,手上拿了个同事的香橙派玩交叉编译,现在来到了第一步,就是先在arm上配置qt的开发环境。当然了Qt没有直接提供qt on arm,而是需要自行在arm环境下编译一个qt环境出来,所以这里需要使用到qt提…