自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 嵌入式第六十七天(SPI子系统架构)

定义SCLK空闲时的电平状态。:定义数据采样的边沿。

2025-10-05 12:39:57 315

原创 嵌入式第六十六天(I2C子系统架构)

开发者需基于I2C子系统架构实现,包括设备树配置、数据读写逻辑、与具体传感器通信的协议(如SMBus或自定义指令)。由芯片厂商(如NXP)基于Platform总线架构实现,负责硬件寄存器操作和时序控制,开发者通常无需修改。Linux内核提供的核心逻辑,包括总线注册、设备匹配、通信协议处理等,为设备驱动提供标准化接口。SPI占用资源较多,需要SCL、MOSI、MISO、CS和GND五根线。I2C占用资源较少,仅需SCL、SDA和GND三根线。SCL(时钟线)、SDA(数据线)、GND(地线)。

2025-10-05 12:33:08 838

原创 嵌入式第六十五天(plantform总线架构,)

【代码】嵌入式第六十五天(plantform总线架构,)

2025-10-05 12:22:17 139

原创 嵌入式第六十四天(子系统,中断,IO模型)

【代码】嵌入式第六十四天(子系统,中断,IO模型)

2025-10-05 11:54:32 188

原创 嵌入式第六十三天(简单设备树文件编写,MISC驱动)

设备树是一种描述硬件资源信息的文件形式,与驱动程序配合使用,用于在Linux系统中动态传递硬件配置信息。

2025-09-25 18:24:49 435

原创 嵌入式第六十二天(led驱动)

3. 通过 make menuconfig 选择“M”,以模块形式编译,对应配置项的 CONFIG_XXX 会加入 .config 文件中( CONFIG_XXX = m )。2. Linux系统下的设备都有一个设备号: 设备号 = 主设备号(设备类型) + 次设备号(该种设备类型的第几个设备)。1. 驱动根据设备功能分为不同类型的设备,可通过 cat /proc/devices 查看设备类型。3. 添加设备:每添加一个设备,需在文件系统中添加该设备的设备节点,例如 /dev/led0。

2025-09-24 22:41:01 860

原创 嵌入式第六十一天(驱动编译)

uboot将文件系统相关的参数 bootargs 写入到设备树的choosen节点中,向内存传参:r0 固定值,r1 CPU ID号,r2 设备树内存地址。uboot会实现自搬移,为内核腾出内存空间,在EMMC上寻找zImage和DTB文件(或利用tftp从服务器下载),并加载到DDR中。uboot重新设置中断向量表的位置(协处理器 CP15),初始化硬件外设(串口、网口、EMMC),加载引导内核。内核根据设备树信息重新初始化外设,找到choosen节点查找文件系统所在位置,引导启动文件系统中的内核进程。

2025-09-23 19:45:47 282

原创 嵌入式第六十天(系统移植)

内核镜像文件,主要功能包括:内存管理、任务管理、多任务间通信、网络管理和文件系统管理。根文件系统,实现用户交互,支持shell命令、库文件管理及设备操作。用于硬件平台无系统时的首次启动,通过PC传输系统文件至开发板。一段逻辑代码,主要完成两个功能:初始化硬件外设和加载内核。理论上可烧录至Nand Flash启动,但实际无法实现。将系统烧录至SD卡启动,适用于代码调试或硬件检测。设备树文件,与内核搭配使用,包含硬件信息。将系统烧录至EMMC,实现开发板自启动。

2025-09-22 20:38:43 189

原创 嵌入式第五十九天(PWM)

2025-09-22 20:25:10 98

原创 嵌入式第五十八天(LCD)

2007 年 1 月 9 日苹果发布了划时代的第一代 Iphone,也就是 Iphone 2G,Iphone 2G 上使用了多点电容触摸屏,而当时的手机基本都是使用的电阻触摸屏。和电阻触摸屏相比,电容触摸屏最大的优点是支持多点触摸(后面的电阻屏也支持多点触摸,但是为时已晚),电容屏只需要手指轻触即可,而电阻屏是需要手指给予一定的压力才有反应,而且电屏不需要校准。如今多点电容触摸屏已经得到了广泛的应用,手机、平板、电脑、广告机等等,如果要做人机交互设备的开发,多点电容触摸屏基本是不可能绕过去的。

2025-09-22 20:20:03 156

原创 嵌入式第五十七天(SPI(adxl345))

问题1:什么是SPI?四线SPI的四根信号线各自作用是什么?- SPI定义:SPI(Serial Peripheral Interface,串行外设接口)是一种高速的、全双工的、同步的串行通信总线,常用于短距离设备间(如微控制器与传感器、存储芯片、显示模块等)的通信。- 四线SPI信号线作用- SCLK(Serial Clock):串行时钟线,由主设备产生,用于同步主从设备之间的数据传输。

2025-09-18 18:02:49 718

原创 嵌入式第五十六天(ADC)

ADC即模数转换器(Analog-to-Digital Converter),是一种将模拟信号(如连续变化的电压、电流等)转换为数字信号(由0和1组成的离散数值)的电子器件。它决定了ADC能转换的模拟信号范围,转换公式通常为:数字输出值 =(输入模拟电压 / 参考电压)× 2^n(n为ADC位数)。常见的分辨率有:8位、10位、12位、16位等。ADC的分辨率是指其对模拟信号的细分能力,通常用**位数(bit)**表示,位数越多,分辨率越高,能区分的模拟信号细节越精细。2、什么是ADC的分辨率?

2025-09-17 18:37:03 213

原创 嵌入式第五十五天(I2C(AT24C02))

接着,在通信前,先有发送方(主机)发送一个起始信号:即在时钟信号SCL高电平时,数据线SDA发送一个低电平;2.I2C写入某个设备:首先要由发送方(主机)发送一个起始信号,后再由高位到低位发送设备地址,(此设备地址在发送时要左移一位,因为其最后一位,也就是第8位要传输读写流向位,1表示接下来由从机写向主机,0表示接下来由主机写给从机,在这里我们把最后一位置为0);然后发送从设备的地址(7位地址 + 1位写操作标志位,写操作标志位为0),用于选择要读取的从设备,并告知从设备接下来要设置读取的寄存器地址;

2025-09-17 13:10:39 721

原创 嵌入式第五十四天(EPIT,GPT)

时钟源选择 :EPIT 通常有 3 个时钟源可供选择,通过配置其配置寄存器 EPITx_CR 中的 CLKSRC 位来实现,比如,CLKSRC 位为 1 时,选择 Peripheral 时钟(ipg_clk),为 2 时,选择 High - frequency 参考时钟(ipg_clk_highfreq),为 3 时,选择 Low - frequency 参考时钟(ipg_clk_32k)。当信号出现设定的触发沿跳变时,定时器的捕获寄存器就会保存当下的计数器值,借此可以计算信号的脉宽等时间参数。

2025-09-16 09:13:28 384

原创 嵌入式第五十三天(设置时钟)

它能检测出参考信号和反馈信号之间的相位差和频率差,并输出相应的控制信号,这个控制信号会被用于后续的环路滤波等操作,从而调整PLL的输出,使整个锁相环系统的输出信号与参考信号保持同步。在电子系统中,常用于生成稳定、精确的时钟信号,为各种数字电路和通信系统提供时序基准。通过预分频,可以得到不同频率的时钟信号,以满足系统中不同模块对时钟频率的需求,灵活调整时钟的速率。同时有4个PFD,分别对应不同的PLL,用于生成多种不同频率的时钟信号,为芯片内的各个功能模块提供时钟支持。

2025-09-15 20:12:37 259

原创 嵌入式第五十二天(GIC,协处理器,异常向量表)

异常向量表重映射的原因:默认情况下,异常向量表在低地址(如0x00000000),但系统运行时,可能需要把异常向量表放到其他地址(比如更高的内存地址,方便操作系统或应用程序灵活管理内存空间),这样能更合理地利用内存,也便于对异常处理程序进行组织和管理。重映射方法:通过设置协处理器(如CP15)中的相关寄存器(比如向量基址寄存器),将异常向量表的基地址修改为目标地址,使得处理器在处理异常时,能到新的地址去获取异常处理程序的入口。3. 中断屏蔽与使能:支持全局或单个中断的屏蔽(禁止响应)与使能(允许响应)。

2025-09-12 21:32:56 274

原创 嵌入式第五十一天(使用C语言点亮LED1,蜂鸣器)‘

objcopy:是二进制文件.bin转换器,作用是:①在不同格式的目标文件之间进行转换;3.1.先设置一个代码有关的段.text的存储区域,设置初始地址为0x87800000,2.设置一个存放只读数据段;objdump:是目标文件分析器/反汇编器,作用是:①将机器码反汇编为汇编代码;ld:是GNU连接器(GNU Linker),作用是:①将多个目标文件链接成可执行文件;.bss段保存的是是未初始化或初始化为0的数据,在运行时会被自动清零;2.elf文件的.text段保存的代码相关的部分。

2025-09-11 22:39:48 230

原创 嵌入式第五十天(点亮LED1)

【代码】嵌入式第五十天(点亮)

2025-09-11 22:12:59 243

原创 嵌入式第四十九天(ARM汇编指令)

8bit 常数范围(0~255),位移的步进值是以2为单位(即实际位移 2 * rotate 位),可以表示循环有以(0~30)偶数位: 0、2、4、6、8、10、12、14、16、18、20、22、24、26、28、30。如果能找打这个数,那么待保存的数就是立即数,否则就不是。arm体系采用的方案是满减,但是在进行操作之前,我们必须告诉2440栈底的位置,这里我们把栈底设置为0x40001000,从地址0x40000000开始的0x1000这段内存空间对应的是2440内部的一段ram,总共4k。

2025-09-09 22:19:11 964

原创 嵌入式第四十八天(ARM架构,相关寄存器与异常处理)

指令集(Instruction Set)是计算机处理器能够识别和执行的操作命令的集合,是硬件与软件之间的接口。它定义了处理器支持的基本操作,如算术运算、逻辑运算、数据移动和控制流程等。

2025-09-08 19:24:59 1048

原创 嵌入式第四十七天(DS8B20简单调试)

【代码】嵌入式第四十七天(DS8B20简单调试)

2025-09-08 18:38:22 94

原创 嵌入式第四十六天(51单片机(通信))

一.串行通信与并行通信1.- 串行通信:数据一位一位地依次传输,只需要一条或很少的几条传输线,适合长距离传输,但传输速度相对较慢。例如,计算机的串口(COM口)通信就是串行通信。2.- 并行通信:数据的各位同时传输,需要多条传输线(一般为8的倍数,如8位、16位、32位等),传输速度快,但传输线多,成本高,适合短距离高速传输。例如,计算机内部的总线(如PCI总线)、打印机的并行口通信都属于并行通信。3.

2025-09-05 20:44:26 1184 1

原创 嵌入式第四十六天(51单片机(中断,定时器))

中断向量表是存储于内存固定地址的核心数据结构,其本质是建立 “中断号(唯一中断标识)” 与 “中断服务程序(ISR)入口地址” 的一一映射,为 CPU / 内核提供中断响应时快速定位服务程序的 “索引表”,是中断机制高效寻址的基础。当中央处理机CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这个紧急事件,处理完成以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断。内核跳转到该中断对应的 “中断服务程序” 入口,执行预设的处理逻辑,这是中断的核心处理环节。

2025-09-04 20:47:17 960

原创 嵌入式第四十五天(51单片机(led,数码管))

MCU(微控制器):集成了CPU、内存、外设等的单片芯片,常用于嵌入。CPU(中央处理器):计算机的核心部件,负责执行指令和处理数据。可编程的引脚,可通过软件控制其输入或输出模式,用于连接外部设备。MPU(微处理器):通常指更通用的处理器,强调计算能力。GPU(图形处理器):专用于图形和并行计算的处理器。P1寄存器:在数码管模块中使用,用来选择点亮的位区。是指能够操作硬件的,具有固定地址的内存空间。P0寄存器:用来选择点亮的段区。P2寄存器:LED灯点亮。

2025-09-03 21:20:46 255

原创 嵌入式四十三,四十四天(WEB信息系统查询)

一.

2025-09-03 21:03:05 400

原创 嵌入式第四十二天(数据库,网页设计)

SQLite3 通过事务机制确保数据操作的原子性、一致性、隔离性和持久性(ACID)。事务的开启方式直接影响性能和数据安全。

2025-09-03 21:00:33 204

原创 嵌入式第四十一天(数据库)

【代码】嵌入式第四十一天(数据库)

2025-08-29 23:05:03 328

原创 嵌入式第四十天(TCP并发服务端(IO多路复用))

用户调用 epoll_wait 时,只需直接从就绪链表中获取就绪的 FD 即可,无需遍历所有注册的 FD,这也是 epoll 相比 select/poll 高效的关键原因之一。红黑树的特性(有序、查找/插入/删除效率高,时间复杂度为 O(log n))保证了 epoll 能高效管理大量的文件描述符,即使监控的 FD 数量庞大,相关操作也能保持较好的性能。总结来说:epoll 通过红黑树存储所有注册的待监控 FD,通过就绪链表存储已触发 IO 事件的 FD,两者配合实现了高效的 IO 多路复用管理。

2025-08-28 18:59:49 359

原创 嵌入式第三十九天(TCP多任务并发)

多线程相对于进程资源开销小,相同资源环境下,并发量比进程大.一.TCP服务端并发模型。

2025-08-27 19:44:42 286

原创 嵌入式第三十八天(天气爬虫)

【代码】嵌入式第三十八天(天气爬虫)

2025-08-27 09:16:34 256

原创 嵌入式第三十七天(TCP补充,应用层协议(HTTP))

【代码】嵌入式第三十七天(TCP补充,应用层协议(HTTP))

2025-08-25 19:17:14 254

原创 嵌入式第三十三天三十四天(简单音频播放)

【代码】嵌入式第三十三天三十四天(简单音频播放项目)

2025-08-25 17:50:34 109

原创 嵌入式第三十六天(网络编程(TCP))

4. 客户端→服务器(ACK=1,seq=u+1,ack=w+1):客户端收到服务器的FIN后,回复确认报文(ACK=1),ack=w+1(确认收到服务器的终止请求),序列号为u+1。3. 服务器→客户端(FIN=1,ACK=1,seq=w,ack=u+1):服务器数据发送完毕后,发送自己的终止请求(FIN=1),同时再次确认ack=u+1,序列号为w。1. 客户端→服务器(FIN=1,seq=u):客户端数据发送完毕,发送终止连接请求(FIN=1),序列号为u。客户端进入“FIN-WAIT-1”状态。

2025-08-24 23:12:26 648

原创 嵌入式第三十五天(网络编程(UDP))

Linux下的网络编程:目的:不同主机进程间通信。1.主机与主机之间物理层面必须互通。2.进程与进程间在软件层面必须互通。

2025-08-22 22:41:45 220

原创 嵌入式第三十二天(信号,共享内存)

3.其他发送信号的函数接口。6.共享内存其他相关操作。7.实现进程间同步方法。

2025-08-19 18:12:15 159

原创 嵌入式第三十一天(线程间的机制,IPC机制)

死锁是指在多进程或多线程环境中,两个或多个进程(线程)相互等待对方释放资源,而陷入无限期阻塞的状态。- 不可剥夺条件:已分配的资源不能被强制剥夺,只能由持有资源的进程(线程)主动释放。- 持有并等待条件:进程(线程)已经持有至少一个资源,同时又在等待其他资源。- 循环等待条件:多个进程(线程)之间形成一种头尾相接的循环等待资源关系。- 互斥条件:资源只能被一个进程(线程)占用,无法同时被多个使用。进程间空间独立,无法直接通信,需要IPC机制实现通信。1.进程间通信:IPC机制。信号:进程间通知机制。

2025-08-18 18:47:44 291

原创 嵌入式第三十天(线程相关操作)

方式:全局变量,全局队列,共享内存区域.一.线程操作相关函数。

2025-08-16 17:30:00 177

原创 嵌入式第二十九天(进程的回收,线程)

编译:使用 pthread 库的程序在编译时,需要链接 pthread 库,例如在 Linux 下使用 gcc 编译时,需要加上 -pthread 选项,如 gcc your_file.c -o your_program -pthread。- execl(path, arg0, arg1, ..., (char*)NULL) :参数以列表形式传递, path 为程序路径,后续参数为命令行参数,需以 NULL 结尾。如果将其设置为 NULL ,则表示使用默认的线程属性。

2025-08-15 19:08:38 510

原创 嵌入式第二十八天(程序与进程)

fork() 是 Unix/Linux 系统中用于创建新进程的系统调用,它会复制当前进程(称为“父进程”),生成一个新进程(称为“子进程”)。- 调用一次,返回两次:父进程中返回子进程的 PID(进程 ID,非负整数),子进程中返回 0。- 优先级调度:为进程分配优先级,高优先级进程优先获得CPU,可分为抢占式(高优先级进程可打断低优先级进程)和非抢占式。- 先来先服务(FCFS):按进程到达顺序分配CPU,简单但可能导致“短进程等待长进程”。- 缩短周转时间:进程从提交到完成的总时间更短。

2025-08-14 19:10:27 244

原创 嵌入式第二十七天(UI相关技术(framebuffer))

原理:将显卡硬件结构抽象掉,通过Framebuffer的读写直接对显存进行操作,用户可将其看成显示内存的映像,映射到进程地址空间后进行读写,写操作会立即反映在屏幕上。- 定义:Framebuffer是一段随机访问内存(RAM)区域,包含用于驱动视频显示的位图,其中的数据代表了一帧完整视频图像中的所有像素。一.framebuffer显示操作流程。

2025-08-13 21:37:36 223

空空如也

空空如也

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

TA关注的人

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