自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 资源 (2)
  • 收藏
  • 关注

原创 rocketmq交叉编译aarch64 GNU/Linux

/build.sh进行默认gcc编译(会下载依赖的四个源码,openssl,libevent,jsoncpp,boost)注意:rocketmq在使用过程中需要指定日志的路径,否则,默认路径为/user_home_path/logs/rocketmq-client/rocketmq_client.log(默认生成3个日志文件,每个文件大小100M)如果需要手动配置路径的话,如下:CPP代码调用SetPushConsumerLogFileNumAndSize(consumer, 1, 1);

2024-01-18 11:20:46 272 1

原创 Linux最小系统实现

CPU开始执行第一条指令时,发现虚拟内存对应页面没有实际对应的物理内存页面,此时触发缺页异常,操作系统会进行专门处理操作,找到空页面所在的VMA,计算出相应页面在可执行文件中的偏移,在物理内存中分配一个物理页面,将虚拟内存页与物理内存页之间进行映射,再返回到用户空间继续执行指令。最开始四个字节是所有ELF文件都必须相同的标识码,分别为0x7F,0x45,0x4c,0x46,第一个字节对应ASCII字符里面的DEL控制符,后面三个字节刚好就是ELF这3个字节的ASCII码。段表偏移由e_shoff决定。

2023-08-24 15:52:18 675

转载 linux 触摸屏驱动介绍

本节的触摸屏驱动也是使用之前的输入子系统1.先来回忆之前第12节分析的输入子系统其中输入子系统层次如下图所示,其中事件处理层的函数都是通过input_register_handler()函数注册到input_handler_list链表中搜索input_register_handler注册函数,就可以看到都是事件处理层里的函数:所以最终如下图所示:右边的驱动事件处理,内核是已经写好了的,所以我们的触摸屏只需要写具体的驱动设备,然后内核会与触摸屏驱动tsdev.c自动连接2.本节需要用到的结

2021-01-11 12:24:22 1105 1

原创 linux驱动编程

一、内核的功能?进程管理:负责创建和销毁进程, 并处理它们与外部世界的联系内存管理:管理内存分配及回收的策略文件系统:Linux 非常依赖于文件系统,Linux支持多种文件系统类型设备控制:驱动程序,操控硬件以及相应总线设备网络(NTE): 在网络接口于应用程序之间传输数据\二、驱动分类块设备:主要用于磁盘、sd卡、U盘等存储设备,涉及磁道、扇区等内容字符设备: 除了块设备都是字符设备\三、设备号主设备号的用途:唯一识别驱动程序次设备号的用途:在一个驱动唯一识别每一个设备。即一个驱动程

2021-01-06 17:41:23 68

转载 linux抓取串口打印并打印时间工具-grabserial

 Contents [hide] 1Introduction2Download and Installation2.1Older versions2.2pyser...

2021-01-06 17:36:54 853

原创 ARM汇编

arm体系结构一、arm汇编1.典型的嵌入式处理器x86 PC机, 不用于嵌入式arm RISC指令集 市场79.5%mips RISC指令集 占市场13.9% ARM及MIPS在市场中为常用处理器microSPARC SUN 占市场3.1%PowerPc IBM 占市场2.8%其它 占市场0.8%2.计算机体

2021-01-06 17:32:14 615

原创 linux-kernel4.4.94-framebuffer驱动介绍

提示:此部分内容看完之后,可以自动手动添加屏幕到fb中(关注panel部分即可)。从模块上面来讲,framebuffer总共分为了几部分,分别是:(1) fb本身驱动(kernel-4.4.94中的drivers/video/fbdev/core/fbmem.c文件中的fbmem_init中注册了字符设备fb)内核配置如下:Dsi(选中dsi即可):(2) 平台framebuffer实现部分(drivers/video/fbdev/ingenic/fb_v12/ingenicfb.c文件中的i

2020-12-21 17:51:24 1454

原创 minigui5.0.2移植到mips平台多进程模式运行mginit:Can not create task bar

在网上找了一下此问题的解决方法,只有在ubuntu系统上面的解决方法,ldd mginit(此方法在ubuntu上面确实可用),但是在交叉编译工具链上面就不行了。。。于是乎,直接看代码了,看到底在哪个地方返回了HWND_INVALID,通过加打印的方式,找到了CreateMainWindowEx2创建窗口的函数中:此处发送了MSG_CREATE的消息之后出错了,先不管里面的实现,把goto err去掉,再重新编译libminigui,替换相应的procs的库,在此运行mginit好,这个错误消失了。出

2020-12-18 17:50:34 338 3

转载 linux内核4.4.9版本device默认功能型GPIO配置

转载地址:http://blog.sina.com.cn/s/blog_c0de2be70102wc1k.html原有GPIO配置框架:之前所有的gpio操作都是通过gpiolib来实现,常用的api包括:staticinline int gpio_request(unsigned gpio, const char*label);staticinline int gpio_direction_input(un...

2020-12-17 16:04:43 923 1

原创 linux busybox reboot卡死问题记录

串口打印如下:[root@Ingenic-uc1_1:t31]# insmod audio-error.ko dmic_enable=1[ 3068.401599] ----- module_add_driver: driver_name=platform:jz-aic[ 3068.409633] ----- module_add_driver: driver_name=platform:jz-inner-codec[ 3068.418312] ----- module_add_driver: dr

2020-11-18 15:14:10 1857

原创 Unhandled kernel unaligned access问题记录

调试新驱动出现如下打印(内核未对齐访问):[ 765.810527] Unhandled kernel unaligned access[#1]:[ 765.815483] CPU: 0 PID: 120 Comm: insmod Tainted: G O 3.10.14__isvp_swan_1.0__ #1[ 765.824120] task: 826daf40 ti: 820ec000 task.ti: 820ec000[ 765.829700] $ 0 : 0

2020-11-16 16:07:04 3698

转载 【调试笔记】韦东山:在100ASK_IMX6ULL板子上支持其他型号的屏幕

1.在100ASK_IMX6ULL底板上如何接其他厂家的屏幕 很多学员有过STM32的学习经验,他们手上的开发板很多,LCD也很多。 一个LCD还挺贵的,不能浪费。 各家的LCD引脚顺序都不一样,所以别家的LCD不能直接接到100ASK_IMX6ULL开发板,需要转接板。 大部分单片机学员都是使用正点原子、野火的板子,有他们的屏。 针对这两家的屏,我们做了转接板,如下: 我们提供的内核、设备树,并不能直接支持其他厂家的LCD,可以联系我们,我们来调试。 下面的文档是示例,教你们怎么自己移植。 2.移

2020-11-16 11:29:50 1589 1

转载 Linux NAND Flash调试

很久没接触过 nandflash 驱动,最近工作又摸了,于是顺便整理总结一下。nandflash 在我看来算是比较落后的存储设备,所以文章里没有太多细节的东西,更多的是一些开发思路和经验,希望能帮助到有需要的人。 一、了解 nandflash 当前发展状况 什么是 nandflas...

2020-11-16 10:29:06 713

原创 音频-ffmpeg音频PCM文件截取某段声音

例:PCM采样率16k截取10s的时间(say_16.pcm文件格式为有符号16bit,小端,单声道)ffmpeg -f s16le -ar 16000 -acodec pcm_s16le -i ~/say_16.pcm -ss 00:01:12 -t 00:00:30 -f s16le -ar 16000 -ac 1 output.pcmss:代表要截取的开始时间位置-t:代表要截取的时间长度去了PCM格式的需要指定格式之外,其他经过压缩之后的音频文件对应的输出文件格式如果想跟原始的输入文件

2020-11-05 12:37:24 1069

转载 RTP打包AAC数据流

复制别人的article_content过来之后格式容易错乱,直接上链接,测试可以使用原文链接:https://blog.csdn.net/weixin_42462202/article/details/99200935稍加修改可以传输AAC实时流

2020-06-04 10:29:32 351

转载 RTP打包与发送H.264实时码流

    由于项目要求在DM6467T平台上添加实时RTP打包发送模块,这才找了找有没有人分享 这方面的经验。这里需要感谢网友:yanyuan9527,他写的文章对我帮助很大,可以说让一个完全小白的人了解了RTP打包,链接在此:http://www.chinavideo.org/forum.php?mod=viewthread&tid=7575  &n...

2020-06-04 10:26:07 439

原创 mips平台x264交叉编译

网上下载x264源码之后,加压缩,直接进行编译:./configure --prefix=${PWD}/install_mips_uclibc --disable-asm --host=mips-linux-gnu --cross-prefix=mips-linux-uclibc-gnu- --enable-shared --enable-staticmakemake install即可生成include头文件,lib库文件,可以直接在项目中进行使用...

2020-05-19 21:07:34 369

原创 QT5.9+ffmpeg4.2.2+ffplay+SDL2多媒体播放器

今天需要记录一下,工作之余写了一个简单的windows 平台的多媒体播放器的UI界面。播放器功能:(1)支持播放绝大多数的媒体流,包括网络流(rtsp等)(2)支持播放,暂停,停止,下一曲,上一曲,音量加减,进度条调整播放进度(3)...

2020-04-28 09:31:30 1168 20

转载 Qt静态编译

在默认情况下,用QtCreator编译程序时,使用...

2020-03-24 18:08:37 7479

转载 linux-iic驱动详解

https://www.cnblogs.com/lifexy/p/7816324.html

2020-03-18 10:26:29 230

原创 linux内核TCP四次挥手过程分析

根据前一篇介绍TCP三次握手内核代码分析,下面来大致分析一下,四次挥手过程。首先上一张四次挥手图片:由上图可以观察到是客户端先发起的close操作(服务器先发起close操作也是同样的流程)。(1)谁先close套接字,谁就先发一个fin=1的数据包到对端(同时会把自己socket状态改成TCP_FIN_WAIT1),对端收到数据包之后,会判断是否含有fin=1的标志,如果有的话,则把当前s...

2020-03-17 16:10:56 341

转载 linux内核Ethernet以太网卡驱动收发数据过程

下图简单描述了网卡驱动与Linux内核之间的联系: 关于上图的一些说明: 系统初始化:1. 协议模块调用 dev_add_pack() 来注册协议处理函数到链表 &ptype_base;2. __init br_init() 用于初始化桥接相关的操作;3. __init net_dev_init() 初始化了两个软中断;&nb...

2020-03-17 10:16:09 1681

转载 linux内核tcp三次握手过程代码解析

      内核:2.6.34      TCP是应用最广泛的传输层协议,其提供了面向连接的、可靠的字节流服务,但也正是因为这些特性,使得TCP较之UDP异常复杂,还是分两部分[...

2020-03-17 10:09:06 573

转载 linux内核tcp-ip协议数据收发流程

一.linux内核网络栈代码的准备知识1. linux内核ipv4网络部分分层结构:BSD socket层: 这一部分处理BSD socket相关操作,每个socket在内核中以struct socket结构体现。这一部分的文件主要有:/net/socke...

2020-03-17 10:05:07 663

原创 Qt-Onvif客户端

今天onvif客户端算是基本完工,记录一下。功能特性:(1)此版本可以搜索设备,(2)修改指定设备的ip地址(3)重启设备(4)创建OSD,删除OSD,修改OSD(叠加OSD)(5)固件升级(文件传输),此处为私有协议,后续有需要,也可根据这个私有协议增添其他功能(比如:修改RTSP端口,web端口,设备类型,设备名称等,可用服务器目录中的代码进行调试,然后再合入主分支代码)(6)帧...

2020-03-12 11:36:35 2141 26

原创 c 语言提取左右声道数据

注意:本例子针对的输入数据源是双声道数据,采样点格式为s16le,如果是其他格式,比如24bit或者32bit或者其他,需要针对性的修改每次读取的字节数,也就是read(fd, &num, 4),对应num类型也要针对性修改,以便于能够容纳左右声道数据。#include <math.h>#include <sys/types.h>#include <sy...

2020-03-10 12:11:09 747

原创 跨平台运行程序错误

报错提示(tcp_server是运行的程序):can’t resolve symbol ‘ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3’ in lib ’ tcp_server解决方法:通过大量查询发现出现类似问题都是由于调用库引起的错误,但是没找到与我情形完全一样的。通常上述错误打印可以看出来是因为c++中st...

2020-03-02 15:21:39 913

转载 Opus编解码

最近项目中用到了语音编码opus,在网上搜了一下,资料非常少,而且没有一个完整的教程,现在简单记录下来opus的使用方法。首先介绍一下opusOpusOpus编码器 是一个有损声音编码的格式,由互联网工程任务组(IETF)进来开发,适用于网络上...

2020-02-27 19:26:53 1292

转载 Onvif OSD相关操作

Onvif OSD相关配置jluyeyu | 发布于 2018-07-16 16:55:56 | 阅读量 1952 | onvif与OSD有关的命令有:CreateOSD、DeleteOSD、GetOSDs、GetOSD、SetOSD、GetOSDOptions。下面逐一介绍。GetOSDOptions:获取当前相机具备的OSD选项。如字体大小范围、OSD总数、日期时间格式,等等。输入:C...

2020-01-17 09:32:20 2869 2

转载 Qt程序打包发布二之打包成一个安装包

简述我们在用Qt写完程序后,如果要把程序给别人用,或者发布程序,当然不会只把exe文件给别人。因为我们不可能让所有用我们程序的人电脑上也要装上Qt,然后配置好环境,那...

2020-01-03 17:53:58 839

转载 Qt程序打包发布一之打包成一个exe文件

 QT打包的两种方式:一个是QT5自带的windeployqt(不需要下载安装),它可以找到程序(exe)用到的所有库文件,并且都拷贝到exe程序的当前文...

2020-01-03 17:51:36 1610

原创 onvif无法搜索到设备

这个问题必须要记录一下。首先,说一下,上面交了一个任务:开发一个onvif工具。(具体参考界面直接使用某个客户做好的软件)。。。。。。在一番折腾之后,终于搭建好了环境,编译了gsoap,现在命令行界面上面把基本的搜索,获取能力,设备信息,ip,编码信息等的都弄好(往上面的编译gsoap版本都太老了,比如说2.8.17,2.8.15,我用的是最新的2.8.96版本的,函数接口参数改变了,然...

2019-12-31 14:52:38 1365

原创 Onvif更改ip地址

__亲测,可用,gsoap版本为2.8.96最新版本,在网上搜索的其他设置ip地址的gsoap版本都太低了,里面函数和接口都变更了,没办法,只好自己搞。如下: __我生成的是C++版本的代码,C语言的只需要把数据结构修改成struct即可,另外也可以直接拿到QT里面使用,亲测可用。 void PrintErr(struct soap* _psoap) { fflush(stdout);...

2019-12-27 10:08:53 2710 6

转载 db 分贝 增益 什么意思 多少倍

dB(Decibel,分贝) 是一个纯计数单位,本意是表示两个量的比值大小,没有单位。在工程应用中经常看到貌似不同的定义方式(仅仅是看上去不同)。对于功率,dB = 10lg(A/B)。对于电压或电流,dB = 20lg(A/B)。此处A,B代表参与比较的功率值或者电流、电压值。3db的增益放大多少倍?3db=10lg(A/B)那么A/B=10的0.3次方 约为2倍6db的增益放大多少倍...

2019-12-25 20:50:05 12085

转载 onvif新版本发现不了老版本onvif的ipc问题

用ONVIF_Device_Test_Tool工具可以检测到不同版本onvif的ipc,用自己生成的新版本onvif客户端只能发现新版本的,经调试是是命名空间结构体SOAP_NMAC struct Namespace namespaces[]中{“wsc”, “http://schemas.xmlsoap.org/ws/2005/02/sc”, NULL, NULL},这段影响的,跟命名空间前缀没...

2019-12-25 15:29:14 844

转载 Linux内存管理 —— DMA和一致性缓存

CPU写内存的时候有两种方式: 1. write through: CPU直接写内存,不经过cache。 2. write back: CPU只写到cache中。cache的硬件使用LRU算法将cache里面的内容替换到内存。通常是这种方式。DMA可以完成从内存到外设直接进行数据搬移。但DMA不能访问CPU的cache,CPU在读内存的时候,如果cache命中则只是在cache去读,而不是从...

2019-12-02 17:26:52 278

转载 自行实现 Onvif 对接开发模式

对于Onvif协议,在安防视频行业的地方,谁都知道。但是网上就有onvif协议对接的方案都是使用开源的第三方库进行对接,讲解。那么问题来了,我们能不能用代码自己实现呢?答案是肯定的。而要用我们自己的代码实现onvif协议对接,其中牵扯到诸多的协议和概念,这里我大致整理一下,对自行实现Onvif协议对接者提供一个学习思路。1、工具很重要学习onvif之前,需要两个最基本工具:1、ONVIF D...

2019-11-28 20:58:17 653 2

原创 ffmpeg音频重采样代码抽取

本篇博文针对的是ffmpeg4.0.1版本进行ffmpeg解压缩之后会有一个doc目录,此目录中有示例程序,就在doc/examples。要想编译examples中的测试程序,可以先编译整个ffmpeg(生成主要的库,如:libavcodec.a libavdevice.a libavfilter.a libavformat.a libavutil.a libswresample.a...

2019-11-28 15:44:37 774 2

转载 [总结]FFMPEG视音频编解码零基础学习方法

[总结]FFMPEG视音频编解码零基础学习方法https://blog.csdn.net/leixiaohua1020/article/details/15811977

2019-11-26 12:13:20 74

转载 RTP协议全解析(H264码流和PS流)

写在前面:RTP的解析,网上找了很多资料,但是都不全,所以我力图整理出一个比较全面的解析,其中借鉴了很多文章,我都列在了文章最后,在此表示感谢。互联网的发展离不开大家的无私奉献,我决定从我做起,希望大家支持。原创不易,转载请附上链接,谢谢http://blog.csdn.net/chen495810242/article/details/392073051、RTP Header解析...

2019-11-26 12:04:39 170

MobileSafe.zip

本资源为大学时期所写的android手机APP-手机安全卫士,基本界面都已实现,功能有没有实现忘记了

2019-10-15

Spider.rar

本资源用于实现网络爬虫,涉及到了网络编程,URL解析,http协议等,以及最开始的分析代码模块,如何实现,实现步骤等

2019-10-15

空空如也

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

TA关注的人

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