自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

whuzm08的专栏

学无止境

  • 博客(130)
  • 资源 (39)
  • 收藏
  • 关注

原创 嵌入式linux内存泄露调试方法

由于最近很多写作都直接在腾讯文档上进行的,所以懒得搬了,直接给链接吧:https://docs.qq.com/doc/DRkJISk1jREhyQmxQ

2021-04-08 14:37:17 365

原创 dpkg、rpm 和 apt-get、yum 的区别及使用

dpkg: 是Debian packager的简称,是由Debian开发出来的包管理器,软件包在发布时打包成.deb格式rpm:是Red hat package manager的简称,是由Red hat开发出来的包管理器,软件包在发布时打包成.rpm格式dpkg和rpm命令虽然可以解决安装,卸载和查询,但是对于软件包直接的依赖,比如安装的软件包依赖于很多其他的软件包,这两个软件只会将依赖打...

2020-02-11 11:06:17 655

原创 如何启用linux内核异常自动重启机制

内核出现异常,有这么几种情况:1.在内核代码执行路径上会主动的去检查一些执行环境,如果不满足触发panic;2.某段代码一直占着cpu,其他进程都得不到执行,这又分为两种情况:a)某段代码禁止了内核抢占,并且进入了死循环,这种情况下时钟中断可以响应,但是因为禁止了内核抢占,中断处理函数结束后仍然占着cpu,这就是所谓的soft lockupb)某段代码禁止了中断,并且进入了死循环,这种情况...

2020-01-29 18:49:36 2377

原创 linux 时间子系统之基本概念(一)

time相关的用户空间api:clock_t clock(void);The clock() function returns an approximation of processor time used by the program.The value returned is the CPU time used so far as a clock_t; to get the numb...

2020-01-18 10:17:17 338

原创 linux串口编程

参考资料:https://www.cmrr.umn.edu/~strupp/serial.html#confighttp://man7.org/linux/man-pages/man3/termios.3.htmlhttps://github.com/modlfo/firmata/blob/master/lib/serial.c

2020-01-18 09:52:42 1516 1

原创 linux input输入子系统源码分析

总体软件架构先来个整体的软件层次架构图:从上图输入子系统的框架图,可以看出,输入子系统由Input driver(驱动层)、Input core(输入子系统核心)、Event handler(事件处理层)三部分组成。一个输入事件,如鼠标移动、键盘按下等通过Input driver -> Input core -> Event handler -> userspace的顺序...

2020-01-17 19:51:14 388

原创 linux中对/dev/console和/dev/tty的理解

/dev/console是什么如果系统中存在多个tty设备,想象一下,这时内核启动的log应该打印在哪里,这时内核会从tty中选择一个最合适的作为console,当然内核启动参数中也可以明确的去指定那个tty作为内核的console,/dev/console主要是暴露给用户空间使用的,主要用于系统管理员在改终端上登陆用。/dev/tty又是什么The file /dev/tty is a c...

2020-01-16 18:30:34 2162

原创 一文理解session, 进程组, 进程和终端之间的关系

现在我们从Session和进程组的角度重新来看登录和执行命令的过程。getty或telnetd进程在打开终端设备之前调用setsid函数创建一个新的Session,该进程称为Session Leader,该进程的id也可以看作Session的id,然后该进程打开终端设备作为这个Session中所有进程的控制终端。在创建新 Session的同时也创建了一个新的进程组,该进程是这个进程组的Pro...

2020-01-16 17:04:15 1219

转载 ELF 安全特性检查工具

http://manpages.ubuntu.com/manpages/trusty/man1/hardening-check.1.html

2019-07-25 09:35:10 547

原创 FORTIFY_SOURCE详解

Below are four different cases that can happen:char buf[5];/* 1) Known correct.No runtime checking is needed, memcpy/strcpyfunctions are called (or their equivalents inline). /memcpy (buf, foo, ...

2019-07-24 09:50:36 12381

原创 linux core文件解析

Linux ELF core filesA core file is essentially a snapshot of the process and its state right before it cored(crashed or dumped). A core file is a type of ELF file that is primarily made up of progra...

2019-07-05 17:08:52 2976

原创 AddressSanitizer

sanitizersThis project is the home for Sanitizers: AddressSanitizer, MemorySanitizer, ThreadSanitizer, LeakSanitizer, and more The actual code resides in the LLVM repository. Here we keep extended do...

2019-07-03 10:03:52 4529

原创 configure配置过程学习

本文章是自己通过阅读configure的总结笔记,可能部分理解有错误,希望大家不吝指出,大家共同学习目标通过configure用户选项进行配置,加上测试系统支持的特性,生成配置结果,根据配置结果替换编译系统中的变量,从而实现根据配置改变编译的结果一般是将 xxx.in 根据配置替换其中的变量 变为 xxx, 后缀in表示input的意思实现细节在configure中定义了ac_sub...

2019-04-18 17:10:58 3181

原创 LSM框架介绍

LSM是Linux Security Module的简写在内核需要安全检查的地方安插了很多钩子://所有的钩子都定义在security/security.c文件中int security_file_open(struct file *file, const struct cred *cred) { int ret; ret = call_int_hook(...

2019-04-18 11:17:44 5372 1

原创 USB OTG学习笔记

本文是查阅相关资料学习了半天的心得,记录下来防止忘记,不正确之处望指正。OTG 是On-The-Go的缩写,是为了USB设备身份主从互换而引入的。为了支持OTG,改动部分包括如下:1.接口修改,增加了另外一条ID线2.增加了额外的协议,ADP,SRP,HNP一个既支持主又支持从的USB设备,软件协议栈应包含如下部分:host controler driverhost side de...

2019-03-21 14:58:07 266

原创 linux spi驱动分析

spi的驱动框架主要分为:cpu<—platform bus—>spi master 端 <-----spi bus—>spi slave 端spi master 指的是spi控制器,spi master device是平台设备,spi master driver是平台驱动,它们都挂载在平台总线上spi slave指的是spi设备,spi device和spi dri...

2019-03-20 18:40:47 898

原创 linux平台设备和平台驱动

由module_init宏指定模块的初始化入口下面来看看模块的初始化static struct platform_driver efuse_driver = { .probe = efuse_probe, ...

2019-03-16 17:53:07 446

原创 Linux audit详解

什么是auditThe Linux Audit Subsystem is a system to Collect information regarding events occurring on the system(s) ,Kernel events (syscall events), User events (audit-enabled programs)syslog记录的信息有限,主要...

2019-02-14 13:29:31 27520 1

原创 linux kernel keys笔记

keys在内核中的表示为: struct key { atomic_t usage; /* number of references */ key_serial_t serial; /* key serial number */ union { struct list_head graveya...

2019-02-14 10:24:17 1107

原创 升级ubifs以支持 fscrypt

The Linux kernel configuration item CONFIG_UBIFS_FS_ENCRYPTION:prompt: UBIFS Encryption type: bool depends on: CONFIG_UBIFS_FS_XATTR &amp;&amp; CONFIG_BLOCK defined in fs/ubifs/Kconfig found in ...

2019-01-17 20:30:35 1301 1

原创 Linux signal捕获

signal的原理这里不打算多讲,这里主要讲一下应用man 7 signal,可以看到一些关于signal的介绍:每个信号都对应着一个action,默认的有:Term, Ign,core,Stop,Cont,  文档上明确的写着是以进程为修改单位的,所有的线程的action都相同:The signal disposition is a per-process attribute: in...

2019-01-14 09:36:33 1383

原创 ubi & ubifs学习笔记

drivers/mtd/ubi/ubi-media.h EC: Erase Count,记录块的擦除次数struct ubi_ec_hdr { __be32 magic;__u8 version;__u8 padding1[3];__be64 ec; /* Warning: the current limit is 31-bit anyway! */__be32 vid_hdr...

2019-01-11 18:39:54 4357

原创 深入理解dm-verity机制

近期做的一个项目,由于客户对安全性要求比较高,涉及到文件系统校验的问题,起初是在ramdisk中挂载rootfs后对所有重要的文件检查sha256,但是随着rootfs的逐步增大,发现校验花费的时间太长,竟然达到十几秒,于是就想改用一种方案,首先想到的是整个rootfs校验后在挂载,这样肯定是比一个文件一个文件校验要来得快些,但是项目中用的是nandflash,并不是EMMC,所以文件系统只能采用...

2018-12-27 11:26:36 25683 3

原创 linux权限检查机制

1.文件权限 static inline int do_inode_permission(struct vfsmount *mnt, struct inode *inode, int mask)  {      if (unlikely(!(inode-&gt;i_opflags &amp; IOP_FASTPERM))) {          if (likely(mnt &amp;...

2018-11-28 16:01:36 1567

原创 Linux 查看打开的网络端口

使用netstatnetstat -nape 可以列出所有已经建立连接和listening状态的端口​对于嵌入式busybox,netstat命令可能不支持列出打开端口的程序名,方法有两个:配置busybox​​重新编译busybox,支持-p选项列出程序名 2.通过/proc文件系统查找查看系统打开的所有tcp端口a)cat /proc/net/tcploca...

2018-09-27 20:30:01 6328

原创 arm neon优化

neon是simd的一种实现 使用neon的方式有:1.neon library 使用第三方开源库,直接函数调用2.auto-vectorization使用编译器自动auto-vectorizationgcc相关的选项有:-mcpu=cpu-name, where cpu-name is the name of the processor in lower case...

2018-09-13 21:00:00 3522

原创 自己实现的简单dmalloc

写了个简单的dlmalloc的实现,这个自然是无法实用的,需要不断完善,通过简单的实例重点在于说明dlmalloc的工作原理。 struct  tag_node{ void *  addr; int size; char *  function; char * line; int  count; struct tag_node * next;...

2018-07-16 09:25:31 944

转载 Android Boot Sequence

In this post we will discuss about the boot process of Android operating system. As the Android is based on Linux Kernel , so its boot process will give good idea about Linux boot process also. Most a...

2018-05-29 19:06:16 694

转载 android property system

android property systemProperty system is an important feature on android. It runs as a service and manages system configurations and status. All these configurations and status are properties. A prop...

2018-05-29 14:22:07 648

原创 Android的log问题

#include &lt;utils/Log.h&gt;#undef LOG_TAG#define LOG_TAG "SKHDI"#define SK_TRACE LOGI#define SK_INFO_TX(fmt,args...)     ALOGI("[%s,%d]: " fmt ,__FUNCTION__, __LINE__,##args)#define SK_ERROR_TX(fmt,a...

2018-05-29 14:17:08 894

原创 Android by-name机制

init: create symlinks to block device nodes eMMC block device names may change based on the detection order ofthe eMMC device and any other SD bus devices, such as a removable SDcard. This...

2018-05-29 14:15:37 3330

原创 mips简介

wiki:https://en.wikipedia.org/wiki/MIPS_architecture官方网站:https://www.mips.com/https://www.mips.com/?do-download=arm-to-mips-architecture-migration-guide《4KcProgMan.pdf》

2018-05-25 14:36:07 1437

原创 arm简介

British company ARM Holdings develops the architecture and licenses it to other companies, who design their own products that implement one of those architectures‍Processors that have a RISC archite...

2018-05-25 11:23:14 1334

转载 Implementing Regular Expressions

点击阅读原文

2018-05-24 15:11:46 131

转载 Writing Your Own Shell

点击阅读原文

2018-05-24 15:07:56 203

转载 gcc内嵌汇编

6.43 How to Use Inline Assembly Language in C CodeThe asm keyword allows you to embed assembler instructions within C code. GCC provides two forms of inline asm statements. A basic asm statement is on...

2018-05-24 15:00:04 267

转载 Intel and AT&T 汇编区别

Intel and AT&amp;T Syntax.Intel and AT&amp;T syntax Assembly language are very different from each other in appearance, and this will lead to confusion when one first comes across AT&amp;T syntax ...

2018-05-24 14:41:36 363

转载 Back to Basics: The Universal Asynchronous Receiver/Transmitter (UART)

Back to Basics: The Universal Asynchronous Receiver/Transmitter (UART)December 20, 2016 by Robert KeimThis technical brief explains some low-level details of the widespread—I might even say ubiquitous...

2018-05-24 10:43:31 316

转载 the-i2c-bus-hardware-implementation-details

The I2C Bus: Hardware Implementation DetailsDecember 20, 2015 by Robert KeimEssential information for understanding and designing the hardware needed for an I2C bus.Supporting InformationIntroduction ...

2018-05-24 10:39:36 321

转载 How Does a C Debugger Work? (GDB Ptrace/x86 example)

原文出处:https://blog.0x972.info/?d=2014/11/13/10/40/50-how-does-a-debugger-workWhen you use GDB, you can see that it has a complete control over your application process. Hit Ctrl-C while the application...

2018-05-24 10:29:54 270

mips32编程手册之架构

mips32编程手册之架构,介绍系统流水线,指令集介绍

2017-01-06

mips32编程手册之指令

mips32编程手册之指令,指令的构成规则,特点,所有的指令集

2017-01-06

mips32系统架构手册

非常好的mips32系统架构手册,详细介绍了流水线,中断,TLB,协处理器等等

2017-01-06

mips32汇编指令集简表

常用mips汇编指令速查表

2017-01-06

ISO 7816-3

ISO 7816-3 smartcard协议规范

2017-01-06

EDID 1.3标准规范

VESA定义的标准EDID规范v1.3版本

2017-01-06

paxtest-0.9.14

用于内核打了pax补丁之后测试代码,用于检查ASLR, NX是否起作用,这个是在原始的代码基础上作了修改,以支持mips cpu和交叉编译

2016-12-02

boot签名相关

boot签名相关

2016-10-12

HDCP标准文档

HDCP标准文档

2016-10-12

FD650相关资料

FD650相关资料

2016-10-12

( [精通正则表达式(第3版)]中文版

详细深入的阐述了正则表达式,所蕴含的思想,以及不同语言之间的差别

2014-02-24

kbuild实现分析

从设计者的角度阐述kbuild的实现,涉及的makefile语法,特点介绍,target的分类和实现进行了详细的分析和说明

2014-02-24

ultraedit拓展语言支持

ultraedit拓展语言支持---wordfile官方合集和自己定制说明文档

2014-02-24

ucosii官方正版源代码

ucosii官方正版源代码

2013-05-30

系统程序员成长计划.pdf

系统程序员成长计划.pdf

2012-08-19

嵌入式学习方法

嵌入式学习方法及在线学习视频。

2012-08-19

kernel 源代码

linux kernel源代码,组织结构,以及分析方法。

2012-08-05

集成usb工具箱

集成usb工具箱。

2012-06-03

注册表分析整理工具

regdefrag注册表分析整理工具。

2012-06-03

aida64 extreme edition

详细查看系统硬件信息

2012-06-03

百度文库下载器

百度文库下载器。

2012-06-03

nod32 v4.2

nod32 v4.2 ...

2012-06-03

nod32升级ID网页搜索获取器

通过网页搜索得到nod32升级ID获取器。

2012-06-03

DVB-C技术资料

DVB-C技术资料。

2012-05-30

单片机编译和烧写工具

单片机编译和烧写工具,包含keil,stc-isp,串口调试工具等。

2012-05-30

regdefrag注册表整理工具

注册表整理工具。

2012-05-30

保护眼睛颜色

保护眼睛颜色

2012-04-15

串口调试助手V2.2

串口调试助手V2.2。

2012-04-15

虚拟串口软件

虚拟串口软件,串口开发必备工具

2012-04-15

Visual Assist

Visual c++ 6.0助手

2012-04-15

kmplayer2009

万能播放器。

2012-04-15

汉王OCR文字识别

提取图片中的文字

2012-04-15

pdf密码移除

破解pdf不能复制的限制

2012-04-15

软件无线电原理与应用 杨小牛

软件无线电原理与应用 杨小牛

2012-04-12

unix基础知识

unix基础知识

2012-04-09

3com+内部培训资料linux+基础

linux基本命令

2012-04-09

字电视接收机DVB系统复用的实现和设计

字电视接收机DVB系统复用的实现和设计

2012-04-08

数字电视培训教材

非常经典的数字电视培训教材

2012-04-07

dvb数字电视系统

对dvb数字电视系统有一个系统的概述,方便入门

2012-04-07

空空如也

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

TA关注的人

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