首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
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
阅读更多...