arm32专题

rsyslog交叉编译(armv7、armv8、aarch64、arm32平台通用)

文章目录 1、依赖库列表2、编译建议3、编译3.1、编译libestr3.2、编译libfastjson3.3、编译zlib3.4、编译libuuid3.5、编译libgpg-error3.6、编译libgcrypt3.7、编译openssl3.8、编译curl3.9、编译rsyslog 该文档描述了如何交叉编译rsyslog到arm64嵌入式平台。 1、依赖库列表 lib

ARM32开发——(二十四)电源管理单元

1. 重点 了解什么是电池管理单元PMU了解ARM32中的电源域了解几种省电模式 2. 主要内容 2.1 PMU PMU全称Power Management Unit,电源管理单元。 2.2 电源域 总共有三大电源域,包括VDD / VDDA域,1.2V域和备份域。 2.2.1 VDD/VDDA域 VDD/VDDA域如下图: 提供PMU 常规电源供应以下模块的供电

ARM32开发——(二十三)存储器介绍

1. 存储器分类 存储器按其存储介质特性主要分为“易失性存储器”和“非易失性存储器”两大类。 “易失/非易失”是指存储器断电后, 它存储的数据内容是否会丢失的特性。 在计算机中易失性存储器最典型的代表是内存,非易失性存储器的代表则是硬盘。 2. RAM Random access memory 随机存取存储器,缩写:RAM,也叫主存,是与CPU直接交换数据的内部存储器。它可以随

ARM32开发——(二十一)ADC系统工作原理

1. ADC硬件结构 内部结构简化框图 2. ADC转换模式 2.1 单次转换,非扫描模式 2.2 连续转换,非扫描模式 2.3 单次转换,扫描模式 2.4 连续转换,扫描模式 3. 规则组和注入组 4. ADC数据对齐 5. ADC转换时间 总转换时间=采样时间+12 个 CK_ADC 周期 6. AD

ARM32开发——(十八)RTC实时时表

1. RTC内置实时时钟 1.1 RTC时钟介绍 RTC是实时时钟(Real-Time Clock)的缩写。它是一种硬件模块或芯片,用于提供准确的日期和时间信息。 GD32F407上有RTC的外设,它提供了一个包含日期(年/月/日)和时间(时/分/秒/亚秒)的日历功能。除亚秒用二进制码显示外,时间和日期都以BCD码的形式显示。 RTC本质上就是一个1秒计数器,通过秒来换算出时间。因此需要我

ARM32开发——(十一)GD32F4_定时器查询

GD32F4定时器包含多个计数器,每个计数器都有自己的计数寄存器和控制寄存器。通过配置寄存器的参数,可以实现不同的定时功能。GD32F4定时器支持多种工作模式,包括定时器模式、计数器模式和PWM模式等。 GD32F4定时器还具有定时中断功能,可以在特定的时间点触发中断,用于实现定时任务。 GD32F4定时器的使用需要通过配置寄存器来设置相应的参数,包括计数模式、计数方向、预分频系数等。然后通过

ARM32开发--IIC时钟案例

知不足而奋进 望远山而前行 目录 文章目录 前言 目标 内容 需求 开发流程 移植驱动 修改I2C实现 测试功能 总结 前言 在现代嵌入式系统开发中,移植外设驱动并测试其功能是一项常见的任务。本次学习的目标是掌握移植方法和测试方法,以实现对开发板中的PCF8563实时时钟(RTC)的设置和读取功能。通过以下开发流程,我们将逐步完成移植驱动、修改I2C实现以及测试功

ARM32开发--IIC软实现

知不足而奋进 望远山而前行 目录 文章目录 前言 开发流程 GD32F4软件I2C初始化 GD32F4软件I2C引脚功能 写操作 读操作 总结 前言 在嵌入式系统开发中,软件实现的I2C通信协议扮演着至关重要的角色。本文将深入探讨如何在GD32F4系列微控制器上实现软件I2C功能,涵盖了引脚初始化、功能定义以及读写操作的详细步骤和代码示例。 开发流程 引脚初始

ARM32开发--RTC内置实时时钟

知不足而奋进 望远山而前行 目录 系列文章目录 文章目录 前言 学习目标 学习内容 RTC时钟介绍 RTC结构框图 RTC原理图 RTC时钟电源 RTC的配置流程 RTC时钟 开发流程 RTC初始化 时钟配置 时钟获取 BCD格式转化 完整代码 RTC时钟备份寄存器 总结 前言 在嵌入式系统开发中,实时时钟(RTC)是至关重要的组件,它提供了

ARM32开发--外部中断EXTI

知不足而奋进 望远山而前行 目录 文章目录 前言 目标 内容 外部中断概念 中断触发机制 中断触发源 硬件外部中断 需求 开发流程 关心的内容 完整代码 软件外部中断 需求 开发流程 关心的内容 完整代码 中断消抖处理 系统计数模块 自定义计数器 systick完成代码 消抖完整逻辑 总结 前言 在许多嵌入式系统中,包括STM32和GD3

ARM32开发——LED驱动开发

🎬 秋野酱:《个人主页》 🔥 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 需求介绍现实问题需求分析测试案例构建BSP驱动构建业务实现 需求介绍 开发版中有4个灯,现在需要用4个灯显示充电情况: 开始充电时,需要呈现出流水灯闪烁4盏灯表示当前的电量充电流水灯起始位置是当前电量,全部点亮后,再次从当前电量位置进入流水灯效果

ARM32开发——LED点灯

🎬 秋野酱:《个人主页》 🔥 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 点灯的两种方式灌入电流法输出电流法扩展板点灯点灯方式点亮LED1-4完整实现 点灯的两种方式 不同颜色LED,达到相同亮度,对应的电压不同,通常需要接入220Ω到10KΩ的限流电阻,阻值越小,LED越亮,反之LED越暗,以下两种方式皆可。 灌入电流法

ARM32开发——第一盏灯

🎬 秋野酱:《个人主页》 🔥 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 开发流程需求分析项目新建代码编写GPIO初始化 程序编译程序烧录烧录扩展(熟悉)官方烧录器烧录(熟悉) 开发流程 项目新建代码编写程序烧录验证结果 需求分析 点亮LED1灯,并且闪烁。 项目新建 附件为模板代码,解压后修改项目名称。 进入

ARM32开发——总线与时钟

🎬 秋野酱:《个人主页》 🔥 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 APB总线时钟树时钟树 外部晶振内部晶振 在这个例子中,这条大街和巴士构成了一套系统,我们称之为AHB总线。 ● 不同的房子代表着不同的功能功能外设,比如GPIO,SRAM,USBHS等。 ● 房子的灯表示是否启用对应的功能。 ● 房子的招手员决定了功

arm32位固定指令中怎么容纳32位变量

在ARM指令集汇编码中,32位有效立即数是通过______偶数位而间接得到的   A、循环左移B、循环右移、C、逻辑左移、D、逻辑右移答案为循环左移,为什么?还有最好解释一下逻辑移动和循环移动的概念 在ARM指令中,有三个操作数,目的操作数,第一原操作数,第二原操作数,其中最有意思的就是第二原操作数了,在ARM 指令中,第二原操作数共有12位,分成两个部分,一个部分占8位,能表示

20240502解决ARM32编译器编译quectel-CM时for循环出错的解决

20240502解决ARM32编译器编译quectel-CM时for循环出错的解决 2024/5/2 17:17 缘起:QMIThread.c:2100:9: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode 1、修改Makefile为ARM32架构: Z:\quectel-

arm32机器的ubuntu1804的源突然不能update了

换成x86的官方源不行: Hit:1 http://archive.canonical.com/ubuntu bionic InReleaseGet:2 http://archive.ubuntu.com/ubuntu bionic InRelease [242 kB]Get:3 http://archive.ubuntu.com/ubuntu bionic-updates InReleas

在mac环境下交叉编译ARM32版Docker

前言   在把docker迁移至树莓派时,需要进行源码编译,记录一下迁移过程及docker开发环境搭建的流程。这个博客是基于17.05.0-ce-rc1分支进行的。 我已经把所有的编译环境制作了镜像,可以直接通过: docker run --rm -i --privileged -e BUILDFLAGS -e KEEPBUNDLE -e DOCKER_BUILD_GOGC -e DOCKE

【arm】armv8中通用寄存器的饱和指令实现(对标arm32:ssat,usat,qadd,qsub)

Date: 2018.9.7 1、参考: https://community.arm.com/processors/f/discussions/3330/how-aarch32-bit-applications-will-be-supported-on-aarch64 https://community.arm.com/processors/f/discussions/7521/what

【arm】ARM32和AARCH64的几点区别

Date: 2018.11.11 学习参考: https://blog.csdn.net/listener51/article/details/82856001 1、指令编码长度 A32模式(ARM instruction sets),指令固定的编码长度为32bitT32模式(Thumb instruction sets),指令可以编码成16bit长,也可编码成32bit长A64模式

验证嵌入式ARM32环境中4G模块的有效方法

目录标题 第一章: 嵌入式ARM32环境中4G模块的重要性与应用1.1 什么是嵌入式系统1.2 ARM32架构的特点1.3 4G模块在嵌入式系统中的应用1.3.1 技术角度 第二章: 4G模块的基础知识与应用2.1 什么是4G模块?2.1.1 技术特点 2.2 4G模块在嵌入式系统中的应用2.2.1 应用实例 第三章: 硬件和软件准备3.1 硬件连接要点3.1.1 连接步骤 3.2 必需

arm汇编(1)arm32寄存器介绍

文章目录 1.arm寄存器通用寄存器程序状态寄存器 2.CPSR寄存器详解CPSR与CPSR_c的区别 从事嵌入式arm开发,还是有必要了解下arm的寄存器。虽然现在不要求会写汇编,但是作为一个资深工程师,我们还是需要有读懂汇编代码的能力。 分析内核代码,也少不了与汇编打交道,而汇编语言和平台架构紧密结合,基本都是在操作寄存器。我们今天来学习下arm寄存器。 1.arm

ARM32内存空间分配

Linux内核一般将处理器的虚拟地址空间分成两部分,在32系统上,地址空间在用户进程和内核之间划分的典型比例为3:1,在给出的4GB的虚拟地址空间中,0 ~ 3GB将用于用户空间而3GB ~ 4GB将用于内核空间,内核提供了相关的配置项来修改该比例,也就是说Kernel最多寻址1GB的虚拟地址空间。 当CPU启动MMU后,CPU访问的时虚拟地址空间,然后由MMU根据页表转换成物理地址,页表是由K