- 每个异常级别,即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中,我们...
上滑加载中
推荐直播
-
深度解析鸿蒙应用入门级开发者认证
2024/12/04 周三 16:00-18:00
Edi 华为云学堂技术讲师
本期直播将为开发者带来HCCDA-HarmonyOS&Cloud Apps认证课程系统介绍、详细阐述HarmonyOS 技术架构、理解HarmonyOS 技术理念,通过实例带领开发者应用快速上手。
正在直播 -
鸿蒙应用入门:轻松掌握ArkTS开发语言
2024/12/05 周四 16:00-18:00
Edi 华为云学堂技术讲师
本期直播课旨在让开发者了解ArkTS语法、轻松掌握ArkUI组件开发,带你零门槛入门鸿蒙开发,掌握状态管理实验和渲染控制实验。
即将直播 -
人工智能应用测试深度解析:理论基础与实践应用指南
2024/12/06 周五 14:30-16:30
Alex 华为云学堂技术讲师
本期直播主要结合理论及人工智能的相关实验,给大家讲述AI应用测试的主要流程和方法。帮助开发者了解AI应用测试的理论及方法,和AI应用测试在模型迭代调优过程中的作用。
去报名
热门标签