- 博客(18)
- 收藏
- 关注
原创 嵌入式linux驱动开发:什么是Linux驱动?深度解析与实战入门
本文介绍了嵌入式Linux驱动开发的基础知识,包括驱动的本质、分类、架构和开发流程。Linux驱动作为硬件与操作系统的桥梁,负责管理硬件并为应用程序提供统一接口。文章详细讲解了字符设备、块设备和网络设备三大驱动类型,并通过LED驱动开发实例演示了从硬件分析到用户空间测试的全过程。此外,还总结了驱动开发中的常见误区(如竞态条件、内存泄漏)和调试技巧(如printk、dmesg等工具)。最后提供了完整的代码示例和编译加载步骤,为初学者提供了清晰的驱动开发入门指南。
2025-07-30 15:27:29
1058
原创 嵌入式linux应用层开发:进程与线程
默认情况下,读写锁都是读优先,由于多个读线程不断抢先获取读锁,导致写线程长时间不能获得写锁,一直在等待队列中,迟迟得不到执行。:是一种预先创建好一定数量的工作线程,等待有任务提交,任务由空闲线程执行,执行完毕后线程不销毁,继续等待下一个任务。:当线程尝试获取锁时,如果锁已经被占用,它不会阻塞自己,而是不断地 自旋 检查锁是否已经释放。同一时刻,只有一个线程可以获取写锁,获锁期间,可以修改共享资源,其他线程无法获取读锁或写锁。:多个线程可以同时获取读锁,获取锁之后,只能进行读操作,不能进行写操作(读锁);
2025-04-16 08:30:00
910
原创 嵌入式Linux应用层开发:环境搭建、文件IO
文件 I/O(Input/Output,即输入 / 输出)是计算机编程中用于处理文件的重要操作,主要涉及到将数据从文件读取到内存,以及将内存中的数据写入文件。:偏底层控制、需要精确设置文件的权限和打开标志、操作设备文件(如串口、磁盘设备等)需要特殊的权限和控制、对性能有极高要求、想自行管理缓冲区等等。:系统调用是操作系统提供给用户程序的接口,用于访问底层的硬件资源和操作系统服务;:库函数是高级语言或开发库提供的函数,他们通常是基于系统调用实现的,目的是为了程序员方便开发,提供更高级、更易用的接口。
2025-04-07 09:18:06
1645
原创 立创·泰山派:Linux内核5.10移植(设备树移植+问题解决)
通过适配设备树,泰山派成功运行Linux 5.10内核,关键功能均通过验证。后续可针对具体应用场景进行深度优化,如配置WIFI,网卡,NPU,GPU等。
2025-03-28 10:05:20
2103
3
原创 嵌入式Linux网络编程:IO多路复用实现
通过本文实现的epoll服务端,可在嵌入式Linux设备上轻松应对数千并发连接。后续可扩展实现协议解析、负载均衡等高级功能,构建高性能物联网网关!创建epoll实例的内核数据结构,返回用于操作该实例的文件描述符。通过增删改操作管理epoll监控的文件描述符集合。epoll_wait等待事件。accept4()[无阻塞]epoll_ctl添加事件。
2025-03-26 17:27:58
820
原创 嵌入式Linux网络编程:守护进程开发(自动重启+多客户端支持)
通过本方案可实现高可靠的网络服务守护进程,满足嵌入式系统对服务稳定性的严苛要求。后续可扩展实现双机热备、配置热加载等高级功能。setsid创建新会话。
2025-03-26 16:03:30
1510
原创 嵌入式Linux网络编程:UNIX Domain Socket进程间通信(IPC)
通过本文,您可掌握UNIX Domain Socket在嵌入式Linux中的高效IPC实现方法。相比网络套接字,UDS在本地通信场景中性能更优、资源占用更少,非常适用于嵌入式设备的多模块协作!
2025-03-25 09:38:38
1125
原创 嵌入式Linux网络编程:UDP协议原理与实战代码解析
通过本文,读者可以掌握嵌入式Linux下UDP通信的核心实现方法。在实际物联网项目中,UDP常用于传感器数据采集、实时监控等场景。后续可扩展实现多播、广播等功能!
2025-03-25 09:38:09
1096
原创 立创·泰山派:Buildroot开启libcurl+OpenSSL教程
通过本文配置,泰山派可安全对接主流云平台(阿里云/AWS/华为云)。后续可扩展实现MQTT over TLS、双向认证等高级功能。
2025-03-24 10:39:33
1685
原创 嵌入式Linux网络编程实战:基于libcurl实现Gitee文件上传
📁本地文件读取:支持任意二进制/文本文件🔒Base64编码转换:符合RFC 4648标准📡HTTP传输:通过libcurl实现,也可以使用HTTPS加密通信🚀Gitee API对接:自动创建/更新仓库文件。
2025-03-24 09:40:40
1268
原创 嵌入式Linux网络编程实战:使用libcurl实现高效网络通信
通过掌握这些核心函数的使用方法,可以快速构建高效可靠的嵌入式网络应用。在嵌入式Linux开发中,
2025-03-18 17:47:31
1340
原创 嵌入式Linux网络编程实战:基于DNS解析的HTTP客户端实现
本文从嵌入式场景出发,实现了支持DNS解析的轻量级HTTP客户端,读者可根据实际需求扩展SSL加密、数据压缩等功能。建议在关键业务场景中添加心跳机制和双缓冲队列提升可靠性。
2025-03-17 10:15:20
1092
原创 零基础入门Linux网络编程:HTTP请求
本文提供的代码已在树莓派4B(Linux内核5.10)平台验证通过,可直接用于物联网设备数据上报场景。可根据实际需求添加JSON解析、断线重连等扩展功能。欢迎大佬们指出问题和讨论。在物联网嵌入式开发中,设备常需通过HTTP协议与云端服务器通信。,演示如何在资源受限的嵌入式Linux设备上发送HTTP请求。send(POST请求)
2025-03-14 16:55:00
967
原创 零基础入门Linux网络编程:TCP详细图解
电子邮件传输:SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol)等协议使用TCP来传输电子邮件。实时通信:VoIP(Voice over IP)和视频通话应用如Skype、Zoom等使用TCP来传输实时音视频数据。视频流服务:许多视频流服务,如Netflix、YouTube等,使用TCP来传输视频数据,确保流畅的观看体验。远程登录:SSH(Secure Shell)和Telnet等远程登录协议使用TCP来建立安全的远程连接。
2025-03-12 13:53:01
391
原创 零基础入门Linux网络编程:C 语言网络编程中的数据收发函数解析与示例
在 C 语言网络编程中,数据的收发是至关重要的部分。Linux 提供了一系列系统调用来完成这些操作,包括readwriterecvfromrecvmsgrecvmmsgsendsendtosendmsgsendfilesendmmsg和cmsg等函数。本文将详细解析这些函数的作用,并提供相应的示例代码。
2025-03-12 11:06:56
613
原创 零基础入门Linux网络编程:C 语言网络高级编程函数解析与示例
函数名作用fcntl控制文件描述符的属性,如非阻塞模式获取已连接套接字的对端地址获取本地套接字地址getsockopt获取套接字选项setsockopt设置套接字选项,如超时、缓冲区大小等ioctl设备控制,如设置非阻塞模式readwrite直接对套接字进行读写socketpair创建一对相互连接的套接字获取协议信息recvmmsgsendmmsg批量接收/发送多个消息cmsg发送和接收辅助数据sockatmark检测带外数据sendfile在文件和套接字之间高效传输数据select。
2025-03-12 10:54:03
337
原创 零基础入门嵌入式Linux网络编程:C常用函数解析与示例代码
本文将逐一解析它们的作用,并提供相应的示例代码和总结表格,帮助你快速掌握这些关键函数。在网络编程中,了解并掌握。
2025-03-12 10:35:44
710
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅