自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (1)
  • 收藏
  • 关注

原创 系统日志——保存设备系统日志

首先,定义不同的日志级别,以便根据重要性过滤日志。DEBUG:详细的调试信息。INFO:一般信息,如系统启动、运行状态。WARNING:潜在的问题,但不影响系统正常运行。ERROR:严重问题,可能影响功能或性能。FATAL:非常严重的问题,可能需要立即采取行动。

2024-04-04 16:49:30 893 1

原创 固件系统日志—纯打印

用于跟踪系统运行状态、错误和其他关键事件。

2024-04-04 16:26:58 391

原创 固件设备自检

设备自检(Self-Test),在嵌入式系统和电子设备中,是一种在设备启动时自动执行的诊断程序,用于检查硬件和软件的关键部分是否正常工作。这个过程对于确保设备在交付给用户之前和使用过程中的可靠性至关重要。

2024-04-04 16:18:33 385

原创 固件之使用文件系统来对flash进行管理

LittleFS是一个为嵌入式系统设计的开源文件系统,它专注于提供高效的操作、小型的占用空间以及对断电情况的鲁棒性。LittleFS通过简单的API实现了文件的创建、读取、写入和删除等基本操作,同时提供了对文件系统的穿戴平衡(wear leveling)、错误检测和修复等高级特性。在这个配置中,read、prog、erase和sync是指向用户提供的函数的指针,这些函数实现了对底层Flash硬件的操作。:这通常涉及到将文件系统的源代码或库文件添加到你的项目中,并在你的构建系统中配置它们。

2024-04-03 17:44:25 307

原创 简单的Linux字符设备驱动程序

下面是一个简单的Linux字符设备驱动程序的示例,用于演示如何创建和注册一个字符设备。这个示例仅用于教学目的,它会创建一个设备,该设备能够接收写入的数据,并允许从中读取相同的数据。请注意,开发内核模块需要具备一定的Linux内核知识,以及对C语言的熟悉。此外,编译内核模块需要安装相应的内核头文件。

2024-03-15 17:58:45 365

原创 通信协议包

首先,定义循环缓冲器的结构体,包括缓冲区本身、缓冲区的大小、头部索引和尾部索引。10int head;int tail;int count;i++) {if (!if (!int data;if (!return 0;在这个例子中,结构体定义了循环缓冲器的基本属性,包括一个固定大小的数组buffer用于存储数据,head和tail索引用于跟踪读写位置,以及count用于记录缓冲区中当前的数据项数目。cb_init函数初始化缓冲器,cb_write。

2024-03-11 11:29:31 1481 1

原创 驱动代码是通过内存地址bit位上写0或者1去驱动硬件设备,那么硬件设备要给某一个bit位绑定才能控制设备

硬件设备的控制通常通过写入特定的值到设备的寄存器来实现。这些寄存器可能控制设备的各种功能,如启动或停止操作、配置设备参数等。每个寄存器由多个位组成,每个位或位字段可以控制或表示设备的某个特定功能。硬件设计者会在设备的数据手册中详细说明这些寄存器和位字段的功能。在硬件设计阶段,硬件工程师会定义寄存器的布局和每个位的功能。:首先,驱动需要通过某种方式访问硬件设备的寄存器。总之,硬件设备的控制是通过在驱动程序中执行对设备寄存器的精确读写操作来实现的,这需要对硬件设备的寄存器映射和位操作有深入的理解。

2024-03-11 11:19:17 362 1

原创 基于TCP的网络通信时,视频流的场景

客户端-服务器模型中添加对摄像头数据的处理,我们需要考虑几个关键点:摄像头数据的获取:这通常涉及到使用特定的库或API来从摄像头捕获视频帧。在Linux环境下,常用的库有V4L2(Video for Linux 2)。数据的编码和传输:摄像头捕获的原始视频帧数据量可能非常大,直接传输可能不太现实。因此,通常需要对数据进行编码(如使用H.264编码)来减少需要传输的数据量。服务器端的数据处理:服务器需要能够接收、(可能)解码并处理来自客户端的视频流数据。

2024-03-07 20:52:16 1601

原创 多线程epoll

为了实现一个更精细和具体需求的多线程epollepoll。

2024-03-07 19:27:21 376

原创 file_operations

在Linux内核中,每个设备驱动都需要提供一个[file_operations]结构体,该结构体定义了设备支持的操作函数。下面是一个简单的字符设备驱动的[file_operations]结构体示例,并对其中的代码进行解释。Linux字符设备驱动是一种特殊的设备驱动,主要用于处理字符流的输入输出,如串口通信、文件读写等。字符设备驱动与块设备驱动不同,后者主要用于处理数据块的读写,如硬盘、USB存储设备等。在实际的设备驱动开发中,需要根据具体的设备特性来实现这些操作函数。这个函数通常用于执行设备的初始化操作。

2024-03-07 19:05:35 319

原创 消息队列和共享内存是两种不同的进程间通信机制。

消息队列是一种存放在内核中的消息链表,用于在不同进程之间传递数据。它通过将数据写入队列中,然后由其他进程从队列中读取来实现进程间通信。消息队列适用于多对多的通信模式,其中一个进程可以向队列中写入消息,多个进程可以从队列中读取消息。多个进程可以访问同一块内存区域,从而实现数据的共享。共享内存适用于高性能的数据交换场景,因为数据直接存放在共享内存中,无需复制和序列化操作。但是,由于多个进程可以同时访问共享内存,因此需要使用同步机制(如信号量)来保证数据的一致性和避免竞争条件。

2024-03-07 18:51:46 416

原创 Clion配置QT开发环境

参考连接:https://www.qter.org/portal.php?网址1:https://download.qt.io/archive/qt/qt安装时使用的远程服务注意环境和路径。4.设置为Release。

2023-09-01 10:50:18 207 1

原创 makefile的理解

链接时,主要是链接函数和全局变量,所以,我们可以使用这些中间目标文件(O 文件或是 OBJ文件)来链接我们的应用程序。链接器并不管函数所在的源文件,只管函数的中间目标文件(Object File),在大多数时候,由于源文件太多,编译生成的中间目标文件太多,而在链接时需要明显地指出中间目标文件名,这对于编译很不方便,所以,我们要给中间目标文件打个包,在 Windows 下这种包叫“库文件”(Library File),也就是 .lib 文件,在 UNIX下,是 Archive File,也就是 .a 文件。

2023-08-25 14:25:55 64 1

原创 SM4加密算法的代码实现C语言

【代码】SM4加密算法的代码实现C语言。

2023-08-22 11:34:01 692 1

原创 原始套接字

使用原始套接字需要具有root权限或者特殊的权限(混杂模式要打开),因为它可以绕过操作系统的网络栈。此外,原始套接字通信在不同的操作系统上可能会有一些差异,上述代码在Linux上编译运行正常。使用原始套接字进行客户端和服务端通信是比较复杂的,因为它需要手动构建和解析网络数据包。以下是一个简单的示例,展示了如何使用原始套接字进行客户端和服务端通信。

2023-08-22 11:26:26 69 1

原创 ssh安装与启动

把配置文件中的"PermitRootLogin without-password"加一个"#“号,把它注释掉–>再增加一句"PermitRootLogin yes”–>保存,修改成功。输出显示有sshd,说明ssh服务已经启动,如果没有启动,输入"sudo service ssh start"–>回车–>ssh服务就会启动。通过修改配置文件/etc/ssh/sshd_config,可以改ssh登录端口和禁止root登录。在两台主机上(Ubuntu 16.04)上都安装和配置ssh。一 安装ssh客户端。

2023-08-22 11:19:38 786 1

原创 交叉编译器

测试:mips-linux-gnu-gcc -dumpmachine,返回“mips-linux-gnu”表示正常。3、其次这个GCC编译器是用来编译ARM架构代码的,也就是编译出来的可执行文件是在ARM芯片上运行的。安装命令:apt-get install gcc-mips-linux-gnu。arm-linux-gnueabihf-gcc -v 根据版本名称来查询。2、这个GCC编译器是运行在X86架构的PC上面。然后将下载的交叉编译器复制到这个目录下,然后解压。交叉编译器是:(跨平台编译的工具)

2023-08-22 11:17:16 546 1

原创 CMAKE的手动安装

最近换嵌入式研发工作记录一下工作中做的事情

2023-08-22 11:12:45 262 1

原创 Java学习总结------流程控制篇

在编写程序时我们将会执行一些判断的事情和重复性操作这时Java程序的三种基本结构顺序结构 (按照顺序从上往下依次执行)选择分支结构(基于顺序结构,选择执行某些代码)循环结构(基于顺序结构,重复执行某些代码)...

2020-10-20 21:21:00 154

原创 Java学习总结-----java语言基础篇一

Java语言基础总结一一.编程基础1.编码规范1.1代码注释编写代码一定要添加注释信息不然过段时间看及时是自己写的也不知道是什么的亲身体验我所(1)单行注释 //(2) 多行注释 /* 注释内容*/(3)注释文本 /*与/2.变量与常量2.1标识符:代码的过程中自定义的一些名称即为标识符,命名规则:由英文大小写字母、数字字符、$和-组成注意事项:不能以数字开头、不能是java中的关键字、区分大小写2.2变量变量就是对内存中数据的引用,可以这样理解:变量就是内存中数据的代

2020-10-15 18:40:55 163

原创 Java学习总结篇一初识jvav

一.Java语言的认知1.什么是Java*java语言其实最早诞生于1991年,起初被称为OAK,是sun公司为消费性电子产品设计的通用环境,sun公司最初的目的就是为了开发一种独立于平台的软件技术,在网络出现之前,OAK是默默无闻的一款软件,随着互联网的不断发展,才推进了OAK的发展与延申。在Java语言出现之前,互联网的网页就像一张白纸一样,只有一些枯燥乏味的HTML文档,人们迫切希望能够在web中看到交互式内容。随着互联网与OAK的不断发展,sun公司在1995年5月发布了Java程序设计语言,将

2020-10-14 14:44:31 741

原创 计算机四级网络工程师总结

1.操作系统(1)概念是计算机系统的一个系统软件,能有效地组织和管理计算机系统中的硬件和软件资源,合理(公平对待不同用户程序,不发生“死锁”和“饥饿”)组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能,使用户能灵活、方便、有效地使用计算机,并使整个计算机系统高效运行;位于硬件之上,支撑软件(软件的编制和维护)之下。A.应用角度看主要作用:提供人机交互接口(提供给用户的接口是命令输入和系统调用);B.软件开发角度看作用:软件开发的基础平台;C.安全保护角度看作用:第一道安全防线;D.系

2020-10-12 22:32:01 3304

原创 书城练习

书城练习我学习Java基础的练习书城有所借鉴Javaweb是借鉴的。对于书城的编写我采用的系统环境是Eclipse neno+jdk1.8+tomcat8.5+mysal1.包的划分2.jar包导入mysql驱动导入c3p0导入dbutils导入beanutils导入fileupload导入javamail mail.jar导入jstl jstl.jar standard.jar3.页面采用的别人的(有一定改变)4.后台模块4.1用户模块4.1.1用户注册 4.1.

2020-10-12 22:30:53 224

原创 2020-06-21

秒建一个后台管理系统?用这5个开源免费的Java项目就够了文章来源于公众号JavaGuide ,作者Guide哥今天推荐几个 Java 项目快速开发脚手架,解放双手 ✋ 从现在开始。以下推荐项目都是码云上的优质项目,并且都是项目快速开发脚手架,代码质量什么的无法保证能有多好,毕竟很多也是个人开发,或多或少也有个人色彩影响。不过既然开源出来,这么多人参与,一般情况下项目整体质量可以说是非常不错的了。另外,下面推荐的项目几乎都是码云上面选出来的最有价值的开源项目。后面,可能会单独再推荐一期 Github

2020-06-21 06:54:10 180

原创 2020-06-20

别的地方看到了分享给你们字节跳动 2021 校招研发提前批 3000+ 岗位虚位以待,先投为敬!本次校招提前批针对研发类岗位,以下优势看点你不能错过:超早上岸:6 月就能拿 offer,快人一步;超稳通关:多一次投递机会,结果不影响秋招;面向对象:2021 届的毕业生,限研发方向( 2020 年 9 月~2021 年 8 月毕业)内推地址: https://job.toutiao.com/act/es/hr_2021_recruitment?token=MzsxNTkyMzc0Mzk1ODAxO

2020-06-20 22:35:36 73

文件系统littlefs

文件系统littlefs

2024-04-08

智能家居全套资料可用于各种环境检测系统中

智能家居全套资料可用于各种环境检测系统中

2024-03-11

基于java的ssm框架货运系统

羊城货运系统旨在为国际物流代理商提供综合管理业务,系统主要分为角色管理、统计报表、基础资料、运单管理、财务管理、系统管理等核心功能;客户可以通过订单id或者物流单号,查询订单状态。

2022-11-07

基于springboot等框架的民宿系统

毕业设计java系统

2022-10-14

51单片机计算机毕业设计

51单片机计算机毕业设计

2022-10-14

酒店管理系统毕业设计源码论文.rar

酒店管理系统毕业设计源码论文.rar

2021-10-26

空空如也

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

TA关注的人

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