自定义博客皮肤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

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

转载 TortoiseGit提示No supported authentication methods available

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

2024-04-24 15:00:16 4

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

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

2024-04-19 11:56:18 18

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

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

2024-04-16 10:09:46 10

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

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

2024-04-15 15:27:44 13

原创 学习笔记:解决拖延

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

2024-04-09 18:12:45 370

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

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

2024-04-08 21:30:47 10

转载 FFmpeg最全命令合辑

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

2024-04-07 17:57:53 55

原创 用QT调用FFMPEG的接口

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

2024-04-03 14:55:02 882

转载 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 26

原创 Uboot的start.s源码分析

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

2024-03-07 17:46:09 893

转载 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 685

转载 设置VMware共享文件夹

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

2024-03-04 13:32:06 25

转载 Ubuntu FFmpeg开发环境搭建

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

2024-03-04 10:09:24 83

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

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

2024-03-02 18:19:13 24

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

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

2024-03-02 18:16:58 40

转载 视频的主要概念

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

2024-03-02 17:20:00 23

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

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

2024-03-02 17:10:30 102

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

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

2024-03-02 15:50:48 36

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

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

2024-03-01 13:23:01 43

转载 如何压缩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 160

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

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

2024-03-01 10:25:08 50

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

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

2024-02-29 21:58:24 35

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

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

2024-02-29 14:53:46 26

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

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

2024-02-29 14:48:48 9

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

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

2024-02-29 14:40:58 45

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

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

2024-02-29 14:12:17 38

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

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

2024-02-29 13:57:54 77

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

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

2024-02-22 18:18:09 1140

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

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

2024-02-21 13:54:51 531

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

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

2023-12-10 17:30:37 72

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

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

2019-05-30 14:31:27 215

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

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

2019-05-30 14:29:57 195

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

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

2019-05-30 14:14:13 148

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

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

2019-05-30 13:49:07 167

转载 fork()、vfork()、clone() 各自的作用和区别

文章转载自:http://blog.csdn.net/gogokongyin/article/details/51178257因为生活的复杂,这是一个并行的世界,在同一时刻,会发生很多奇妙的事情,北方下雪,南方下雨,这里在吃饭,那边在睡觉,有人在学习,有人在运动,所以这时一个多彩多姿的世界,每天都发生着很多事情,所以要想很好的表现这个世界,协调完成一件事儿,就得用到多进程或者多线程。所以进程是程序...

2018-03-07 01:16:22 19

转载 玩儿转C语言:bit 位域大小端转换及传输

注:这篇文章在c语言的位结构体定义上,以及内部存储和通信传输上介绍了很多,转载保存以备查看!计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为 8bit。但是在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型(要看具体的编译器),另外,对于位数大于 8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节,那么必然

2016-05-31 18:27:07 3364 1

原创 项目管理《最后期限》:8—10章

第8章 大名鼎鼎的尼佐利博士        1、在项目管理工作中,没有“短期调整”和“短期生产力提高”这样的东西。        — —生产力的提高是来自长期投资的,任何承诺立刻见效的东西都很可能是江湖游医所卖的万灵油。永远都没有办法在短期内提高生产力,当你把一切都安排好以后,你能得到的生产力将是你之前的管理者所做的长期投资的直接反映。对于生产力,你唯一能够起到的影响就是“现在做长期投资,

2013-11-10 16:37:56 1347

原创 项目管理《最后期限》:5—7章

第5章 元首         1、一个人作为头儿而不是CEO来管理研发项目,可以获得管理上的优势“没有人会拒绝,没有反对者”,但是不拒绝不代表能够完成,这样管理者反而无法听到最真实的前线炮火声。        — —当老板利用天然优势强行干预项目进度时,他就需要做好承担因忽略客观规律而造成更严重的后果的准备。         2、威胁不是提高业绩的最好方法;如果分配的时间一开始就不够,

2013-09-07 00:31:38 1375 2

原创 项目管理《最后期限》:1—4章

1、文案工作:意指除去对人的管理之后,项目管理只剩下枯燥的文档,而不再有管理的作用。 2、”制定甘特图、波特图、状态报告、与人力资源部门的交流规范、每周会议计划、电子邮件使用规定、时间卡、进度跟踪记录、项目里程碑报告和质量管理程序等等“,这些都是项目管理中的硬科学,是所谓的”文案工作“。 3、 管理中最根本的四个要素是:人员的选择、任务的分配、激励和团队的构建。关于如何雇佣合适的人,关于如何使人和工作相匹配,关于如何激励员工,关于如何建设一个团队、如何保持团队的健康、如何带领团队起步、如何给他们凝聚

2013-07-28 23:18:17 1376

原创 玩儿转C语言:系统内存模型之实模式和保护模式

要想对C语言有一个深入的理解,就不得不说它赖以生存的环境,这里简要介绍一下系统内存模型。内存模型,就不得不说业界知名的Wintel联盟,到底是谁选择了谁?又是谁成就了谁?反正已成事实鬼才知道!1、Intel 80x86系列处理器关于Intel X86家族的发展历史这里不想赘述,无非就是:字长越来越大(4位 -> 8位 -> 32位 -> 64位);频率越来越快(30MHz -> 600

2013-07-06 12:53:09 2739 2

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关注的人

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