自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(395)
  • 资源 (5)
  • 收藏
  • 关注

转载 Linux iptables 命令(防火墙)

Linux iptables命令详解Linux下 iptables 超详细教程和使用示例iptables 是 Linux 防火墙系统的重要组成部分,iptables 的主要功能是实现对网络数据包进出设备及转发的控制。当数据包需要进入设备、从设备中流出或者由该设备转发、路由时,都可以使用 iptables 进行控制。iptables 是集成在 Linux 内核中的包过滤防火墙系统。

2024-03-28 15:18:37 78

转载 Linux ip命令

ip 命令是 Linux 系统中用于配置网络接口、管理路由表和地址等功能的强大工具。它取代了老的 ifconfig 和 route 命令,提供了更多的功能和灵活性。Linux下的ip命令Linux ip命令菜鸟教程:Linux ip 命令。

2024-03-26 15:42:26 34

原创 电脑/设备网络共享给其他设备上网

网络共享

2024-01-12 16:17:30 862 1

转载 以太网头介绍(IP头、TCP头、UDP头)

文章目录QT 常用快捷键QT 常用快捷键Ctrl + Shitf +F 快捷键方式搜索,具体搜索选项可以根据自己需要选择

2023-12-04 09:02:48 1540 2

转载 TCP三次握手和四次挥手

TCP的三次握手是为了建立可靠的连接。它的主要目的是确保双方都能够发送和接收数据,同时解决网络中可能存在的问题。首先,第一次握手是客户端向服务器发送连接请求报文段。这样做的原因是,客户端需要确保服务器可以正常工作,并且可以接受来自客户端的连接请求。然后,第二次握手是服务器向客户端发送确认消息,表示接收到了客户端的连接请求。最后,第三次握手是客户端向服务器发送确认消息,表示客户端已经收到了服务器的确认消息。这样做的目的是确保服务器能够正常接收到客户端的确认消息,以建立可靠的连接。

2023-11-28 14:55:26 211

原创 嵌入式设备时间同步(gpsd pps chrony 校时)

设备时间同步

2023-10-13 13:35:53 2090 1

转载 c++ virtual 关键字 override 关键字

C++ virtual 和 override 关键字

2023-08-14 17:06:50 428

原创 curl 介绍和使用

Curl是一个命令行工具和库,用于进行数据传输。它支持多种协议,如HTTP、HTTPS、FTP、SMTP等,并可以通过URL进行数据传输。Curl提供了一个简单的语法来发送HTTP请求和接收服务器响应。它可以执行各种操作,如发送GET请求、POST请求、上传文件、下载文件等。使用Curl,您可以方便地在命令行中进行HTTP请求的测试和调试。它提供了丰富的选项和参数,可以设置请求头、发送表单数据、处理Cookie、进行认证等。除了作为命令行工具,Curl还提供了一个C语言的库,可以在您的程序中使用。

2023-08-02 17:29:37 1613

原创 Ubuntu18.04 docker kafka 本地测试环境搭建

Kafka是一种分布式流处理平台,也是一个高吞吐量的分布式发布订阅消息系统。它由LinkedIn开发,并于2011年成为Apache软件基金会的顶级项目。Kafka的设计目标是能够处理大规模的消息流,并提供持久性、高吞吐量和低延迟的特性。它的核心概念是发布-订阅模型,其中消息被组织成一个或多个主题(Topics),生产者(Producers)将消息发布到主题中,而消费者(Consumers)从主题中订阅并处理消息。

2023-07-12 11:43:28 772

原创 IDA 介绍和使用

IDA的新手入门指南IDA的反编译插件hexrays decompiler逆向分析工具IDA与开源工具Ghidra、Cutter对比测评IDA(Interactive DisAssembler)是一款功能强大的反汇编工具,用于分析和逆向工程二进制文件。它被广泛用于软件漏洞分析、恶意代码分析、逆向工程等领域。以下是IDA的一些主要特点和功能:反汇编:IDA可以将二进制文件转换为易于阅读和理解的汇编代码。它支持多种处理器架构,包括x86、ARM、MIPS等。

2023-07-03 17:02:23 4047

原创 Linux可执行文件格式介绍和设备GDB调试

1.Linux 可执行文件/ELF文件格式介绍。2.Linux 内存地址分布。

2023-05-05 16:29:57 195 1

原创 嵌入式系统相关 ChartGPT问答

OpenEmbedded:OpenEmbedded是一个开源的嵌入式Linux发行版制作工具,它与Yocto Project类似,使用BitBake构建系统,可以定制内核、文件系统、应用程序等等,同时具有更高的灵活性和可定制性。BusyBox:BusyBox是一个轻量级的工具集,它包含了许多用于嵌入式系统的常用工具和应用程序,如ls、cp、mv、rm、mkdir、cat、echo等等。总之,设备树是一种用于描述硬件设备及其属性的数据结构,而设备节点则是设备树中的一个节点,描述了一个具体的硬件设备及其属性。

2023-05-05 16:05:20 959

转载 IMX6Q的SD卡启动使用教程

经过上述5个步骤,即可实现uboot引导linux,加载文件系统的工作。整个流程是一个linux嵌入式工程师必备技能,其中会遇到很多问题,需要自己一一解决并总结。幸运的是大部分问题网上都能找到解决方案,重要的是坚持!后续会补充文中没有详细展开的内容,包括根文件系统制作、NFS\TFPT启动等。还准备手把手教如何在IMX6Q上移植ubuntu20根文件系统并安装桌面,制作属于自己的嵌入式开发板环境。

2023-04-25 14:37:27 585

原创 Linux 查看进程和线程CPU和内存占用情况

(1)ps -p {pid} -T 可以得到该进程里面运行的各线程的id(表现出来是spid)、对应的线程名称(不超过16字符)、运行时间等;你可以把这个目录下的信息理解为Linux内核在执行你写的程序时所打印的Log。下,因此你可以通过查看这个目录下的信息来或者进程的运行时行为,这对于那些好奇内核是如何运行程序的同学是非常重要的。下记录了每个进程运行时的所有关键信息,那这些信息是谁来生成的呢,答案是Linux内核。Linux内核在执行你写的程序时,将所有关键信息写到了。

2023-04-25 14:34:11 5958

转载 各大半导体原厂芯片代码仓库(GitHub)

从事嵌入式开发,经常与底层芯片打交道,在使用一个新的芯片时,一般原厂都会提供相关驱动(driver)、中间件(HAL)以及演示例程(demo),也方便我们快速使用该芯片,提高产品开发效率。收集了常用到的几个半导体原厂芯片代码仓库(GitHub),相关芯片代码可以从从中找到,但不是所有芯片都会提供。【6】微芯半导体(Microchip )【10】海思半导体(Hisilicon)【11】英飞凌半导体(Infineon)【9】赛普拉斯半导体(Cypress)【2】恩智浦半导体(NXP)【1】意法半导体(ST)

2023-04-25 10:10:13 469

原创 Linux 报 bus error

文章目录C 总线错误 (bus error) - 段错误 (segmentation fault)总线错误(Bus error)

2023-04-24 16:04:33 968

转载 shell 内部命令和外部命令

Shell 教程Shell 是一个应用程序,它连接了用户和 Linux 内核,让用户能够更加高效、安全、低成本地使用 Linux 内核,这就是 Shell 的本质。Shell 本身并不是内核的一部分,它只是站在内核的基础上编写的一个应用程序,它和 QQ、迅雷、Firefox 等其它软件没有什么区别。然而 Shell 也有着它的特殊性,就是开机立马启动,并呈现在用户面前;用户通过 Shell 来使用 Linux,不启动 Shell 的话,用户就没办法使用 Linux。

2023-04-20 17:24:29 685

原创 Linux mv根下目录/lib目录的恢复

首先这里并不是删除了/lib,而是人为修改成了/libbk。在交叉编译完busybox后,想测试下新版本的busybox命令。由于当前系统已完备,于是通过SCP将新的busybox打包拷贝到设备中。解压后验证可用,但实际上busybox是动态编译,依赖动态库。于是通过重命名了。于是就出现ls、cp等命令无法使用问题。Linux 动态库查找路径。

2023-04-19 16:23:00 879

转载 Linux mknod命令

Linux mknod命令:创建块设备和字符设备文件。

2023-04-19 15:48:00 731

转载 Linux 设置开机自启动

设置Linux自启动

2023-04-17 16:30:42 3039

转载 arm backtrace 使用

backtrace使用

2023-04-17 11:38:42 451

转载 Linux下的NFS服务(包含windows10下的nfs搭建)

https://blog.csdn.net/Keep_Trying_Go/article/details/127951003

2023-04-17 11:19:36 97

转载 Linux 查看程序内存占用情况 top和free等命令

想必在linux上写过程序的同学都有分析进程占用多少内存的经历,或者被问到这样的问题——你的程序在运行时占用了多少内存(物理内存)?通常我们可以通过top命令查看进程占用了多少内存。这里我们可以看到VIRT、RES和SHR三个重要的指标,他们分别代表什么意思呢?这是本文需要跟大家一起探讨的问题。当然如果更加深入一点,你可能会问进程所占用的那些物理内存都用在了哪些地方?

2023-04-14 08:58:56 3859

转载 Linux 内存地址分布

malloc的分配内存有两个系统调用,一个brk,一个mmap,brk是将.data的最高地址指针_edata往高地址走,mmap则是在进程的虚拟地址空间(在堆和栈之间的内存映射区域)找一块空间。) 所以我们常说的多少位系统,他的内存多大,都是说的虚拟内存空间。C.非初始化数据段。接下来所说的是嵌入式系统的内存地址空间的布局,简单的说就是我们写好的代码,在编译过程种中,把代码里不同的变量、函数相应的保存在每个段中(.text、.data、.bss),至于堆空间、栈空间是代码在芯片上运行时才存在的。

2023-04-13 17:29:27 1017

转载 Linux size 命令

size命令

2023-04-13 17:04:25 436

转载 Linux history 命令

history命令的执行结果是系统默认的两列结果,如需显示更多信息,需配置HISTTIMEFORMAT环境变量。编写Linux shell自动判卷脚本过程中,使用到history命令时,如何显示命令执行时间问题的解决。2.若要使每次都生效,则需要设置系统环境变量,首先打开/etc/profile文件。命令或重启后,即可永久生效,每次使用history命令即可显示命令执行时间。执行结果如下,会看到已经出现了命令执行的时间。在文件末尾加上该条命令。

2023-04-12 18:29:32 305

原创 libevent、libev等网络库介绍

libevent等网络库介绍

2023-04-10 18:45:09 853

原创 C++异常处理(try catch)

C++异常处理(try catch)C++异常捕获C++ 异常处理机制会涉及 try、catch、throw 三个关键字(注意没有 finally 关键字)程序的错误大致可以分为三种,分别是语法错误、逻辑错误和运行时错误:C++ 异常(Exception)机制就是为解决运行时错误而引入的。C++ 规定,异常类型可以是 int、char、float、bool 等基本类型,也可以是指针、数组、字符串、结构体、类等聚合类型。

2023-04-07 16:03:09 936

转载 C++回调函数

如果你把函数的指针(地址)作为参数传递给另一个函数,回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。p指向Max函数之后,然后用p调用Max函数,返回两个数中的最大值。特别注意的是,因为函数名本身就可以表示该函数地址(指针),因此在获取函数指针时,可以直接用函数名,也可以取函数的地址。前面函数指针的方式作为回调函数的一种方式,可以同时用于C和C++,下面介绍另外的一些方式,因为C++引入了对象的概念,可以使用类的成员和静态函数作为回调函数。

2023-04-07 13:49:29 3753

转载 区分/dev/tty、/dev/console、/dev/pts、/dev/ttyn

分别是/ dev/ttyN(其中 tty0就是/ dev / console,tty1 ,tty2就是不同的虚拟终端(virtual console)).通常使用热键alt+Fn来在这些虚拟终端之间进行切换。本人在进行rootfs创建的时候,遇到了设备/dev/pts,因为rootfs最后需要能通过telnet来登录。所有写向这个设备的输出都将被丢弃,而如果你读/dev/null,则会立即得到一个文件尾标志而返回。指的是当前所处的终端 ,输出到此的内容只会显示在当前工作的终端显示器上。

2023-04-01 14:58:36 691

转载 TLS 握手过程介绍

TLS 了解

2023-03-30 10:33:57 71

原创 C++ 并发支持库 (线程 原子操作 条件变量 信号量)

这些组建为细粒度的原子操作提供,允许无锁并发编程。涉及同一对象的每个原子操作,相对于任何其他原子操作是不可分的。原子对象不具有数据竞争。

2023-03-19 15:18:03 134

原创 C++ 问题记录

记录一些项目开发过程中遇到的问题,来加深印象和理解,一方面避免重复犯错,另一方面再次遇到可以快速定位问题。构造函数内打印代码没执行。

2023-03-19 12:10:09 47

转载 C++ 打印十六进制数据

大家可能在做流媒体开发,或者网络相关开发的时候经常需要对数据进行逐个字节的分析,这个时候如果能在日志里面通过二进制,或者十六进制的方式打印出字节的详细内容,这样就能很方便的分析数据了。需求:std::string可以存放非字符串数据,在调试过程中需要将原始数据按16进制的格式打印出来。这里有个很小的代码片段,可以完成这个功能。

2023-03-19 11:31:19 2038

原创 Http 相关记录

https://www.4hou.com/search-post?keywords=%E8%90%A4%E7%9F%B3

2023-03-15 09:31:24 36

原创 进程管理工具

进程管理工具

2023-02-15 15:04:14 121

转载 Linux addr2line 命令

描述Linux下addr2line命令用于将程序指令地址转换为所对应的函数名、以及函数所在的源文件名和行号。当含有调试信息(-g)的执行程序出现crash时(core dumped),可使用addr2line命令快速定位出错的位置。如果无法确定文件名或函数名,addr2line将在它们的位置打印两个问号;如果无法确定行号,addr2line将打印0或一个问号。查看使用和帮助手册参数说明-a --addresses:在函数名、文件和行号信息之前,显示地址,以十六进制形式。

2023-02-09 15:43:31 3685

转载 Linux ELF文件格式介绍

可执行链接格式(Executable and Linking Format)最初是由 UNIX 系统实验室(UNIX System Laboratories,USL)开发并发布的,作为应用程序二进制接口(Application Binary Interface,ABI)的一部分。工具接口标准(Tool Interface Standards,TIS)委员会将还在发展的 ELF 标准选作为一种可移植的目标文件格式。Linux下面一共有四类目标文件是按照ELF的格式来保存的,如下:由此我们可知由汇编器。

2023-02-08 19:15:37 458

转载 C++编译知识笔记(二)——Linux ELF文件解析

Linux下面的可执行文件格式是ELF,是COFF(Common Object File Format,早期的类UNIX系统使用)格式的变种,虽然名字就是可执行文件格式,但不光是可执行文件是这个格式,目标文件也是按这种文件类型来保存的,不光如此,Linux下面一共有四类文件是按照ELF的格式来保存的,如下:对于一个熟练的linux平台的c/c++开发人员,这些文件类型应该都不陌生。另外,前面提到过,.a的静态链接库可以理解为.o的打包,因此本质上也属于ELF类型。

2023-02-08 17:06:39 651

转载 Linux 查看路由表

在计算机网络中,路由表(routing table)或称路由择域信息库(RIB, Routing Information Base),是一个存储在路由器或者联网计算机中的电子表格(文件)或类数据库。路由表存储着指向特定网络地址的路径(在有些情况下,还记录有路径的路由度量值)。路由表中含有网络周边的拓扑信息。路由表建立的主要目标是为了实现路由协议和静态路由选择。

2023-02-08 15:54:30 9165

设备和电脑的串口共享软件.rar

串口共享软件

2021-07-28

FormatFactory_setup.rar

格式工厂,修改音频格式

2021-07-27

GNUMakeManual_CN-master.zip

GNUMakeManual_CN-master.zip 是学习makefile的基本手册

2021-07-26

十六进制编辑工具.rar

十六进制编辑器

2021-03-20

Windows 64位编译好的Openssl静态库、相关安装包和demo示例

资源包括:编译好的openssl静态库,openssl-1.0.2m.tar.g压缩包,ActivePerl-5.26.0.2600-MSWin32-x64-403866.exe安装包(Win64),nasm-2.14-installer-x64.exe安装包,附加一个win64下的demo示例

2018-11-13

空空如也

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

TA关注的人

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