自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(112)
  • 资源 (17)
  • 收藏
  • 关注

原创 fuse用户态文件系统安装

1 下载FUSEGitHub地址:https://github.com/libfuse/libfuse在FUSE的GitHub页面上下载最新Release版本libfuse 3.8.0 https://github.com/libfuse/libfuse/archive/fuse-3.8.0.tar.gz2 编译安装FUSE2.1 编译准备工作推荐使用Meson和ninja来编译安装FUSE。sudo apt install ninja-buildsudo apt install meson

2020-08-30 00:27:12 2539

原创 bcc工具之funclatency

bcc的这个工具 funclatency主要是为了测量 函数调用的延时的funclatency(8)NAME funclatency - Time functions and print latency as a histogram.OPTIONS pattern Function name or search pattern. Supports "*" wildcards. See EXAMPLES. You can also use -r for reg‐

2020-08-23 20:18:31 695

原创 bcc工具之syscount

在排查linux性能问题的时候我们有时候会发现 整体 CPU使用率 很高,但是绝大多是是在sys 上的,usr上的CPU时间很少,这种就需要看看是内核空间在干什么了,是系统在 系统调用太耗时还是其他原因倒是的sys使用率上升。如果查看 系统调用时间 和 系统调用次数呢bcc为 我们提供了这个工具 syscountsh@ubuntu:/usr/sbin$ sudo syscount-bpfcc Tracing syscalls, printing top 10... Ctrl+C to quit.

2020-08-23 19:59:07 760

原创 bcc工具之execsnoop

我们知道linux中 创建进程的开销,或者说代价是比较大的。原因主要是 进程之间 地址空间不共享,资源也不共享,都需要copy一份(不考虑写时复制机制)而线程之间 共享地址空间,线程间调度的时候地址空间是一样的 tlb cache往往不会大量失效(tlb miss 的代价还是比较大的)在排查一些系统问题时,往往 top 看到的CPU使用率已经到 100%了,但是看 各个进程的 cpu使用率相加 只有30% 这种远低于 100%,这是因为 系统快速创建的进程往往没有被显示出来,top更新频率是 1次/

2020-08-23 19:29:44 1188

原创 perf 工具 安装

安装通过编译安装1. 源码在 kernel/tools/perf/ 目录下2. make install 即可3. perf top 验证一下通过编译安装 vm工具1. 源码在 kernel/tools/vm/ 目录下2. make install 即可3. slabtop 验证即可

2020-08-23 18:19:33 2217

原创 ubuntu 更换内核

想debug一下内核,用/boot 目录下的 vmlinuz 解压到 vmlinux 却一直失败,只好自己动手编译一下内核过程1. 首先下载内核代码2. 将 .config copy过来3. make menuconfig4. make -j85. sudo make modules_install6. sudo make install7. sudo update-initramfs -c -k 5.3.108. sudo update-grub9. sudo vi /etc/defa

2020-08-23 03:26:17 354

原创 kernel做了哪些尝试去 避免内存碎片化

内存碎片化linux内存管理 以page为 单位进行管理,在系统长时间运行之后,造成有大量离散不连续的页面存在,这就是内存碎片化。linux为减少内存碎片化做的努力1. 使用了 buddy 伙伴系统来管理物理内存2. 给每个页面定义了 MOVALBE属性,在内存碎片化压力比较大的时候可以 做内存规整 MOVABLE 内存页面可以移动, RECLAIMABLE 内存页面可以直接进行回收3. 内存迁移 一开始是为了 NUMA 系统中 task 可以完全迁移到 另一个 NUMA 节点中去

2020-08-16 18:44:52 167

原创 记录一次面试

怎么观察系统中 内存回收行为a. 通过 /proc/zoneinfo 文件,可以看到 free、high、low、min pages 关系free > high 时候 一般不开启 kswapd 回收线程high > free > low 时,开启 kswapd 回收线程low > free > min时,alloc_pages 会 直接 进行directly 内存回收b. vmstat 工具在 开启 swap 分区情况下 可以 看到 si so 速率c. 系统还.

2020-08-16 17:46:30 176

原创 kernel crash 问题

分类导致kernel panic 的软件问题。我自己总结大概分为以下几类1. 空指针问题2. soft lockup、hard lockup参考

2020-08-16 16:56:57 1110

原创 crash 工具分析kernel panic

系统产生vmcore 文件分析操作系统crash或hang的原因,需要用到vmcore 和 vmlinux 文件。Linux系统用来捕捉kernel dump的产生 vmcore 工具是kdump。vmlinux 文件是 编译过程中产生的。kdump的原理是启动一个特殊的dump-capture kernel把已经crash的 系统内存里的数据保存到文件里,为什么需要一个特殊的dump-capture kernel呢?因为原来的kernel已经出问题 panic or hung了,无法正常work了。

2020-08-16 15:45:04 609

原创 mm: alloc_pages

前言alloc_pages 是 linux kernel 上 最重要的 内存分配函数了,其实现机制也比较复杂函数原型是#define alloc_pages(gfp_mask, order) \ alloc_pages_node(numa_node_id(), gfp_mask, order)代码流程在 2.6.12 版本中在 2.6.20 版本中在 2.6.20 版本中...

2020-05-25 00:49:10 294

原创 /proc 与 进程相关

本文平台是 x86虚拟云服务器主要分析 /proc/[pid]/下的 节点信息sh@tencent_cloud:/proc/1 $ sudo ls -altotal 0dr-xr-xr-x 9 root root 0 Mar 28 00:38 .dr-xr-xr-x 195 root root 0 Mar 28 00:38 ..dr-xr-xr-x 2 root root 0 ...

2020-04-12 13:03:36 980

原创 /proc和内存管理 相关的内容

本文平台是 x86虚拟云服务器主要分析以下几个文件节点信息sh@tencent_cloud:/ $ ls /proc/ |grep infobuddyinfo #伙伴系统信息cpuinfo #cpu硬件相关信息meminfo #内存总览信息pagetypeinfo #伙伴系统信息,比buddyinfo更加详细slabinfo #slab分配器当...

2020-04-11 15:34:51 847

原创 qemu+gdb+kernel

gdb-multiarch -tui vmlinuxset architecture aarch64set architecture armtarget remote:1234

2020-03-29 12:22:43 207

原创 linux 系统系统监控命令

工具1.top2.vmstat3.slabtop4./proc/meminfo5./proc/slabinfo6.pmap7.free标题Kernel 提供的方法

2020-03-14 19:30:42 148

原创 libc 常用头文件和函数总结

字符处理 ctype.h 地区化 local.h 数学函数 math.h 信号处理 signal.h 输入输出 stdio.h 实用工具程序 stdlib.h字符串处理 string.hstring.h本分类的函数用于对字符串进行合并、比较等操作字符串拷贝 块拷贝(目的和源存储区不可重叠) memcpy 块拷贝(目的和源存储区可重叠) memmove 串拷贝 strcpy ...

2020-02-18 21:50:51 2248

原创 ANSI C标准库和POSIX库--转载

ANSI CPOSIX库(标准C库除外)ANSI C headersassert.hstddef.hstdbool.hstdint.hstdarg.hstdio.hstdlib.hstring.htime.hmath.herrno.hctype.hwctype.hwchar.huchar.hANSI C<assert.h> Contain...

2020-01-18 23:52:56 346

原创 RT-thread 的内存管理 之mempool

1.mempool

2019-08-26 00:27:24 505

原创 RT-thread 的内存管理 之 slab机制

rtt的 slab机制

2019-08-26 00:26:30 660

原创 S5PV210之uboot的start_armboot

前言start_armboot我们一般认为是uboot的第二阶段,这个结算代码执行都是在ddr中的相关数据结构#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("r8")这个宏用来定义gd_t类型的gd指针,后面的asm (“r8”)代表指定arm里的r8寄存器存储。gd_t里面存储着很多全局变量供整个...

2019-01-11 16:54:45 221

原创 S5PV210之uboot的start.S

前言start.S解析首先是头文件包含#include &amp;lt;config.h&amp;gt;#include &amp;lt;version.h&amp;gt;#if defined(CONFIG_ENABLE_MMU)#include &amp;lt;asm/proc/domain.h&amp;gt;#endif#include &amp;lt;regs.h&amp;gt;#ifnd

2019-01-11 11:14:41 324 2

转载 GNU工具链

Mips GNU工具链简介1 . 总括 本文分三部分来介绍mips的工具链,首先工具链的总括,其次是每个工具链的简介,最后是各工具链的实际应用举例。 我们的项目使用的工具链就如图1所示, 声明,本文所述的内容实乃GNU工具链的九牛之一毛, 日后会陆续更新。 图1工具链简介 下边就以列表的方式,对每一个工具链的...

2019-01-10 20:09:15 972

转载 Uboot命令U_BOOT_CMD分析

其中U_BOOT_CMD命令格式如下:U_BOOT_CMD(name,maxargs,repeatable,command,“usage”,“help”) 各个参数的意义如下: name:命令名,非字符串,但在U_BOOT_CMD中用“#”符号转化为字符串 maxargs:命令的最大参数个数 repeatable:是否自动重复(按Enter键是否会重复执行) comm...

2019-01-09 08:48:52 8830 3

原创 source insight进阶功能

SI自带F5跳转到指定行F8高亮单词Alt+,后退 Alt+.前进Quick.em

2019-01-07 10:36:24 387

原创 摄影笔记之曝光组合

概述曝光组合指的是在拍摄时,组合设定光圈和快门的值,达到合适的曝光效果。在环境光、感光度一定时,有多种光圈、快门组合来实现同一影调,但是效果不一样,反映了摄影师的创作意图。三种模式一般相机都有强大的手动曝光功能,即AV 、TV 、M,尼康是 A 、 S 、M佳能尼康曝光模式AVA光圈优先TVS快门优先MM手动在此之前就得出影调...

2019-01-04 08:58:53 678

原创 摄影笔记之曝光量

曝光量控制曝光量曝光量感光器在曝光时间内接收到光的多少。曝光量 = 感光元件接收光的速度 * 曝光时间= 环境光的强度 * 光圈大小 * 曝光时间曝光时间就是快门开启的时间,如下图曝光量 = 环境光 * 光圈 * 快门环境光:在不借助反光板和闪光灯的情况下,我们几乎无法改变环境光。光圈:就是光圈大小,光圈越大,曝光量越大快门:就是曝光时间,挡光板收起的时间。快门越大,...

2019-01-02 23:01:01 917

原创 摄影笔记之影调

影调影调的概念影调就是一张照片的明暗程度。高调:明亮的照片,使人感到愉快低调:阴暗的照片,使人感到悲伤中间调:不明不暗的照片作用:影调通过作品的明暗表现给读者以相应得到直接感受来表达摄影师的创作意图。那些本来就高调的景物应该用高调来表现,本来就低调的景物应该使用低调来表现。高调的物体:雪,白衣服等浅色物体低调的物体:黑土地,午夜的天空等深色物体但是大部分摄影师在实际工作中还是使...

2019-01-02 20:11:29 514

原创 摄影笔记之数码单反介绍与选择

介绍

2019-01-02 18:48:47 412

原创 freertos之CountingSemaphore浅析

CountingSemaphore

2018-12-29 16:29:56 977 1

原创 freertos之tasknotify浅析

前言

2018-12-29 12:50:46 10900

原创 freertos之tick浅析

前言

2018-12-29 12:50:01 4265 1

原创 freertos之scheduler浅析

前言其实是接上一篇task这篇文章的,上一篇写的有点多。代码分析调度器开启、关闭一般在调度器没有开启之前需要创建一个start_task来创建一系列任务task,然后就是调用vTaskStartScheduler来启动调度器。下面分析具体代码void vTaskStartScheduler( void ){BaseType_t xReturn; /* 创建idle task,使其...

2018-12-29 12:47:40 1074

原创 freertos之task浅析

前言rtos调度的基本单位是task(任务),其重要性不言而喻,一般都会包括任务的创建,删除,阻塞,挂起,回复等等操作。当然,freertos也不例外。一般一个task包含三个基础部分TCB结构、stack结构、任务代码。下面就从这几方面来讲一讲task有关的数据结构...

2018-12-17 00:19:28 6846

原创 HI3518E的sensor驱动

前言sensor主要是采集图像,将光信号转化为电信号的传感器,主要由镜头、sensor、ADC等部件构成。sensor驱动介绍sensor接口主要有并口、LVDS、MIPI接口这三种sensor接口。并口就是一根clk,n根(8/10/12)data线,来传输数据;一般还会带个IIC接口,来读写寄存器和传输控制信号,AR0130、OV9712就是这样的并口接口LVDS是由1组差分clk...

2018-12-16 17:37:57 1851 2

原创 HI3518E的ORTP相关代码浅析

前言之前已经用网盘中的sample_comm_venc.c,编译生成了可以实现功能的代码了,里面添加了一些跟ORTP传输相关的代码,都是用宏的方式添加的,如果想录制保存视频,直接关闭宏就可以。代码分析其实过程跟原来还是一样的,采集图像那一套都是不变的,变得就是原来是将三路码流保存到硬盘里,现在是将h.264码流通过网络根据RTP协议发送出去。在sample_comm_venc.c中添加如下...

2018-12-12 15:09:10 451 1

原创 HI3518E实现ORTP网络传输

前言本文主要是利用RTP协议实现视频服务器,利用网络进行视频数据传输,在windows上VLC软件作为客户端,可以实时预览视频。实际操作ORTP简介ORTP是一个支持RTP以及RFC3550协议的库,有如下的特性:使用C语言编写,可以工作于windows, Linux, 以及 Unix平台实现了RFC3550协议,提供简单易用的API。支持多种配置,RFC3551为默认的配置。支持...

2018-12-11 19:22:40 907

原创 /proc文件浅析

前言/proc是一种虚拟文件系统,也叫进程数据文件系统,其信息不是存储在块设备中的,只有在读取/proc目录下文件的时候才会去动态生成。/proc文件系统可以获得很多进程信息,在调试kernel的过程中很有用。/proc内容/proc文件系统的容量依系统而不同(硬件配置、体系结构)。主要包含以下几大类:系统进程的特征数据内存管理文件系统设备驱动程序系统总线电源管理终端系统...

2018-12-10 20:03:40 2355

原创 freertos之timer浅析

背景freertos的定时器与我所见得到其他RTOS不一样,我知道的ucosii是在每次tick++的时候会检查定时器链表,smc_rtos也是这样做的,rtt没看过源码不清楚,而freertos是将定时器实现为一个prvTimerTask。代码分析freertos是将定时器实现为一个prvTimerTask,一般如果定时n个tick,就会将prvTimerTask阻塞n个tick,但是同时...

2018-12-07 03:27:49 12646

原创 freertos之heap浅析

前言这几天看源码,先看了queue,task东西有点多,还是先以少到多,慢慢来。在freertos中,官方实现了5种方法来分配对内存,没有直接使用malloc 和 free函数,因为线程不安全,换句话说就是在malloc的时候可能被抢占。下面来介绍五个文件实现的堆内存分配和释放的方法。heap1.cheap1.c这是最简单的实现。它不允许在分配内存之后释放内存。尽管这样。heap_1.c适...

2018-11-21 20:58:40 3628

原创 freertos之queue浅析

前言queue队列是freertos实现计数型信号量、互斥型信号量的基础,在freertos中最重要的结构除了TCB 、List,就是Queue了。queue.c浅析

2018-11-20 18:26:59 5952 1

ebpf.zip -- linux 性能巅峰之作

BPF (eBPF) tracing is a superpower that can analyze everything, and I'll show you how in my upcoming book BPF Performance Tools: Linux System and Application Observability, coming soon from Addison Wesley. The book includes over 150 BPF observability tools that you can run to find performance wins and troubleshoot software, and also shows you how to write your own.

2020-05-17

BIN文件解析配套代码

在做stm32的IAP功能,看了一下BIN文件格式,这是配套相关的工程和产生的BIN文件。

2018-11-15

BC28固件资源 可以连接到onenet

BC28固件资源 可以连接到onenet,早期版本不支持onenet平台,需要固件升级,工具可以看我另一个下载

2018-11-07

移远BC系列固件升级工具

移远BC系列模组固件升级工具,注意一定要直接放在盘符目录下面,不然可能会导致升级失败等问题,固件可以自己另行下载

2018-11-07

BC28对接onenet平台的手册

BC35-G&BC28;&BC95; R2.0 OneNET Application Note。 Our aim is to provide customers with timely and comprehensive service.

2018-11-06

BC28+51单片机的原理图

BC28和51单片机的模块原理图,时间项目中实际使用,可以放心使用下载

2018-11-06

移远BC28的AD封装库文件

BC28物联网PCB封装设计手册,包括模块管脚定义及封装尺寸

2018-11-06

~/.vimrc配置

.vimrc配置 配合我的博客基本可以将vim打造为si一样的工具 https://blog.csdn.net/qq_33894122/article/details/81957266

2018-09-03

LDD3配套源码

LDD3配套源码,配合我的百度云分享的虚拟机可以直接编译运行(虚拟机另行在我上传的资源里下载,相关可以参考我的LDD3系列博客)

2018-08-19

TCP/IP详解卷2

第二部分,即HTTP和NNTP应用,是卷1的第25~30章中介绍TCP/IP应用的延续。在卷1出版后 的两年里,随着Internet的发展,HTTP得到了极大的流行,而NNTP的使用则在最近的10多年中每 年增长了大约75%。T/TCP对HTTP来说也是非常好的,可以这样来用TCP:在少量数据传输中缩短 连接时间,因为这种时候连接的建立和拆除时间往往占总时间的大头。在繁忙的Web服务器上, 成千上万个不同而且不断变化的客户对HTTP(因此也对TCP)的高负荷使用,也提供了唯一可以对 服务器上确切的分组进行考查的机会(第14章),可以观察卷1和卷2中给出的TCP/IP的许多特性。

2017-09-24

windows 下python opencv3安装包

opencv安装包,适用于windows平台下python,linux平台与mac-os不可使用,可以实现人脸识别,黑线监测等功能。

2017-09-24

python + opencv 人脸识别代码(可以跨平台运行,linux windows均可以)

要先安装python,等库函数,这个资源里面已经有好几个包了,尽量在这个解压文件之内运行1.py与facedetect.py

2017-09-24

树莓派搭建小型气象站(可以直接运行)

树莓派搭建小型气象站

2017-07-11

空空如也

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

TA关注的人

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