草庐IT

openssl-arm

全部标签

ARM LDREX/STREX指令以及独占监控器详解

一、目的Linux驱动开发中有一个特别重要的知识点必须掌握,即并发访问、竞态以及同步。什么是并发?多个执行单元(进程、线程、中断)同时对一个共享资源进行访问;此处的共享资源可以是外设、内存或者软件层面的全局变量静态变量等;只要并发的多个执行单元存在对共享资源的访问,竞态就有可能发生。什么是竞态?多个执行单元访问(修改)共享单元势必会造成逻辑上的不一致,导致程序异常或者崩溃(Crash)。什么是同步?为了保证某个时刻只能有一个执行单元对共享资源进行操作,就需要进行同步(即独占访问,即A在访问资源时,B只能忙等待或者休眠;只有A释放其对共享资源的占用后,B才能进行访问)。同步的基本原理就是将并发的

【ARM Coresight 系列文章 2 - ARM Coresight 介绍】

文章目录1.1ARMCoresight介绍1.1.1ARMCoresight发展历史1.2ARMCoresight框架介绍1.1.1Trace通路1.1.3Debug通路1.1.4Trigger通路1.1ARMCoresight介绍ARMCoresight是ARM公司提供的一种调试和跟踪技术,用于ARM处理器的调试和性能分析。它通过在处理器内部集成一组硬件组件,提供了对处理器内部状态和执行信息的可观察性。Coresight技术包括多个组件,如调试接口、调试逻辑和跟踪组件等。调试接口提供了与处理器进行通信的接口,用于调试器与处理器之间的数据交换。调试逻辑是一组硬件逻辑,用于控制和管理调试操作。跟

ARM裸机篇(一)——i.MX6ULL介绍

linux系列目录:linux基础篇(一)——GCC和Makefile编译过程linux基础篇(二)——静态和动态链接ARM裸机篇(一)——i.MX6ULL介绍ARM裸机篇(二)——i.MX6ULL启动过程ARM裸机篇(三)——i.MX6ULL第一个裸机程序ARM裸机篇(四)——重定位和地址无关码ARM裸机篇(五)——异常和中断linux系统移植篇(一)——linux系统组成linux系统移植篇(二)——Uboot使用介绍linux系统移植篇(三)——Linux内核使用介绍linux系统移植篇(四)——根文件系统使用介绍linux驱动开发篇(一)——Linux内核模块介绍linux驱动开发篇(

OPENSSL由1.1.1升级到3,报error:0A000152:SSL routines:final_renegotiate:unsafe legacy renegotiation disable

背景:因漏洞升级,客户端从OPENSSL1.1.1升级到OPENSSL3。发送https请求,报unsafelegacyrenegotiationdisabled异常。原因:用openssl建立连接,发现服务端配置不支持安全重新协商 。RFC5746(2010)规范定义安全重新协商策略,OPENSSL3遵循此规范,安全重新协商失败则报错。RFC5746:TransportLayerSecurity(TLS)RenegotiationIndicationExtension解决方法:方案1修改服务配置,支持安全重新协商策略。涉及服务比较重要不敢乱操作,没有选择此方法。方案2修改客户端配置,放弃安全

ARM64 常见汇编指令学习 11 -- ARM 汇编宏 .macro 的学习

文章目录ARM汇编宏介绍ARM汇编宏的使用下篇文章:ARM64常见汇编指令学习12–ARM汇编函数的学习上篇文章:ARM64常见汇编指令学习10–无符号位域提取指令BFXILARM汇编宏介绍在ARM汇编中,“.macro”是用来定义一个宏的指令。宏可以看作是一个可以在汇编程序中重用的代码段。当调用宏时,汇编器会将宏的内容插入到调用位置。一个简单的使用示例是:.macroadd_and_mov,dst,src1,src2add\dst,\src1,\src2mov\dst,\src1.endm在这个例子中,我们定义了一个名为’add_and_mov’的宏,它接受三个参数:dst、src1和src

【ARM Cache 系列文章 8 -- ARM DynamIQ 技术介绍

文章目录DynamIQ技术背景DynamIQ技术详解DynamIQ与big.LITTLEDynamIQcluster分类硬件支持DynamIQ为什么适合人工智能?DynamIQ技术背景2017年3月21日下午,ARM在北京金隅喜来登酒店召开发布会,正式发布了全新的有针对人工智能及机器学习进行优化的DynamIQ技术,ARM称DynamIQ将是下一代计算革命的开始,将重新定义计算,可以覆盖覆盖从端到云的安全、通用平台。将被广泛应用于汽车、家庭以及数不胜数的各种互联设备,这些设备所产生的数据会在云端或者设备端被用于机器学习,以实现更先进的人工智能,从而带来更自然、更直观的用户体验。DynamIQ技

在 CentOS 7 / RHEL 7 上安装 OpenSSL 1.1.x

OpenSSL是一个开源软件库,由用于实现传输层安全(TLS)和安全套接字层(SSL)协议以及其他加密功能(例如签名、加密、解密和验证)的工具和库组成。操作系统和许多应用程序使用OpenSSL通过互联网提供安全通信。CentOS7/RHEL7操作系统上可用的OpenSSL版本有点旧,如果需要较新的版本,某些应用程序在编译时会出现错误。$sudoyum-yinstallopensslopenssl-devel$opensslversionOpenSSL1.0.2k-fips26Jan2017从输出中可以看出,可用版本是1.0.2。如果已安装,请在继续之前将其删除。sudoyum-yremoveo

urllib3 v2.0 only supports OpenSSL 1.1.1+报错问题

该错误提示表示您的OpenSSL版本过低,无法兼容urllib3v2.0。解决此问题的方法是升级您的OpenSSL版本至1.1.1或以上。具体操作如下:方法一:检查您的OpenSSL版本,使用以下命令:opensslversion如果您的OpenSSL版本低于1.1.1,可以使用以下方式升级:Ubuntu:sudoapt-getupdatesudoapt-getupgradeCentOS:sudoyumupdateopensslmacOS:brewupdatebrewupgradeopenssl安装完毕后,再次运行您的代码即可。方法二:        对于OpenSSL不方便操作的用户,降低u

ARM异常处理

一、异常二、异常处理机制三、ARM异常源四、ARM异常模式五、ARM异常响应CPSR寄存器ARM寄存器六、异常向量表七、异常返回八、IRQ异常举例九、异常优先级十、FIQ和IRQ一、异常概念处理器在正常执行程序的过程中可能会遇到一些不正常的事件发生这时处理器就要将当前的程序暂停下来转而去处理这个异常的事件异常事件处理完成之后再返回到被异常打断的点继续执行程序二、异常处理机制不同的处理器对异常的处理的流程大体相似,但是不同的处理器在具体实现的机制上有所不同;比如处理器遇到哪些事件认为是异常事件遇到异常事件之后处理器有哪些动作、处理器如何跳转到异常处理程序如何处理异常、处理完异常之后又如何返回到被

【STM32】驱动库的选择:CMSIS Driver、SPL、HAL、LL | 在ARM MDK、STM32Cube中如何选择?

阅读本专栏其他文章,有助于理解本文。👆文章目录一、开发库选择1.1概述1.2CMSISpack1.3SPL库1.4HAL库1.5LL库1.6寄存器开发二、代码对比2.1使用寄存器2.2使用CMSIS库2.3使用SPL库2.4使用HAL库2.5使用LL库2.6使用RTOS三、如何在软件中选择不同的库3.1ARMMDK3.2STM32CubeIDE一、开发库选择1.1概述STM32开发相关的库有很多,它们都是为了方便开发者使用STM32微控制器而提供的软件工具。根据不同的功能和层次,可以将它们分为以下几类:CMSIS库(准确来说是CMSISpack)(CortexMicrocontrollerSo