- 博客(81)
- 资源 (25)
- 收藏
- 关注
原创 高速PCB布局布线规范
这里就涉及到去耦半径的概念,这里以去耦电容为例,其他类似,去耦电容的作用是补偿干扰源造成的电源抖动,所以这个作用要越快越好(不能还没来得及补偿,已经进了负载了,那这个去耦就去了个寂寞),而干扰信号传输到电容的位置是需要时间的,如果电容跟干扰源较远,那么中间的导线电感会使干扰信号无法及时到达电容位置,这会导致两个结果,(1)负载位置比电容近,干扰还没进电容,先进了负载,这种显然去耦没有起作用。对于输出端的去耦电容,干扰从电源芯片往外输出,所以大电容要更靠近输出引脚,大的低配扰动去除后,再去除更高频的干扰。
2023-07-06 16:40:05 1056
转载 linux popen()函数完全解密
目录一、基本功能和测试1.头文件包含2.函数原型3.测试代码二、与system()比较1.阻塞进程2.返回值3.SIGCHLD4.SIGINT和SIGQUIT三、相关文章前文深入探讨了system()函数的用法和注意事项,作为它的兄弟函数popen()有什么特殊之处?为什么很多网友和技术大佬都推荐使用它替代system()来使用呢?这就是本文要探讨的内容。一、基本功能和测试1.头文件包含#include <stdio.h>2.函数原型
2022-01-16 10:18:10 1692
转载 linux system()函数完全解密
“内事不决问百度,外事不决问谷歌”,遇到问题上网找答案,是每个技术人的习惯。但网上资料多如牛毛,良莠不齐,有的文章可能自己都没验证过,要找到理想的能解决自己疑惑的文章还是需要精力、技巧和运气的。最近想温习一下linux相关知识,运气还不错,看到一篇知乎文章,文章条理清晰,排版舒适,通俗易懂,最重要的是文章是经过作者实践验证得出的结论。干货难得,尊重原创,本文经过作者授权转载,未经授权,建议改为收藏。知乎原文链接:https://zhuanlan.zhihu.com/p/457019.
2022-01-14 09:10:38 1398
原创 Qt+ffmpeg+x264远程协助软件Weekday技术原理及源码剖析
前言:很久没有打理博客了。最近有点烦,teamviewer用的挺习惯的,突然不香了。虽然改用mstsc+加自己云服务器的方式也还行。但突然就萌发了为啥不自己试着写一个的想法。刚好项目空档几天,于是便有了该项目。至于为什么叫Weekday?大概因为热爱工作的缘故吧。由于只是写着玩的,所以没有大量的去做压力测试。基本功能还可以,代码风格符合本人习惯。技术涉及抓屏截图,图像处理,视频编码,网络推流,视频解码,远程控制等,学习价值大于实用价值。看以前的博客下面有朋友留言讨论,很抱歉没有回复,因为确实没有经常关注
2021-08-23 22:35:56 1317
原创 libwebsockets库调用实例测试
博客《libwebsockets下载编译和测试》中介绍了下载编译和自带demo的测试方法。本文介绍用C语言调用libwebsockets库实现通信的方法,因源码内容太多,实例代码和libwebsokets源码一起放到了资源下载里。下载连接:https://download.csdn.net/download/u013752202/13451438下载后解压,libwebsockets 开源源码,直接clone下来的,也可以自己下载。libwebsocketsTest用c++进行...
2020-12-04 15:45:19 1251 3
原创 libwebsockets下载编译和测试
一、下载下载地址:git clone https://github.com/warmcat/libwebsockets.git二、库和默认的demo编译编译:新建一个release目录,为了不编译安装到系统默认目录,下面指定编译安装结果将会放入该目录,进入cmake目录,执行:cmake .. -DCMAKE_INSTALL_PREFIX:PATH=../release如果要支持多线程服务器,则执行:cmake .. -DCMAKE_INSTALL_PREFIX:PATH=../re
2020-12-04 14:29:21 2617
原创 用C语言和JS分别实现“个税年度汇算清缴”计算
原创文章,转载请标明:https://blog.csdn.net/u013752202/article/details/1073471572019年4月开始实行个税改革,每年3-6月进行一次汇算清缴。个人所得税app上汇算清缴的计算你能看明白吗?既然大家都是程序员,那么自己用代码计算一遍吧!C语言版本:int main(int argc,char **argv){ float sum=300000,dec0=60000,dec1=15646.87,dec2=12000;
2020-07-14 20:57:54 318
原创 从快速排序看编程语言差别
转载请标明出处:https://blog.csdn.net/u013752202/article/details/106650671数不清的编程语言,数不清的语言特性,但万变不离其中,都能编程。下面分别用C/Python/JS/Shell四种语言来实现快速排序,孰优孰劣,看官自己评价。一、C语言版本首先编程语言老大哥C语言出场:#include <stdio.h>void printbuf(const char *tag,int *buf,int len){ pri
2020-06-09 20:59:19 275
原创 Linux网络摄像头设备端调试过程
转载请标明出处:https://blog.csdn.net/u013752202/article/details/96502576简介 网络摄像头,即常说的免驱摄像头,其采用UVC协议通过USB跟主机通信,因其不需要编写单独的驱动,方便使用而得到广泛使用。 主机端无论是windows还是linux使用UVC摄像头都非常简单,也有很多文章详细介绍使用方法。但如...
2019-07-19 21:52:52 4301 4
原创 Linux Android USB gadget设备配置
转载请标明出处:https://blog.csdn.net/u013752202/article/details/96503874Android在linux usb gadget的基础上,做了一次升级。linux usb gadget的配置是系统启动后立即生效的,所以一个固件只能选择一种类型的gadget,比如hid/webcam/acm等。但Android版本的是在系统起来后,由应用程序决定...
2019-07-19 21:46:42 2048
原创 Android使用GPU加速JPEG图片解码(Opencl)
转载请标明出处:https://blog.csdn.net/u013752202/article/details/927942091.创建openclkernel(1)创建kerenl并编译shading文件(2)获取kernel工作组信息2.GPU和CPU协同工作(1)创建内存,并同步到CPU和GPU,如: tablebuffer=opencl_cre...
2019-06-18 15:52:05 3967 4
原创 Neon Instruction C支持的向量运算
转载请标明出处:https://blog.csdn.net/u013752202/article/details/92008843文章目的:快速索引到需要的向量运算vadd->ri=ai+bi;//--1、Vectoradd(正常指令):r,a,bhaveequallanesizesvaddl->ri=ai+bi;...
2019-06-14 21:27:06 952
原创 ARM Neon并行加速第一课
转载请标明出处:https://blog.csdn.net/u013752202/article/details/92008192文章目的:让小白也能迅速开始Neon编程。一、什么是NeonNeon是ARMARMv7-A架构以上的处理器(从Cortex-A5开始)中集成的一套SIMD(SingleInstruction,MultipleData)单指令多数据指令集,相当于X...
2019-06-14 21:25:53 3733 1
原创 Ubuntu整合Apache和Tomcat
前两篇已经写了Apache和Tomcat的安装,本文主要探讨Apache和Tomcat的整合。〇、为什么要整合Tomcat也有webserver的功能,但一般只用作调试,其强项还是在于处理动态网页,静态网页不如Apache这种专业的webserver。一、整合是什么意思整合就是所有访问都先经过Apache,Apache经过筛选,把符合一定规则的请求转发给Tomcat进行处理。A...
2018-11-18 14:54:42 1162 3
原创 Ubuntu安装Tomcat
Tomcat安装一、安装tomcat1.下载apache-tomcat-8.5.35.tar.gz2.解压到安装目录,如:/usr/share3.配置环境变量修改/etc/profile,在末尾追加内容:#tomcatexport TOMCAT_HOME=/usr/share/apache-tomcat-8.5.354.查看tomcat依赖的JDK版本#vi /...
2018-11-18 14:46:36 407
原创 Ubuntu安装Apache2
Apache安装1.安装#apt-get install apache2如果提示未找到安装包,请执行#apt-get update 再执行上述命令安装成功后执行命令#apache2ctl -v可以查看版本信息 2.查看apache2相关的目录#dpkg -L apache2可以看到所有apache2相关的目录要重点关注的是:/var/www/...
2018-11-18 14:40:23 1830
原创 MP4 stbl box解析
转载请标明出处:https://blog.csdn.net/u013752202/article/details/80557459简介:stbl是MP4文件中包含子Box最多,也是最复杂的一个Box,包含了定位和解码sample的必要信息。下面是一个MP4文件的box列表:ftyp ; length: 32free ; length: 8mdat ; length: 37524012moov ; ...
2018-06-04 18:40:33 3945 2
原创 MP4边下载边播放——moov box前置
转载请标明出处:https://blog.csdn.net/u013752202/article/details/80557556通过http协议在线播放mp4视频的时候,往往需要把moov信息放在mdat的前面(特别是再IOS浏览器上在线播放),而由录像设备生成的mp4文件一般来说moov信息都位于mdat之后。为了能够在线播放,就需要把moov信息的位置提前。下面的代码即可以实现mdat和mo...
2018-06-04 18:39:53 6705 6
原创 MP4 moov box解析
转载请标明出处:https://blog.csdn.net/u013752202/article/details/80557296moov box(movie box):包含若干子box,这些子box共同描述了媒体播放必需的元数据。下面是一个MP4文件的box列表,红色的即moov box的内容:ftyp ; length: 32free ; length: 8mdat ; length: 375...
2018-06-03 16:55:12 4136 1
原创 MP4 mdat box解析
转载请标明出处:https://blog.csdn.net/u013752202/article/details/80557222在MP4的文件中mdat保存H264的原始数据,格式为:unsigned int len;unsigned char name[4];sample0{ unsigned int sampleSize;//不包含(sampleSize本身长度)的sample长度 ...
2018-06-03 16:53:23 7025
原创 MP4 ftyp box解析
简介:ftyp是MP4文件的第一个Box,包含了视频文件使用的编码格式、标准等,下面是一段定义和MP4文件头的解析:定义:typedef struct{unsigned int length;unsigned char name[4];unsigned char majorBrand[4];unsigned int minorVersion;unsigned char compatibleBran...
2018-06-03 16:52:26 2273
原创 多媒体开发工具包使用说明
简介:多媒体开发工具包可以用来对常用的*.h264,*.h265,*.mp4,*.jpeg文件进行解析、显示、修改等操作,增加对媒体格式的了解,快速分析媒体文件,工具包内的程序都是控制台程序(在CMD命令行下运行),包含下列文件:h264Parase.exe,h265Parse.exe,jpegParse.exe,mp4Parse.exe,mp4pack.exe下面是每个工具的使用说明:下载链接:...
2018-06-03 15:39:02 3167
原创 uboot通过tftp下载固件并烧写到flash
setenv 设置环境变量saveenv 保存环境变量mw.b 0x80600000 0xff 0x1000000从0x80600000开始到0x1000000的内存写0xfftftp 0x80600000 uImage.lzma从tftp服务器加载uImage.lzma到0x80600000地址的内存sf probe查找flashs
2017-11-18 17:17:28 5892
原创 Android Studio NDK编译配置
Android app开发因为效率、跨平台、安全等考虑,常常将核心模块用c/c++实现然后通过jni接口跟java交互。Android Studio下采用c/c++和java协同开发需要做以下修改:1.build.gradleapply plugin: 'com.android.application'android { compileSdkVersion 25 bui
2017-11-18 17:05:35 442
原创 goahead移植到Android
goahead简介:goahead是嵌入式端常用的开源的http服务器(Web server),作为针对嵌入式设计的服务程序,goahead体积小巧、内存消耗低、CPU占用少,支持跨平台。作为开源的http服务器,goahead功能强大,版本更新速度快,兼容最新的Web技术。(个人测试觉得比boa好用,在嵌入式资源跑Apache吃力的时候goahead绝对是很好的选择)移植到And
2017-11-18 16:49:14 1350
原创 linux ettercap+wireshark抓取局域网内其他设备的数据包
目标:A和B同时连接路由器C上网,在A上获取B上网的数据。原理:同一个局域网内通信的时候,消息发送者会广播自己的消息(消息中包括自己和目标的硬件地址),这时所有成员都会收到消息并根据目标地址判断是否是自己,如果不是则忽略该消息,如果是则通知上层应用收到消息。当无线网卡工作在混杂模式的时候可以把不是属于自己的消息也通知到上层。在上面的例子中,B广播消息,C根据硬件地址接收消息
2017-11-18 15:52:02 37614
转载 JPEG压缩编码算法原理
原创地址:http://blog.csdn.net/abcjennifer/article/details/8074492本文介绍JPEG压缩技术的原理,对于DCT变换、Zig-Zag扫描和Huffman编码,给出一个较为清晰的框架。1. JPEG压缩的编解码互逆过程:编码解码2. 具体过程
2017-11-16 15:33:12 12766
原创 不安的思考——技术的价值何在
时间过得很快,大学毕业四年多了,这四年里我一直深深扎进技术的深渊里埋头苦干,乐此不疲。不知道我算不算得上是一个技术狂,但至少算一个喜欢甚至沉迷技术的人。从最开始的单片机玩到UCOS/UCGUI,再又玩到Qt,玩到linux,这期间更是尝鲜了人脸识别,深度学习算法等图像算法技术,图像采集,编码,网络传输等流媒体技术,SIMD/GPU异构计算加速技术。从软硬件来说,我最开始其实是做硬件的,就是画PCB
2017-09-04 21:44:06 547 2
转载 Neon Intrinsics各函数介绍
原文链接:http://blog.csdn.net/fengbingchun/article/details/38085781#ifndef __ARM_NEON__#error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h#endif/*(1)、正常
2017-03-09 10:36:21 2848
原创 Android.mk编译带c++ stl的程序
众所周知,Android系统是基于Linux系统的构建的,习惯Linux开发的伙伴们都知道,写Linux程序一般有三种情况:(1)如果你的程序只有一个文件(一般都是一些测试验证程序),那么只需要gcc xxx.c -o xxx就可以了;(2)如果你的工程包含不止一个源文件,那么就需要一个漂亮的Makefile来指定自己的编译器,头文件目录,依赖库吗,源文件等;(3)做过实际产品的人应该
2016-12-27 01:09:07 5371
原创 android studio activity传参
接上一篇《andriod studio新建activity》下面把简单的个人信息作为参数传递给新建的activity:(1)把第一页的按钮名称改为: PERSONINFO(2)在第二页新建一个TextView用来显示个人信息参数:(3)第一个activity的Java代码改为:package com.example.xiaolai.helloworld;
2016-12-27 00:22:45 1189
原创 andriod studio新建activity
省略Android studio的安装、配置以及helloworld工程的创建,有空了再补上:1.新建一个hello world的工程,自带一个activity;2.新建一个activity在工程栏右键新建,选择activity即可;查看AndroidManifest.xml会多出一个activity的组件;3.两个activity切换(1)在第一个activity上加一个
2016-12-27 00:13:53 2084
原创 图解实时操作系统和非实时操作系统的区别
对于实时操作系统(RTOS)和非实时操作系统,你能分别列举出来多少?实时操作系统:uCOS/VxWorks/RTLinux非实时操作系统:Linux/Windows/OSX我也只能列举出来这么多了。重点不在这里,重点在于他们之间的区别,详见下图:在上面的图中右边的任务优先级高于左边的任务,先看实时操作系统的,当优先级更高的任务2就绪的时候,即便任务1正在运行
2016-12-14 23:19:33 26749 7
原创 图解Android和Linux发行版的区别
众所周知Google的Android系统跟Linux系统有着千丝万缕的关系,可究竟有什么关系呢?有人说Android是Android,Linux是Linux,两个只是kernel一样调度机制一样,其他没一毛钱关系,有人说Android说到底就是个Linux系统,可如果是这样,那么为什么Android系统能这么火,其他的Linux发行版(Ubuntu/Fedora/centos等)为什么在移动端火不
2016-12-14 23:12:18 29691 11
原创 哈希表算法通俗理解和实现
【坚决抵制某商业网站直接拷贝博客而不表明出处的粗暴做法,转载请表明出处,谢谢!】顺序查表法假设现在有1000个人的档案资料需要存放进档案柜子里。要求是能够快速查询到某人档案是否已经存档,如果已经存档则能快速调出档案。如果是你,你会怎么做?最普通的做法就是把每个人的档案依次放到柜子里,然后柜子外面贴上人名,需要查询某个人的档案的时候就根据这个人的姓名来确定是否已经存档。但是1000个人最坏的
2016-04-09 11:44:50 4073 2
原创 Linux-2.6.24移植到FL2440开发板
软硬件环境:开发板:FL2440交叉编译器:arm-linux-gcc-3.4.1移植内核:linux-2.6.24文件系统: yaffs2 清理工作清理以前的配置并删除配置文件,在linux-2.6.24内核压缩包解压后的顶层目录下执行:#make distclean可能会出错,解决方法如下:make报错:Makefile:1503: *** 混和的隐
2016-03-16 23:51:33 743
原创 uboot引导linux内核
1.统一uboot和linux的机器码u-boot和linux对应每一个开发板都有一个机器码(即:MACH_TYPE),只有uboot跟linux的MACH_TYPE一样才能成功引导内核。否则引导的时候就会提示MACH_TYPE不匹配!如下图。在上面的打印信息中,uboot的MACH_TYPE为SMDK2440 0000016a,而linux的MACH_TYPE为SMDK2
2016-03-10 22:14:27 1134
原创 移植uboot到fl2440支持DM9000网卡
之前的博客中移植了uboot到fl2440开发板,并在内存中运行,在实际应用中经常使用nfs或者tftp把内核或文件系统映像下载到内存中,然后再运行或者烧写进Nandflash等存储设备中,而nfs或者tftp都需要网卡驱动的支持,常用的网卡有CS8900和DM9000,fl2440中用的就是DM9000,下面修改uboot源码使之支持DM9000网卡。修改GPIO和PLL设置在board
2016-03-10 21:53:17 579
原创 移植uboot到FL2440开发板
搭建移植框架1.下载u-boot-2010.09.tar.bz2地址:http://download.csdn.net/detail/u013752202/94580772.解压并进入解压后的目录,修改boards.cfg,增加对fl2440开发板的支持。3.在board目录下新建一个fl2440目录,并把board/samsung/smdk2410/目录下的所有文件都
2016-03-10 21:37:53 592
原创 YUV到RGB颜色空间转换
三种颜色空间简介:YUV:是欧洲电视系统采用的一种颜色编码格式,Y表示亮度值(Luminance或Luma),U和V表示色彩及饱和度(Chrominance或Chroma)。YUV主要格式有:YUV444、YUV 422、YUV 411和YUV 420。YUV对原始数据以每4个像素为单元进行压缩处理,处理的方式就是对U和V分量进行降采样,如YUV444就是每4个像素YUV都会被采样4次
2016-01-24 20:39:36 4106 2
Centos7.9.2009的Samba离线安装包(一步到位,带使用说明)
2024-08-08
libwebsocketsAndDemo.zip
2020-12-04
Android版本管理工具repo
2018-11-21
MP4格式解析工具
2018-06-03
文件安全加密工具
2017-08-31
libsvm简单C++测试程序
2015-11-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人