自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

独舞风

用心呵护小小的梦想,专注于嵌入式系统开发!——WXW

  • 博客(73)
  • 资源 (5)
  • 收藏
  • 关注

转载 UDP数据包最大长度与收发包

关于UDP面向报文的传输方式决定了UDP的数据发送方式是一份一份的,也就是应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。那么UDP的报文大小由哪些影响因素呢?UDP数据包的理论长度是多少,合适的UDP数据包应该是多少呢?(1)UDP报文大小的影响因素,主要有以下3个[1] UDP协议本身,UDP协议中有16位的UDP报文长度,那么UDP报文长度不能超过2^16=65536.[2] 以太网(Ethernet)数据帧的长度,数据链路层的MTU(最大传输单元)。

2024-08-19 18:03:50 95 1

转载 Git工程中.gitkeep文件

gitkeep文件是创建在一个空目录下的标识性文件,其作用是为了使 Git 保留该空目录(在有了 .gitkeep 文件后就不是空目录了)。.gitkeep文件的文件名是社区的一个约定,仅仅只是为了起到一个统一的目的,使开发者在看到该文件时就知道其作用。.gitkeep文件和官方没有任何关系,并不是官方定义的 Git 的系统文件。.gitkeep文件应该是一个目录下的唯一文件,当该目录下有了其他文件时,就应该删除.gitkeep文件。.gitkeep文件和.gitignore文件没有任何关系;

2024-07-24 09:49:32 50

转载 Visual Studio Code统计代码量插件VS Code Counter

顶部菜单栏 【查看】(View) 选择下拉菜单 【命令面板】打开命令输入栏,或者直接快捷键。结果非常翔实,从时间、目录、总数、语言以及各目录的统计都有,各位小伙伴可以按需查看。当选择代码统计之后,底部会出现VSCodeCounter的提示,耐心等待。md文件建议使用md扩展工具查看,也可以直接txt文件查看,结果一致。,如果要统计整个工作区间的代码也可以,选择下面的。另外一种方案就特别简单,直接右击指定目录,选择。的目录,并按照统计时间展现对应的代码统计数据。然后输入指定目录并回车就可以统计代码了。

2024-06-11 10:49:14 1634

原创 番茄工作法

靠谱推荐:Free Pos,微信JOCIHEZ。

2024-06-04 22:46:12 96

原创 C++设计模式:Singleton 模式( 单例模式)

Singleton 模式是设计模式中最为简单、最为常见、最容易实现,也是最应该熟悉和掌握的模式。Singleton 模式就是一个类只创建一个唯一的对象,即一次创建多次使用。懒汉式:解决了饿汉式内存浪费问题,但是线程不安全的,可以通过互斥量mutex.lock()和mutex.unlock()来解决。饿汉式:还没有使用该单例对象,该单例对象就已经被加载到内存了,在对象过多时会造成内存浪费。3、提供静态对外接口,可以让用户获得单例对象。2、增加静态私有的当前类的指针变量。单例分为懒汉式和饿汉式。

2024-05-31 21:50:47 182

转载 HTTP报文中的MIME type

MIME typeMIME type的缩写为(Multipurpose Internet Mail Extensions)代表互联网媒体类型(Internet mediatype),MIME使用一个简单的字符串组成,最初是为了标识邮件Email附件的类型,在html文件中可以使用content-type属性表示,描述了文件类型的互联网标准。是一种用于在异构系统、网络之间传递信息时时声明其格式的方法。MIME类型能包含视频、图像、文本、音频、应用程序等数据。一般的,在文件系统中,我们会使用扩展名来表示。

2024-05-09 14:10:47 106

转载 TortoiseGit提示No supported authentication methods available

采用GortoiseGit方式clone失败之后,一定要先尝试用Git bash命令行试下,如果Git bash命令行可以,那就用上面的方法切换ssh。如果Git bash也失败,那就要考虑更换下生成SSH密钥的加密算法类型再试试,例如采用RSA类型,而不是ED25519。远程仓库的公匙无法和本地的密匙进行匹配认证造成的(主要是。却可以正常使用,不受影响。没有支持认证的方法可用。通过调查,发现应该是。

2024-04-24 15:00:16 844 1

转载 匿名结构体/联合体(#pragma anon_unions)

之所以要使用这个东西,是因为在gcc编译器中是支持匿名结构体/联合体的使用的,而在ARMCC中不支持,所以如果要在ARMCC中使用匿名的结构体/结合体,就需要使用 #pragma anon_unions 告知编译器,不然会编译不通过。匿名结构:在另一个结构中声明结构变量,而无需为其命名的嵌套结构称为匿名结构。匿名结构体/联合体指的是没有命名的结构,因为没有对应的名字,所以也不会直接创建这个对象或者变量,一般都是在嵌套结构中使用。常规用法中,会层层递进来操作内部结构体中的变量,例如上图中的P.bit.C。

2024-04-19 11:56:18 623

转载 C++设计模式:AbstactFactory 模式(抽象工厂模式)

每上架一个国家的苹果我们都要实现一次苹果类,这样就会有成千上万的苹果类需要被创建,AbstractFactory 模式就是用来解决这类问题的:要创建一组相关或者相互依赖的对象。实际上,AbstractFactory模式是为创建一组(有多类)相关或依赖的对象提供创建接口,而 Factory模式是为一类对象提供创建接口或延迟对象的创建到子类中实现。假如我们要买水果,水果的产地来自中国、日本、美国,每个国家的水果种类都可以分为苹果、香蕉、梨子。

2024-04-16 10:09:46 35

转载 C++设计模式:Factory 模式(工厂模式)

main.c文件中只需要关注Product类(基类),不关注具体某个ConcreteProduct,采用多态特性,调用ConcreteProduct的接口。如此实现,在ConcreteProduct类内部做任何修改,都不影响main.c的代码逻辑。可以看出,对与某一个具体的工厂ConcreteFactory类,其所生产的产品是ConcreteProduct类,通过工厂类的CreateProduct接口,实现内部对ConcreteProduct对象的封装和屏蔽;

2024-04-15 15:27:44 105

原创 学习笔记:解决拖延

1 改变心态2 时间管理3 项目管理思维4 博弈思维5 沟通管理

2024-04-09 18:12:45 417

转载 C++设计模式:概述

设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的解决某一类问题的一种编码方案。

2024-04-08 21:30:47 25

转载 FFmpeg最全命令合辑

以下记录在学习音视频开发过程中,对FFMPEG的指令的学习存档,转发存档以备查询。

2024-04-07 17:57:53 155

原创 用QT调用FFMPEG的接口

主要目的是:添加FFMEEG的库路径和头文件路径,实际地址根据不同的客户端环境,会有差异。运行时,需要在指令中添加目标文件的地址,这里用了绝对路径,相对路径不知为何行不通,先不管了,这些不重要。主要目的是:添加FFMPEG的库路径和头文件路径,实际地址根据不同的客户端环境,会有差异。主要目的是:添加SDL的库路径和头文件路径,实际地址根据不同的客户端环境,会有差异。主要目的是:添加SDL的库路径和头文件路径,实际地址根据不同的客户端环境,会有差异。在工程的pro文件中,添加如下字段;打开Qt,新建工程;

2024-04-03 14:55:02 1139

转载 AAC文件的ADTS格式解析

平时如果你遇到了编码AAC裸流的时候,很有可能会出现写出来的AAC文件不能在PC端和手机上进行正常播放,这时候可能的原因是你的AAC文件中的每一帧里面缺少了ADTS头信息文件的包装拼接。⼀个AAC原始数据块⻓度是可变的,对原始帧加 上ADTS头进⾏ADTS的封装,就形成了ADTS帧。注意:ADTS Header的长度可能是7个字节或者9个字节,protection_absent=0时,则ADTS Header的长度为9个字节;固定头信息中的数据每⼀帧都相 同,⽽可变头信息则在帧与帧之间可变。

2024-04-03 11:00:19 194

原创 Uboot的start.s源码分析

将此标号地址处的内容取出来给pc指针,而这内容恰好是异常处理函数的首地址(预留的空间就是为了放异常处理地址用的,这里_software_interrupt: .word software_interrupt指令中software_interrupt,是一个标号,标号代表的是处理地址,也是跳转的目标地址,该标号在本文件最下边有定义,其他标号类似),这样完成了一次异常处理。_TEXT_BASE并不是ram中的起始地址,只是u-boot放置的首地址,源码中是:0x33f80000。

2024-03-07 17:46:09 924

转载 Ubuntu安装Qt教程

执行sudo apt-get install libgl1-mesa-dev完成后,回到qtcreator界面,重新运行项目,就出现mainWindow界面了。至此,qt-opensource-linux-x64-5.11.1算是安装成功了。把下载好的qt-opensource-linux-x64-5.11.1.run放进Linux系统里。首先给qt-opensource-linux-x64-5.11.1.run运行权限,再运行。本文以安装qt-opensource-linux-x64-5.11.1为例。

2024-03-04 14:18:07 3135

转载 设置VMware共享文件夹

主机与虚拟机之间传递文件,最快捷的方法莫过于共享文件夹。此方法不需要复制文件,而且可以节省硬盘空间。查看 (注意:挂载后必须要再次进入/mnt/hgfs才能查看到共享的文件夹)用此方法添加全部需要共享的文件夹,添加完成后如下图所示,点击“确定”“名称”即虚拟机中显示的名称,点击“下一步”->“完成”点击“添加”,进入共享文件夹向导。然而,自己在虚拟机中并未找到共享的两个文件夹。注意:如果虚拟机重启,需要再次挂载共享文件夹。打开 “设置 -> 选项 -> 共享文件夹”选择需要共享的文件夹,点击确定。

2024-03-04 13:32:06 175

转载 Ubuntu FFmpeg开发环境搭建

配置环境 Ubuntu 22.04.2 LTS +建议在《编译与安装》一节,都使用源码的方式编译和安装,本编译安装方式最终生成的皆为静态库。部分命令说明:git -C [git-command] 指定其它路径的仓库 执行命令 注意,-C 要在命令之前。

2024-03-04 10:09:24 624

转载 音视频的封装格式和同步

比如:同样的陷可以做成饺子也可以做成包子。对于视频也是一个道理,同样的。External Clock Master:同步音频和视频到外部时钟。PTS(Presentation Time Stamp):即。封装则使用MP4封装格式。Audio Master:同步视频到音频。Video Master:同步音频到视频。在以我们平时所看的电影格式来讲,如下图。视频Video:使用了。音频Audio:使用了。封装格式(也叫容器)就是将。封装的格式不一样,后缀名也就不一样。,这个时间戳的意义在于。

2024-03-02 18:19:13 60

转载 音频的基础概念和知识

如果0.1kHz~1kHz范围内的声音信号的强度在被提升的阈值曲线之下,由于它被0.2kHz强音信号所掩蔽,那么此时我们人耳只能听到0.2kHz的强音信号而根本听不见其它弱信号,这些与0.2kHz强音信号同时存在的弱音信号就可视为冗余信号而不必传送。所谓冗余成分指的是音频中不能被人耳感知到的信号,它们对确定声音的音色,音调等信息没有任何的帮助。此外,根据人耳听觉的生理和心理声学现象,当一个强音信号与一个弱音信号同时存在时,弱音信号将被强音信号所掩蔽而听不见,这样弱音信号就可以视为冗余信号而不用传送。

2024-03-02 18:16:58 248

转载 视频的主要概念

通常说一个视频的25帧,指的就是这个视频帧率,即1秒中会显示25帧。帧率越高,给人的视觉就越流畅。I 帧(Intra coded frames):I帧不需要参考其他画面而生成,解码时。,分辨率也就是我们常说的640x480分辨率、1920x1080分辨率,其中。视频分辨率:ppi(标准单位),视频的分辨率是指。码率越大,说明单位时间内取样率越大,数据流精度就越高。视频码率:kb/s,是指视频文件在。,同时利用了空间和时间上的相关性。

2024-03-02 17:20:00 73

转载 视频中常见的720P、1080P、4K分辨率包含了什么

从早期的420p,到后来的720p,到现在的非1080p不看。视频的清晰度飞快提升,但是在看到色彩越来越丰富清晰度越来越高的画面时,你有关注过他们的到底是怎么做到的么?我们一起来了解一下吧。想必大家在日常生活中都会看到或听到“分辨率”这个词,比如在视频网站会有几个分辨率选项供我们选择。我们都知道选不同的分辨率会带来不同的清晰度,但是他们为什么要叫这个名字,720p、1080p 这些分辨率中到底包含了什么呢?可能有不少小伙伴不甚了解,今天我们就来一起学习下吧。

2024-03-02 17:10:30 1183

转载 音视频录制播放原理、图像基本概念和表示

同理,摄像头经过采样图像帧和视频编码,最终通过复用器输出对图像的连续记录文件。

2024-03-02 15:50:48 334

转载 EdgeX Foundry(八):FAQ 常见问题和解答

EdgeX Foundry 在下面将统一简称为 EdgeX。

2024-03-01 13:23:01 202

转载 如何压缩vmware虚拟磁盘空间

ssd空间常常告急, 如何如何释放vmware空间成了问题. 网上找的方法, 如从vmware界面,虚拟机设置->硬盘->压缩, 往往不起作用.docker rmi --force XXXXX # 删除无用的docker image,XXXX 是 IMAGE ID ,8. 关闭虚拟机, 从vmware界面,虚拟机设置->硬盘->压缩(本人这步,磁盘空间几乎没变化)docker rm -v xxx #删除docker容器,及其数据卷 ,删除容器数据有风险!, 这是大头, 本人有25G。

2024-03-01 11:51:35 315

转载 EdgeX Foundry(七):EdgeX中各服务的基本功能

​ EdgeXFoundry最开始是由Dell公司运行IOT网关上构建的系统,后来开源出来。EdgeXFoundry就像是硬件与软件之间的一个中间件,南向连接各种设备和传感器,北向连接应用程序。EdgeXFoundry框架有四个服务层和两个基础系统服务,分别是设备服务层(Device Service),核心服务层(Core Service),支持服务层(Supporting Service)还有应用服务层(Application Services);

2024-03-01 10:25:08 193

转载 EdgeX Foundry(六):EdgeX总体架构

由于EdgeX的中立的设计(Tenet1技术中立),他们将很容易把EdgeX边缘计算软件移植到不同操作系统和不同硬件平台上,然后与自己家的云服务对接,就可以给客户提供端到端的完成的物联网解决方案了。他们只需要去开发安全方面或者规则引擎方面或者数据存储方面的程序,然后把这些程序用EdgeX的相应服务封装以下,就可以在EdgeX的应用软件市场卖产品了。有了EdgeX,他们可以从EdgeX的服务市场中寻找所需的设备服务、安全服务、导出服务,然后通过简单配置就可以实现一个边缘计算项目。

2024-02-29 21:58:24 162

转载 EdgeX Foundry(五):边缘计算软件主流设计方法盘点

有趣的是,软件架构基本上与功能性需求无关。我们可以用任何软件架构实现一组用例(应用程序的功能性需求)。但是软件架构会对非功能性需求有直接的影响。因此我们在做软件的架构选型的时候,要考虑能否满足系统的非功能性需求。主要的非功能性需求有:我们来看下这些非功能性需求指标的定义。NFR-1健壮性软件可以对异常条件进行适当的反应的能力。NFR-2可扩展性软件产品适应需求变化的容易程度。NFR-3可重用性软件组件可以在许多不同应用程序中作为组件的能力。NFR-4兼容性软件的不同组件互相组合的容易程度。

2024-02-29 14:53:46 81

转载 EdgeX Foundry(四):为什么不能用平均主义设计边缘计算软件

更令人吃惊的是,当Daniels把所有学生的手尺寸平均后,平均尺寸的手型和任何一个个体的测量值不同。更吃惊的是,Daniels发现,要是只选3个身体尺寸来看,如颈维、臀围、腰围,看有多少飞行员在这三个尺寸的平均值范围内,结果只有3.5%的飞行员满足。在随后的30年中,座椅的形状和大小、座椅到操纵杆距离、挡风玻璃的高度、头盔形状,都是根据1926年那次统计的飞行员的平均值设计的。他根据4063名飞行员的测量数据,计算了10个对于飞行驾驶舱最重要的尺寸的平均值,包括身高、胸围、手臂长度等。

2024-02-29 14:48:48 37

转载 EdgeX Foundry(三):EdgeX如何应对5大需求问题

上面我们已经了解了边缘计算遇到的五大问题。在本文中,我们来看一下EdgeX Foundry是如何解决这五大问题的。

2024-02-29 14:40:58 87

转载 EdgeX Foundry(二):边缘计算框架有哪些需求

要深入理解边缘计算框架,我们首先要对物联网边缘计算所处的环境有一定的了解。下表是边缘侧与云端的环境特点的对比。

2024-02-29 14:12:17 105

转载 EdgeX Foundry(一):EdgeX边缘计算微服务框架简介

EdgeX Foundry用一句话来介绍,就是Linux基金会下的硬件和操作系统无关的开源中立的边缘计算微服务框架,用于统一工业物联网边缘计算解决方案的生态系统。边缘计算微服务框架EdgeX的吉祥物是章鱼哥。为什么吉祥物是章鱼呢?章鱼有大约300种。章鱼智力非常高,会走迷宫,还曾经成功预测世界杯冠军。章鱼有高度复杂的神经系统,其中2/3的神经元在8条腕足上,大脑仅有1/3的神经元。腕足上的神经元,哪怕在没有大脑信号控制的情况下,也可以做出各种复杂的反应动作。章鱼适应环境能力强大。

2024-02-29 13:57:54 310

原创 智能家居现状分析及未来展望

协议统一后,可继续在网关和云平台端优化升级,在安全通信和大数据领域持续改进,提供符合认证要求的智能硬件接入服务,打通智能设备之间的“信息孤岛”,降低智能家居的技术门槛,实现多个智能设备的统一连接和管理,获取更多支持;同时,也能结束企业间各自为战的状态,形成统一的合力,利用大数据的优势,进行更多智能分析和场景优化。未来的设备要实现定制化生产,抛弃各自野蛮发展的路子,以解决方案的思路来运作,不同设备的形状和视觉配色要协调统一,跟整体家装风格匹配,无论活跃还是沉稳,她们有灵魂,不仅是产品,更是艺术品的存在。

2024-02-22 18:18:09 1227

原创 一次性拉取git工程的所有分支

新clone一个工程后,若想一次性拉取所有分支数据,可采用下面指令:done。

2024-02-21 13:54:51 1363

转载 TCP/IP分层及常见协议归纳

重点:OSI模型和TCP/IP模型每层名称;每层有哪些协议或者某个协议对应哪一层;某个应用层协议是基于TCP还是UDP的;

2023-12-10 17:30:37 115

原创 玩儿转C语言:指针(易错点、多级指针和数组相关)

玩儿转C语言:指针(易错点、多级指针和数组相关)

2019-05-30 14:31:27 230 1

原创 玩儿转C语言:指针(表达式和声明类型)

玩儿转C语言:指针(表达式和声明类型)

2019-05-30 14:29:57 207

原创 玩儿转C语言:指针(操作)

玩儿转C语言:指针(操作)

2019-05-30 14:14:13 151

原创 玩儿转C语言:指针(思考、本质及概念)

玩儿转C语言:指针(思考、本质及概念)

2019-05-30 13:49:07 201

K60P100M100SF2RM.pdf

这是飞思卡尔k60dn512参考手册,本博客文章中提到的参考信息也是来源于此文档。

2013-01-03

介绍飞思卡尔8位单片机sci操作方法

系统的介绍了飞思卡尔8位单片机的sci操作方式方法,配合芯片datasheet可以有更加深入的理解,而且里边加入了我的部分理解和注释,方便读者理解

2011-10-08

Ucos_II 2.52源码中文译注资料.pdf

讲述ucos源代码的文件,这里面注释比较多,便于初学者学习

2011-07-12

嵌入式 arm 清华大学 培训讲义

嵌入式 arm 清华大学 培训讲义,看看名校的培训

2010-12-01

嵌入式应用程序开发综合实验9例.pdf

学习arm嵌入式应用程序的参考文档,可以根据里边的应用程序自己学习,增加实践经验

2010-12-01

空空如也

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

TA关注的人

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