自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 各种总线与驱动的关系

各种总线都是啥

2025-03-13 06:08:30 129

原创 标准io函数与unix io函数的关系与差异

平时光知道用,别傻傻分不清,带缓冲的io函数会更少跟内核交互。

2025-03-06 18:54:35 79

原创 posix接口函数,常见的有哪些

以上只是POSIX接口函数中的一部分,实际应用中还有很多其他函数,用于实现各种不同的功能。• pthread_mutex_lock:获取互斥锁,用于线程间的互斥访问。• pthread_join:等待指定的线程结束,并获取线程的返回值。• exec:在当前进程中执行一个新的程序,替换当前进程的内存空间。• signal:注册一个信号处理函数,用于处理指定的信号。• write:将缓冲区中的数据写入到指定的文件描述符。• fork:创建一个新的进程,新进程是原进程的副本。

2025-03-06 18:01:04 106

原创 总线--SPI总线

CPHA: 时钟相位, 表示 SPI 设备是在 SCK 管脚上的时钟信号变为上升沿时触发数据采样, 还是在时钟信号变为下降沿时触发数据采样. 若 CPHA 被设置为 1, 则 SPI 设备在时钟信号变为下降沿时触发数据采样, 在上升沿时发送数据. 当 CPHA 被设为 0 时也正好相反.。CPOL: 时钟极性, 表示 SPI 在空闲时, 时钟信号是高电平还是低电平. 若 CPOL 被设为 1, 那么该设备在空闲时 SCK 管脚下的时钟信号为高电平. 当 CPOL 被设为 0 时则正好相反.

2025-02-27 11:21:20 145

原创 稀缺(我们是如何陷入贫穷和忙碌的)--读书笔记

稀缺会俘获我们的注意力,并带来一点点好处:我们能够在应对迫切需求时,做的更好。但从长远的角度来看,我们的损失更大:我们会忽视其他需要关注的事项,在生活的其它方面变得不那么有成就。在稀缺状态下,因为所有没有被满足的需要俘获了我们的头脑,以致我们开始对之念念不忘,开始产生决策难题。稀缺会降低所有这些贷款的容量,致使人们缺乏洞察力和前瞻性,还会减弱人们的执行控制力。稀缺心态:稀缺是一种心态。当它俘获我们的注意力时,就会改变我们的思维方式,影响我们的决策和行为方式。专注的“得”与管窥的“失”----事务的两面。

2025-02-25 22:27:06 131

原创 IPC机制里各类的差异

可以类比于红绿灯,对于路口这个共享的通行权,谁得到红绿灯的通行信号,才可以得到路口的通行权,没得到通信信号,就只能等待。信号量官方的说明是:信号量是一种轻型的用于解决线程间同步问题的内核对象,线程可以获取或释放它,从而达到同步或互斥的目的。互斥量支持递归,持有该互斥量的线程也能够再次获得这个锁而不被挂起。互斥量的状态只有两种,开锁或闭锁(两种状态值)。进程间通信(管道、信号量、共享内存、消息队列、套接字)互斥量可以解决优先级翻转问题,它能够实现优先级继承。互斥量互斥量不能在中断服务例程中使用。

2025-02-20 16:55:59 172

原创 tcp/ip协议之--HTTP协议

全称超文本传输协议,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP 是一种应用层协议,是基于 TCP/IP 通信协议来传递数据的,其中 HTTP1.0、HTTP1.1、HTTP2.0 均为 TCP 实现,HTTP3.0 基于 UDP 实现。现主流使用 HTTP1.0 和 HTTP3.0HTTPS 在 HTTP 的基础上做了一个加密的工作。

2025-02-18 17:01:59 294

原创 学写一个ushell脚本

具体来说,^M 是 Windows 系统中的回车符(Carriage Return),在 Linux 系统中,解释器会将其视为无效字符,导致解释器无法正确读取脚本文件。该文件如果是在windows平台生产和写入的,主要文件结尾字符,要用dos2unit ./insert.sh 转一下。编辑后,换行符被设置为 CRLF(Carriage Return Line Feed),而在。创建一个文件insert.sh,目的是在某个.c文件里的第11行插入一行打印。echo "文件 $1 不存在"

2025-02-18 16:39:47 154

原创 操作系统之--进程调度22

待补充内容。

2025-02-18 16:04:14 79

原创 操作系统之---进程管理

待补充内容。

2025-02-18 16:03:40 71

原创 操作系统之--内存管理

待补充内容。

2025-02-18 16:02:45 62

原创 gdb调试总结

设置参数的方法是: gdb book119 (gdb) set args ./book1.c /tmp/book1.c。例如:./book119 ./book1.c /tmp/book1.c。$ gcc --version 查看gcc版本。安装gdb:sudo apt install gdb。$ uname -a 查看linux系统版本。查看gdb版本: gdb --version。$ gdb -v 查看gdb版本。生成物是testdebug。再查看下变量sum和i的值。

2025-02-18 15:24:03 846

原创 操作系统—任务调度

当一个进程正在运行时,如果系统发现有更高优先级的进程到达,或者当前进程运行时间过长,操作系统会强制中断当前进程,将其切换到就绪状态,让更高优先级的进程运行。● 与进程调度关系:进程包含多个线程,进程调度选中进程后,线程调度在该进程内选线程执行,调度策略与进程类似,但更注重线程间协作和数据共享。优先级可以是静态的(进程创建时确定),也可以是动态的(根据进程的运行情况调整)。● 定义:在多线程系统中,决定哪个线程获得CPU时间,因线程是CPU调度基本单位,可提高程序并发执行度。

2025-02-17 23:12:51 294

原创 sqlite学习

SQLite 是一个用 C 语言编写的开源、轻量级、快速、独立且高可靠性的嵌入式关系型数据库,它提供了功能齐全的数据库解决方案。SQLite 几乎在所有的手机和计算机上运行,它被嵌入到人们每天都在使用的众多应用程序中。这也是世界上装机量最大的数据库SQLite,根据SQLite的官方统计,目前正在使用的SQLite数据库实例已经超过了1万亿个。SQLite 可以在不需要的服务器的情况下,直接嵌入到一些物联网设备, 比如家电,路由器。汽车等作为本地数据库使用。智能手机也正好契合 SQLite 的使用场景。

2025-02-17 17:20:17 375

原创 socket函数的套接字类型

套接字(Socket)是网络编程中的基本概念,用于在不同计算机之间进行通信。以下是常见的套接字类型及其应用场景。:指定通信协议族(Protocol Family)。IPPROTO_TCP: 显式指定TCP协议。IPPROTO_UDP: 显式指定UDP协议。0: 使用默认协议(通常为TCP或UDP)。AF_INET6: IPv6 通信。AF_INET: IPv4 通信。AF_UNIX: 本地进程间通信。(如ICMP, IGMP)可以使用任何IP层协议。(可靠数据报套接字)

2025-02-17 15:48:56 254

原创 dhcp协议和bootp协议的差异

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种网络协议,用于在网络中自动为客户端设备分配IP地址及其他网络配置信息(如网关、子网掩码、DNS服务器等)。DHCP广泛应用于局域网(LAN)中,为大量设备(如计算机、手机、IoT设备)提供IP地址,支持设备在网络中实现自动连接。DHCP广泛应用于局域网(LAN)中,为大量设备(如计算机、手机、IoT设备)提供IP地址,支持设备在网络中实现自动连接。1. 支持动态ip地址分配,减少手动配置;

2025-02-17 14:16:32 304

原创 光口的分层

cpri的控制字:时钟、version(加扰解扰)、信令模式和对应的速率、信令类型、p指针、厂商自定义的控制字等。跟下层是gmii接口。

2025-02-14 14:45:30 75

原创 hdlc协议的帧格式

帧头帧尾F标志为0x7E=8'b01111110。所有数据串行发送没5个‘1’插入1个‘0’。前一个帧的结束标志字段F可以兼作后一个帧的起始标志字段,空闲发0x7E。数据链路层帧结构,空闲时不发数据。

2025-02-14 10:52:56 218

原创 pthread 开头的函数有哪些

原型:int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr);原型:int pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t *attr);原型:int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex);等待一个线程结束,并获取其返回值。

2025-02-12 17:07:25 311

原创 单板复位前都干了啥

单板复位

2025-02-12 10:41:52 90

原创 tcp/udp的包格式

确认号 (Acknowledgment Number):4个字节,用来确认接收到的TCP数据包。目的端口号 (Destination Port Number):2个字节,表示接收方的端口号。源端口号 (Source Port Number):2个字节,表示发送方的端口号。序列号 (Sequence Number):4个字节,用来标识TCP数据包的顺序。数据偏移量 (Data Offset):4位,表示TCP数据包的首部长度。窗口大小 (Window Size):2个字节,表示接收方的缓冲区大小。

2025-02-12 07:49:28 310

原创 线程间通信和同步

同步消息:可以采用消息队列+信号量或邮箱。每封邮件只能存放一个指针的内容。buf定义为全局形式或静态形式。在while死循环任务里收消息。复制消息内容,可以发送局部变量。在while死循环任务里收消息。单纯的消息队列是异步通信方式。发送线程的挂起等待队列。邮箱buf的开始地址。邮箱buf的进出指针。一般是阻塞式收取邮件。能缓存一定数量的邮件。传递不固定长度的消息。

2025-02-10 11:19:03 127

原创 常用的linux命令

Df命令是linux系统以磁盘分区为单位查看文件系统。Ubuntu 查看磁盘空间大小命令 df -ah。

2025-02-09 21:41:00 100

原创 gmac和tcpdump的抓包位置,tcpdump的抓包原理

tcpdump是Linux里的字符界面的数据软件。tcpdump是一个用于截取网络分组,并输出分组内容的工具。tcpdump:其中tcp:传输控制协议,位于dump:导出。抓固定端口的包 port xxx抓固定目标ip的包 dst host 192.254.2.16。

2025-02-09 21:11:45 795

原创 嵌入式相关职位面试常见问题和注意事项

我简历里写了cpri的控制字,就会问cpri协议的控制字有哪些,写了ping包的软件函数实现,就会被问到ip包的头有哪些字段,这些都是经常会问到的问题,要保证我们写到简历里的每一个点都能说得上来。其它:c++我这里写了熟悉,我只是能定位相关问题,没有写过,相当于只是看过猪跑的场景,被问到c++编译出来的函数啥样子,能直接在ushell里运行不?同时面试的过程也是我们反向了解这个公司的过程,可以问下对方都使用啥技术,如何解决工作中的某些问题和他们的日常工具,团队规模,代码维护方式,测试方式等。

2025-02-08 07:34:14 152

原创 自己写一个ping包函数

接收回应会解析,先去掉IP头部,然后校验icmp头的目标地址,type,id,序号。设置发包的icmp头:类型,code,id,序号,校验和。实现一个ping包函数,监控信令的链路状况。f绑定的套接字的family AF_NET。socket用raw,类型用icmp。

2025-02-07 22:54:44 89

原创 cpri/ir协议的格式,通用控制字有哪些?

一个基本帧由0-15共16个字组成,每个字的长度依赖于cpri的线速率。10.1G及以上用64/66B。

2025-02-07 17:20:11 149

原创 arp应用

--ARP广播包-->| || |---ARP广播包---> || |<--ARP应答包---- ||<--ARP应答包--| || 更新arp表 | A:add B的ip&mac到本地arp表。|--ARP广播包-->||<--ARP应答包--|

2025-02-07 11:13:10 299

空空如也

空空如也

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

TA关注的人

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