自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 USART驱动解析

***//*寄存器地址*//*促使化参数*//*发送数据缓冲区的首地址*//*待发送数据个数*//*发送数据计数器*//*接收数据缓冲区的首地址*//*待接收数据个数*//*接收数据计数器*//*正在进行的数据接收模式*//*促发接收的类型*//*DMA发送*//*DMA接收*//*!/*当前发送状态*//*当前接收状态*//*!

2025-02-27 14:25:35 149

原创 词法分析器

这就导致了一个问题:开始之后,在给出字符a或b之前,我们能够确定当前是处于1状态还是2状态吗?很显然,我们是无法确定的,因此才被称为不确定的有穷自动机,因为空串的存在,我们无法确定当前的具体状态是什么。DFA与NFA的区别在于,NFA的状态转换过程中可以有空串,如下图即为NFA。不确定的有穷自动机(NFA),确定的有穷自动机(DFA)。因此在很多时候,我们都需要将NFA转换为DFA。手工编码实现的效率高,注重细节。

2024-11-19 20:06:25 160

原创 计算机网络

ISP:中国电信,中国移动,中国联通等..

2024-10-16 15:48:03 286 1

原创 内存分配算法

在进行内存分配时,从链首开始顺序查找,直到找到一块分区的大小可以满足需求时,按照该作业的大小,从该分区中分配出内存,将剩下的空闲分区仍然链在空闲分区链中。将空闲分区链中的空闲分区按照空闲分区由小到大的顺序排序,从而形成空闲分区链。分配内存时不是从链首进行查找可以分配 内存的空闲分区,而是从上一次分配内存的空闲分区的下一个分区开始查找,直到找到可以为该进程分配内存的空闲分区;与最佳适应算法刚好相反,将空闲分区链的分区按照从大到小的顺序排序形成空闲分区链,每次查找时只要看第一个空闲分区是否满足即可。

2024-09-23 13:35:43 292

原创 网络通信http

http请求过程:TCP报文:TCP三次握手:TCP四次挥手:

2024-09-13 13:27:18 239

原创 MPU内存保护单元

1.MPU2.使用MPU2.1对于没有OS系统,MPU可以被编程为静态配置。将RAM/SRAM区域设置为只读,避免重要数据被意外破坏。 将栈底部的一部分RAM/SRAM区域设置为不可访问的,以检测栈溢出。 将RAM/SRAM区域设置为XN(永不执行),避免代码注入攻击。 定义可被系统级缓存(2级)或存储器控制器使用的存储器属性配置。2.2对于有OS系统,在每次上下文切换时都可以配置MPU,每个应用任务都有不同的MPU配置。定义存储器访问权限,使得应用任务只能访问分配给自己

2024-09-11 15:01:34 351

原创 带外部FLASH的stm32启动流程

1.Bootloader程序地址2.APP程序地址3.程序空间

2024-09-08 14:46:04 1252

原创 ARM-Thumb指令集

处理器支持Thumb-2指令集中的16位和32位指令,因此无需在Thumb状态(16位指令)和ARM状态(32位指令)间来回切换。例如,对于ARM7或ARM9处理器,若在执行复杂计算或大量的条件运算时还要保持高性能,就需要切换位ARM状态。不过对于Cortex-M处理器,32位指令和16位指令可以混合使用,无需切换状态,这样在没有增加复杂度的情况下就提高了代码的密度和性能。

2024-09-08 14:04:11 283

原创 LWIP库

在私有 IP 地址之间传输数据时,网络地址转换(NAT)在路由器上起到了至关重要的作用。它允许多个私有 IP 地址共享一个公共 IP 地址与互联网通信,并通过端口号和 NAT 表的映射,确保通信的正确性和安全性。整个过程中,数据包会经过多个层次的封装和解封装操作,每一层次都起着不同的功能作用,以保证数据可靠且有效地传输。

2024-08-27 11:59:29 797

原创 C++构造函数

【代码】C++构造函数。

2024-08-15 15:02:22 154

原创 C++中类成员的访问权限和继承权限问题

若继承方式是protected,基类的共有成员和保护成员在派生类中的访问权限都会变为保护(protected)权限,私有成员在派生类中的访问权限仍然是私有(private)权限;public:用该关键字修饰的成员表示公有成员,该成员不仅可以在类内可以被访问,在类外也是可以被访问的,是类对外提供的可访问接口;若继承方式是public,基类成员在派生类中的访问权限保持不变,基类中的成员访问权限,在派生类中仍然保持原来的访问权限;

2024-08-15 14:46:39 274

原创 C++虚函数

当基类中的成员函数没有Virtual修饰时,

2024-08-15 14:31:49 171

原创 FreeRtos任务切换

r14(特殊)/保存的是进入中断后的值,即特殊值0xfffffffd,这里压栈是因为bl vTaskSwitchContext会改变r14的值。r14(特殊)bx r14,处理器变为PSP模式,然后自动出栈r0,r1,r2,13,r14,pc,xPSR,执行中断发生时的指令。r14/保存的是进入中断前的值,可能是函书返回地址。跳转到任务2,执行当前PC指向的指令。更新pxTopOfStack。读取pxTopOfStack。进入PendSV中断。

2024-08-09 13:50:57 203

转载 ARM内核

在ARM所有的工作模式中,有一种工作模式比较特殊,即FIQ模式。为了快速响应中断,减少中断现场保护带来的时间开销,在FIQ工作模式下,ARM处理器有自己独享的R8~R12寄存器。》),包括各种通用寄存器、状态寄存器、控制寄存器,用来控制处理器的运行,保存程序运行时的各种状态和临时结果,如下图所示。4、各种模式可访问的寄存器数量不同,操作权限不同,方便操作系统的安全等级需求。2、6个特权模式中,除了System模式以外,其他5个都是异常模式。1、7个模式中除了user是普通模式以外,其他6个都是特权模式。

2024-08-08 10:37:35 181

原创 储能元件,电感和电容

电感电容相关的计算

2022-11-07 09:51:29 425

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除