- 博客(28)
- 收藏
- 关注
原创 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
原创 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
原创 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
原创 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关注的人