- 每个异常级别,即EL3、EL2或EL1,都有自己的虚拟地址空间。应用程序都有独立的虚拟内存空间,作为应用程序无需了解系统的硬件内存布局。为了能够使得操作系统同时运行多个任务,现代CPU都设计了MMU(内存管理单元),其作用是管理虚拟地址和物理地址的映射关系。应用层的虚拟地址看起来连续,实际映射的时候,物理地址很大可能是碎片化的。 每个异常级别,即EL3、EL2或EL1,都有自己的虚拟地址空间。应用程序都有独立的虚拟内存空间,作为应用程序无需了解系统的硬件内存布局。为了能够使得操作系统同时运行多个任务,现代CPU都设计了MMU(内存管理单元),其作用是管理虚拟地址和物理地址的映射关系。应用层的虚拟地址看起来连续,实际映射的时候,物理地址很大可能是碎片化的。
- 在ARM64中,除了中止、复位和软件异常外,中断也是属于异常的一种。下面我们就来了解一下异常种类、异常处理和ARMv8的异常向量表。 在ARM64中,除了中止、复位和软件异常外,中断也是属于异常的一种。下面我们就来了解一下异常种类、异常处理和ARMv8的异常向量表。
- 在 ARMv8 中,程序执行发生在四个异常级别中的一个。在AArch64中,异常级别决定了权限级别,其方式与ARMv7中定义的权限级别类似。因此在ELn执行对应于权限PLn。同样,数字越小,异常越低,权限越低。异常级别提供了软件执行权限的逻辑分离,适用于ARMv8架构的所有操作状态。它类似于并支持计算机科学中常见的分层保护域的概念。 在 ARMv8 中,程序执行发生在四个异常级别中的一个。在AArch64中,异常级别决定了权限级别,其方式与ARMv7中定义的权限级别类似。因此在ELn执行对应于权限PLn。同样,数字越小,异常越低,权限越低。异常级别提供了软件执行权限的逻辑分离,适用于ARMv8架构的所有操作状态。它类似于并支持计算机科学中常见的分层保护域的概念。
- 嵌入式ARM汇编中,如何将一串数据传到数组中?汇编调用C函数的练习、汇编中循环语句的练习。 嵌入式ARM汇编中,如何将一串数据传到数组中?汇编调用C函数的练习、汇编中循环语句的练习。
- 0 引言 前面Linux专题中关于Linux下系统编程总结了17篇博文,主要是为了提高Linux下的C编程应用能力,熟悉Linux编程应用环境,从此篇博文起开始Linux驱动的总结,后面计划加一些综合实践项目练习。 1 什么是Linux驱动? 做过嵌入式的都知道裸机程序和带操作系统的程序,这里就不展开讲了,初学者最开始接触的都是裸机程序,main中while大循环跑天下。实际上,掌握了操作系 0 引言 前面Linux专题中关于Linux下系统编程总结了17篇博文,主要是为了提高Linux下的C编程应用能力,熟悉Linux编程应用环境,从此篇博文起开始Linux驱动的总结,后面计划加一些综合实践项目练习。 1 什么是Linux驱动? 做过嵌入式的都知道裸机程序和带操作系统的程序,这里就不展开讲了,初学者最开始接触的都是裸机程序,main中while大循环跑天下。实际上,掌握了操作系
- I2C总线通信原理 I2C总线简介 I2C总线介绍I2C(Inter-Integrated Circuit)总线(也称IIC或I2C)是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备,是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,期间封装形式少,通信速率高等优点。 I2C总线特征两条总线线路:一条串行数据SDA,... I2C总线通信原理 I2C总线简介 I2C总线介绍I2C(Inter-Integrated Circuit)总线(也称IIC或I2C)是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备,是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,期间封装形式少,通信速率高等优点。 I2C总线特征两条总线线路:一条串行数据SDA,...
- 1. STM32-DMA工作原理 DMA简介ADC的概念DMA,全称为:Direct Memory Access,即直接存储器访问。DMA 传输方式无需 CPU 直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为 RAM 与 I/O 设备开辟一条直接传送数据的通路,能使 CPU 的效率大为提高。STM32F0-DMA简介● 5 个独立的可配置通道 ( 请求 )● 每个... 1. STM32-DMA工作原理 DMA简介ADC的概念DMA,全称为:Direct Memory Access,即直接存储器访问。DMA 传输方式无需 CPU 直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为 RAM 与 I/O 设备开辟一条直接传送数据的通路,能使 CPU 的效率大为提高。STM32F0-DMA简介● 5 个独立的可配置通道 ( 请求 )● 每个...
- 1.目标利用ADC采集按键以及光照传感器的数据,并在按键中断处理程序中打印采集的结果。按键和光照分别采集,2个通道,这样实现多通道的试验。1.1多通道采集原理通过CubeMX设计界面配置ADC的多个通道,并且设置采集顺序,配置号寄存器后。ADC的DR寄存器只有一个,要采集多个通道,会根据配置按顺序一个一个的进行采集。在执行采集获取数据时,需要注意要判断寄存器状态,是否已经采集完成。1.2原理... 1.目标利用ADC采集按键以及光照传感器的数据,并在按键中断处理程序中打印采集的结果。按键和光照分别采集,2个通道,这样实现多通道的试验。1.1多通道采集原理通过CubeMX设计界面配置ADC的多个通道,并且设置采集顺序,配置号寄存器后。ADC的DR寄存器只有一个,要采集多个通道,会根据配置按顺序一个一个的进行采集。在执行采集获取数据时,需要注意要判断寄存器状态,是否已经采集完成。1.2原理...
- 每学一门新编程语言,都喜欢用“Hello World”来昭告天下。在硬件开发板的学习上,我想应该是点亮一盏LED来表示。点亮LED需要了解GPIO。1.GPIO接口简介通用输入输出接口GPIO是嵌入式系统、单片机开发过程中最常用的接口,用户可以通过编程灵活的对接口进行控制,实现对电路板上LED、数码管、按键等常用设备控制驱动,也可以作为串口的数据收发管脚,或AD的接口等复用功能使用。因此其作... 每学一门新编程语言,都喜欢用“Hello World”来昭告天下。在硬件开发板的学习上,我想应该是点亮一盏LED来表示。点亮LED需要了解GPIO。1.GPIO接口简介通用输入输出接口GPIO是嵌入式系统、单片机开发过程中最常用的接口,用户可以通过编程灵活的对接口进行控制,实现对电路板上LED、数码管、按键等常用设备控制驱动,也可以作为串口的数据收发管脚,或AD的接口等复用功能使用。因此其作...
- 上篇文章介绍了如何搭建在Linux开发板中搭建Qt的运行环境,并测试了Qt自带的例程。 本篇,来介绍如何自己编写一个Qt程序,并将编译结果放到Linux开发板中运行。 上篇文章介绍了如何搭建在Linux开发板中搭建Qt的运行环境,并测试了Qt自带的例程。 本篇,来介绍如何自己编写一个Qt程序,并将编译结果放到Linux开发板中运行。
- STM32目前市面上使用比较广泛,资料多,接下来就介绍如何快速入门STM32,进行基础开发。 这篇文章是STM32F103系列文章的第一篇,主要介绍开发环境的搭建、编程思路、如何查看原理图、配置时钟,配置GPIO口模式等等。 STM32目前市面上使用比较广泛,资料多,接下来就介绍如何快速入门STM32,进行基础开发。 这篇文章是STM32F103系列文章的第一篇,主要介绍开发环境的搭建、编程思路、如何查看原理图、配置时钟,配置GPIO口模式等等。
- 本期小编为大家带来开发板系列的移植指南,欢迎大家一起学习交流! 本期小编为大家带来开发板系列的移植指南,欢迎大家一起学习交流!
- 鸿蒙轻内核A核源码分析系列六 MMU协处理器在前面系列分析虚实映射时,涉及到了一些MMU协处理器与相关的汇编代码没有深入讲解。本文来专门分析那些协处理器与汇编代码。本文中所涉及的源码,以OpenHarmony LiteOS-A内核为例,均可以在开源站点https://gitee.com/openharmony/kernel_liteos_a 获取。如果涉及开发板,则默认以hispark_t... 鸿蒙轻内核A核源码分析系列六 MMU协处理器在前面系列分析虚实映射时,涉及到了一些MMU协处理器与相关的汇编代码没有深入讲解。本文来专门分析那些协处理器与汇编代码。本文中所涉及的源码,以OpenHarmony LiteOS-A内核为例,均可以在开源站点https://gitee.com/openharmony/kernel_liteos_a 获取。如果涉及开发板,则默认以hispark_t...
- 本篇介绍了使用Pinctrl子系统与GPIO子系统的方式来点亮LED 本篇介绍了使用Pinctrl子系统与GPIO子系统的方式来点亮LED
- 嵌入式软件开发中,最常用的调试方法就是:log打印调试法及在线调试。log打印调试法相关文章:bug解决不了?使用日志法。开发STM32时,我们有IDE可以用,IDE中已经集成有调试器,配合仿真器使用起来很方便。而在Linux应用程序的开发中,常常直接在命令行使用gdb进行调试,或者可以使用VSCode+gdb进行调试。gdb调试相关文章:GDB调试器原来那么简单而在嵌入式Linux中,我们... 嵌入式软件开发中,最常用的调试方法就是:log打印调试法及在线调试。log打印调试法相关文章:bug解决不了?使用日志法。开发STM32时,我们有IDE可以用,IDE中已经集成有调试器,配合仿真器使用起来很方便。而在Linux应用程序的开发中,常常直接在命令行使用gdb进行调试,或者可以使用VSCode+gdb进行调试。gdb调试相关文章:GDB调试器原来那么简单而在嵌入式Linux中,我们...
上滑加载中
推荐直播
-
GaussDB数据库介绍
2025/01/07 周二 16:00-18:00
Steven 华为云学堂技术讲师
本期直播将介绍GaussDB数据库的发展历程、优势、架构、关键特性和部署模式等,旨在帮助开发者了解GaussDB数据库,并通过手把手实验教大家如何在华为云部署GaussDB数据库和使用gsql连接GaussDB数据库。
去报名 -
DTT年度收官盛典:华为开发者空间大咖汇,共探云端开发创新
2025/01/08 周三 16:30-18:00
Yawei 华为云开发工具和效率首席专家 Edwin 华为开发者空间产品总监
数字化转型进程持续加速,驱动着技术革新发展,华为开发者空间如何巧妙整合鸿蒙、昇腾、鲲鹏等核心资源,打破平台间的壁垒,实现跨平台协同?在科技迅猛发展的今天,开发者们如何迅速把握机遇,实现高效、创新的技术突破?DTT 年度收官盛典,将与大家共同探索华为开发者空间的创新奥秘。
去报名 -
GaussDB应用实战:手把手带你写SQL
2025/01/09 周四 16:00-18:00
Steven 华为云学堂技术讲师
本期直播将围绕数据库中常用的数据类型、数据库对象、系统函数及操作符等内容展开介绍,帮助初学者掌握SQL入门级的基础语法。同时在线手把手教你写好SQL。
去报名
热门标签