<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[GS8FG的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/GS8FG</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; GS8FG]]></copyright><item><title><![CDATA[Linux C 网络编程之路——完善tcp_server ，依然是点对点通信]]></title><link>https://blog.youkuaiyun.com/GS8FG/article/details/162497835</link><guid>https://blog.youkuaiyun.com/GS8FG/article/details/162497835</guid><author>GS8FG</author><pubDate>Wed, 01 Jul 2026 22:42:25 +0800</pubDate><description><![CDATA[本文展示了一个TCP服务器的C语言实现。主要功能包括： 在common.h中定义了网络编程常用的头文件、日志宏和缓冲区大小等常量 tcp_server.c实现了完整的TCP服务器功能： 设置了SIGINT和SIGPIPE信号处理 创建套接字并设置SO_REUSEADDR选项 绑定端口并监听连接 处理客户端连接请求 实现读写循环，处理各种错误情况(EINTR、EAGAIN等) 实现了简单的回显功能(echo服务) 代码展示了网络编程中的常见错误处理模式，包括信号处理、套接字选项设置以及读写操作中的错误恢复机制]]></description><category></category></item><item><title><![CDATA[Linux C 网络编程之路—— TCP client、tcp server]]></title><link>https://blog.youkuaiyun.com/GS8FG/article/details/162464685</link><guid>https://blog.youkuaiyun.com/GS8FG/article/details/162464685</guid><author>GS8FG</author><pubDate>Tue, 30 Jun 2026 21:41:59 +0800</pubDate><description><![CDATA[这篇文章展示了TCP客户端和服务器的C语言实现。头文件common.h定义了日志宏和网络参数，包含必要的系统头文件。TCP客户端创建套接字并连接到服务器，循环发送"hello,world"并接收响应。TCP服务器设置套接字选项(SO_REUSEADDR)，绑定端口，监听连接，接受客户端请求后进入读写循环。两者都包含完善的错误处理，使用自定义日志宏记录函数名、行号和错误信息。服务器采用goto统一处理错误场景，确保资源释放。这段代码演示了基本的TCP网络通信模型，包括套接字创建、连接管理、数据传输和错误处理机]]></description><category></category></item><item><title><![CDATA[Busybox生成根文件系统，并移植e2fsprogs：RK3568]]></title><link>https://blog.youkuaiyun.com/GS8FG/article/details/160227430</link><guid>https://blog.youkuaiyun.com/GS8FG/article/details/160227430</guid><author>GS8FG</author><pubDate>Thu, 16 Apr 2026 21:45:27 +0800</pubDate><description><![CDATA[本文介绍了在RK3568平台上使用BusyBox生成根文件系统并移植e2fsprogs的过程。首先配置BusyBox交叉编译环境，生成基础根文件系统结构，包括必要的设备节点和库文件。随后完善系统目录结构，添加关键配置文件（inittab、rcS、fstab）以实现系统启动和挂载功能。最后详细说明了e2fsprogs的交叉编译方法，通过配置脚本指定目标平台和安装路径，编译生成支持ext文件系统操作的工具集。该过程解决了根文件系统自动扩容问题，为嵌入式系统开发提供了完整的根文件系统构建方案。]]></description><category></category></item><item><title><![CDATA[鲁班猫2，lubancat2，linux sdk4.19整编出现的镜像源的问题修复]]></title><link>https://blog.youkuaiyun.com/GS8FG/article/details/157760959</link><guid>https://blog.youkuaiyun.com/GS8FG/article/details/157760959</guid><author>GS8FG</author><pubDate>Thu, 05 Feb 2026 03:31:05 +0800</pubDate><description><![CDATA[buster-xfce-full-arm64：这个目录是可以通过build.sh脚本推断出来的，因为这是编译debian出现的错误，不太理解的请仔细查看错误日志，对比build.sh脚本去理解。目录，然后里面的etc/apt/source.list文件。打开之后直接替换一下源，同时修改。命令运行错误，且根据日志追踪，最后在。最后不断运行、尝试，发现问题是出现在。]]></description><category></category></item><item><title><![CDATA[针对Linux，RK3568平台下，I2C驱动的一点小小的领悟]]></title><link>https://blog.youkuaiyun.com/GS8FG/article/details/157453877</link><guid>https://blog.youkuaiyun.com/GS8FG/article/details/157453877</guid><author>GS8FG</author><pubDate>Wed, 28 Jan 2026 02:11:54 +0800</pubDate><description><![CDATA[实际并不是，稍微追一下就可以发现是直接调用了i2c_adapter，可以很简单的理解为，通过这个玩意可以跳过编写i2c的驱动，在启动了对于管脚的i2c_adapter后，就可以在应用层编写应用，进行一定的处理，不需要在内核里面增加新的i2c_client、i2c_driver。i2c core：为硬件无关代码，主要作用是将i2c_client(i2c设备)、i2c_driver(i2c驱动)等的操作转换为i2c_adapter所需要的：简单理解为中间件/翻译等。i2c core：i2c核心层。]]></description><category></category></item><item><title><![CDATA[关于vscode无法通过ssh连接，但mobaxter能够通过ssh连接上的一个可能的思路]]></title><link>https://blog.youkuaiyun.com/GS8FG/article/details/147424481</link><guid>https://blog.youkuaiyun.com/GS8FG/article/details/147424481</guid><author>GS8FG</author><pubDate>Tue, 22 Apr 2025 16:14:57 +0800</pubDate><description><![CDATA[最好的方法是查看报错，我的报错信息告诉我，vscode无法删除.ssh文件夹下面的config文件的其他用户的权限，我将其删除后，不再报无法连接的问题。]]></description><category></category></item><item><title><![CDATA[Vmware扩展磁盘容量]]></title><link>https://blog.youkuaiyun.com/GS8FG/article/details/143027955</link><guid>https://blog.youkuaiyun.com/GS8FG/article/details/143027955</guid><author>GS8FG</author><pubDate>Thu, 17 Oct 2024 20:41:21 +0800</pubDate><description><![CDATA[vmware扩展]]></description><category></category></item><item><title><![CDATA[记录valgrind的一个抽象问题解决方式]]></title><link>https://blog.youkuaiyun.com/GS8FG/article/details/140250069</link><guid>https://blog.youkuaiyun.com/GS8FG/article/details/140250069</guid><author>GS8FG</author><pubDate>Sun, 07 Jul 2024 18:25:40 +0800</pubDate><description><![CDATA[valgrind]]></description><category></category></item><item><title><![CDATA[Linux驱动学习：字符设备驱动]]></title><link>https://blog.youkuaiyun.com/GS8FG/article/details/133591703</link><guid>https://blog.youkuaiyun.com/GS8FG/article/details/133591703</guid><author>GS8FG</author><pubDate>Thu, 05 Oct 2023 23:32:35 +0800</pubDate><description><![CDATA[【代码】Linux驱动学习：字符设备驱动。]]></description><category></category></item><item><title><![CDATA[Linux驱动学习：Linux文件系统与设备文件]]></title><link>https://blog.youkuaiyun.com/GS8FG/article/details/133591661</link><guid>https://blog.youkuaiyun.com/GS8FG/article/details/133591661</guid><author>GS8FG</author><pubDate>Thu, 05 Oct 2023 23:31:07 +0800</pubDate><description><![CDATA[作用一直，都是用于分割命令的，第一个命令是指：匹配。后面的序列，并删除；第二个命令是指：匹配。文件描述了Linux设备号的分配情况。udev的轻量级版本：mdev；：查看系统中包含的设备文件。：获知系统中注册的设备。netlink套接字。android中的是。]]></description><category></category></item><item><title><![CDATA[Linux驱动学习：Linux内核模块]]></title><link>https://blog.youkuaiyun.com/GS8FG/article/details/133472336</link><guid>https://blog.youkuaiyun.com/GS8FG/article/details/133472336</guid><author>GS8FG</author><pubDate>Mon, 02 Oct 2023 00:18:40 +0800</pubDate><description><![CDATA[Linux内核中，导出符号表实质上就是导出函数表，也就是让该文件中的函数能被其它文件引用。]]></description><category></category></item><item><title><![CDATA[Linux驱动学习：工具链]]></title><link>https://blog.youkuaiyun.com/GS8FG/article/details/133472293</link><guid>https://blog.youkuaiyun.com/GS8FG/article/details/133472293</guid><author>GS8FG</author><pubDate>Mon, 02 Oct 2023 00:14:27 +0800</pubDate><description><![CDATA[通常使用GNU工具链编译。下载编译并安装后，运行。]]></description><category></category></item><item><title><![CDATA[Linux驱动学习：一些编程特点]]></title><link>https://blog.youkuaiyun.com/GS8FG/article/details/133472249</link><guid>https://blog.youkuaiyun.com/GS8FG/article/details/133472249</guid><author>GS8FG</author><pubDate>Mon, 02 Oct 2023 00:12:56 +0800</pubDate><description><![CDATA[这个的作用是保证宏定义的使用者能编译错误地使用宏，不对其使用者做任何假设。允许声明函数、变量和类型的特殊属性。要指定一个声明的属性，只需要在声明后添加。使用的非常广泛，但一般只限于错误处理中。等，与对应的标准C库函数功能相同。为属性说明，属性之间以逗号分隔。大部分内建函数是标准C库函数的。而不属于库函数的其他内建函数的。编译器内建版本，比如。可以使用在函数中，用。]]></description><category></category></item><item><title><![CDATA[Linux驱动学习：Linux内核组成部分]]></title><link>https://blog.youkuaiyun.com/GS8FG/article/details/133472192</link><guid>https://blog.youkuaiyun.com/GS8FG/article/details/133472192</guid><author>GS8FG</author><pubDate>Mon, 02 Oct 2023 00:11:06 +0800</pubDate><description><![CDATA[Linux内核主要由进程调度、内存管理、虚拟文件系统、网络接口和进程间通信5个子系统组成。]]></description><category></category></item><item><title><![CDATA[Linux驱动学习：Kconfig]]></title><link>https://blog.youkuaiyun.com/GS8FG/article/details/133472107</link><guid>https://blog.youkuaiyun.com/GS8FG/article/details/133472107</guid><author>GS8FG</author><pubDate>Mon, 02 Oct 2023 00:08:46 +0800</pubDate><description><![CDATA[如以下表示，A只有当，B被选中且C不为n时，才可能出现。的子菜单，而且所有子菜单选项都会基础父菜单的依赖关系。配置选项在菜单树结构中的位置可由两种方法决定。分析依赖关系，生成菜单结构，比如利用。可以是前面描述的如何熟悉，比如。的VGA输出分辨率可以是。之间的配置选项都会成为。除此之外，还可以使用。定义一个选择群，其中。]]></description><category></category></item><item><title><![CDATA[Linux驱动学习：MakeFile]]></title><link>https://blog.youkuaiyun.com/GS8FG/article/details/133472022</link><guid>https://blog.youkuaiyun.com/GS8FG/article/details/133472022</guid><author>GS8FG</author><pubDate>Mon, 02 Oct 2023 00:06:51 +0800</pubDate><description><![CDATA[Makefile基础]]></description><category></category></item><item><title><![CDATA[stm32——SPI入门学习]]></title><link>https://blog.youkuaiyun.com/GS8FG/article/details/132114132</link><guid>https://blog.youkuaiyun.com/GS8FG/article/details/132114132</guid><author>GS8FG</author><pubDate>Sat, 05 Aug 2023 00:08:50 +0800</pubDate><description><![CDATA[SPI是串行外设接口（Serial Peripheral Interface）的缩写，是一种高速的，全双工同步的通信总 线，并且在芯片的管脚上只占用四根线，节约了芯片的管脚，同时为PCB的布局上节省空间，提 供方便，正是出于这种简单易用的特性，越来越多的芯片集成了这种通信协议，比如 AT91RM9200。]]></description><category></category></item><item><title><![CDATA[wiringPi库的交叉编译]]></title><link>https://blog.youkuaiyun.com/GS8FG/article/details/131650645</link><guid>https://blog.youkuaiyun.com/GS8FG/article/details/131650645</guid><author>GS8FG</author><pubDate>Mon, 10 Jul 2023 23:52:59 +0800</pubDate><description><![CDATA[一般步骤为下载对应的库，一般都是git clone 地址设定交叉编译器a. 第一种就是设置CC与CROSS_PREFIX：这种一般是基于./buildb. 第二种就是设置 --host与CC：其中–host就是指定将要运行的平台——这种一般是基于./configurec. 具体就需要查看文档：INSTALL安装。]]></description><category></category></item><item><title><![CDATA[IO口操控：orangepi zero 2]]></title><link>https://blog.youkuaiyun.com/GS8FG/article/details/131028316</link><guid>https://blog.youkuaiyun.com/GS8FG/article/details/131028316</guid><author>GS8FG</author><pubDate>Sun, 04 Jun 2023 04:32:06 +0800</pubDate><description><![CDATA[推荐书籍：unix设计与实现。]]></description><category></category></item><item><title><![CDATA[交叉编译：orangezero2]]></title><link>https://blog.youkuaiyun.com/GS8FG/article/details/130867418</link><guid>https://blog.youkuaiyun.com/GS8FG/article/details/130867418</guid><author>GS8FG</author><pubDate>Thu, 25 May 2023 14:59:58 +0800</pubDate><description><![CDATA[已经上传到了csdn，0积分下载。交叉编译器、交叉编译工具链。]]></description><category></category></item></channel></rss>