自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (5)
  • 收藏
  • 关注

原创 uboot DM驱动注册与初始化

uboot是如何实现在不同的文件中调用接口注册驱动,就可以在初始化时找到对应驱动进行初始化。

2022-08-07 17:24:00 796

原创 linux trace机制分析 - 3.ftrace原理分析

文章目录简述编译时处理简述默认本篇文章的读者已经了解arm、编译和简单汇编。arm64采用fpatchable-function-entry而不是pg,这里暂不讨论,扩展了解https://zhuanlan.zhihu.com/p/104683907。简单叙述ftrace的原理和流程,ftrace的实现依赖3个过程,分别为编译时、系统初始化、开启追踪。编译时:内核开启CONFIG_FUNCTION_TRACER后,编译选项会增加-pg,在每个函数中打上标记;系统初始化:将函数标记替换为no

2022-05-04 14:22:34 1965

原创 linux trace机制分析 - 2.ftrace使用

文章目录简介使用简介ftrace通常被理解为是一个linux内置的函数追踪器,可以很方便的帮助开发者内核函数的运行情况,通常被用来在分析函数延迟和系统性能。实际上ftrace不仅仅是一个函数追踪器,更准确的说ftrace是一个综合了多种手段的trace框架。比如分析延迟跟踪检查、中断的禁用与执行、任务的调度与抢占等等。ftrace一个最常用的用法是事件追踪,通过内核中几百个event point 可以通过tracefs查看内核的运行情况。使用在内核编译配置中开启ftracerKernel h

2022-03-20 15:36:49 1898

原创 linux trace机制分析 - 1.总述

本系列文章会综合分析linux trace技术。以下是文章的主要框架:总述ftrace-Function Tracer分析使用ftrace hook函数kprobe分析基于kprobe的event trace基于uprobe的event trace使用kernel tracepointevent tracing子系统trace point-kmem引导阶段trace......

2022-03-20 10:22:03 2814

原创 Linux设备模型(4)详解kobject创建和注销流程

文章目录前言创建kobject流程分析前言在上一篇文章中我们做了创建和注销kobject的实验,这篇文章以kobject_create_and_add()和dynamic_kobj_release()为出发点详细分析一个kobject创建和注销过程中做了哪些工作。创建kobject流程分析...

2022-02-02 22:30:38 1527

原创 Linux设备模型(3)基本组件Kobject、ksets、ktypes

文章目录前言前言“Everything you never wanted to know about kobjects, ksets, and ktypes”。-Greg Kroah-Hartmankobject、ksets、ktype是整个设备模型的基础组件,类似钢筋水泥之于高楼大厦,所以我们首先需要对其基本结构和功能有所了解。这里翻译kobject.txt文档中对Kobject的描述如下:kobject是结构体kobject类型的对象,拥有三个最基本的元素:name、引用计数和父指针。

2021-10-31 15:33:20 440

原创 Linux设备模型(2)基本概念与模型概述

文章目录前言四大基本元素前言在开发或学习Linux驱动的时候,首先会有两个最基本的认识:设备和驱动,设备一般指我们要控制的外设模块,驱动指我们需要实现控制外设的功能的程序。最简单直接的开发方式是,我们将设备的特性如电平、寄存器地址等在开发驱动的时候在程序中固定,但是这个带来的问题就是驱动程序不具备可移植性。为了解决上述问题,我们在程序中需要将对设备的描述和对功能的实现分开(即配置和功能分离),必须需要控制GPIO电平,驱动中只需要实现控制电平这个功能即可,具体是高电平还是低电平则是根据设备信息决定。这

2021-10-24 14:56:13 226 1

原创 Linux设备模型(1)总纲

文章目录绪论设备模型的起源和发展Linux设备模型分析设备模型思考声明:本文在参考蜗窝科技的系列文章的基础上结合内核代码分析完成。阅读本文的前提:C语言、Linux驱动开发基础。绪论本系列内容的核心是设备模型,我们以三个问题为引导来探究设备模型:1.为什么需要设备模型?2.Linux设备模型是什么?3.设备模型能带给我们什么思考?第一个问题是想研究设备模型起源与发展,了解其解决的问题和思路。第二个问题是本系列内容最多的部分,从结构和代码层面分析Linux设备模型。第三个问题将设备模型

2021-10-16 20:37:29 116

原创 操作系统之内存管理学习笔记

文章目录绪论代码重定位绪论操作系统的内存管理涉及:代码重定位分段分页虚拟内存按需分页虚拟内存下面分别进行叙述。代码重定位代码编译与加载

2021-09-12 09:51:50 68

原创 树莓派设备树覆盖(dtb overlay)

dtb overlay测试原始的设备树结构:pi@raspberrypi:~ $ ls /proc/device-tree'#address-cells' compatible leds reserved-memory __symbols__ aliases cpus memory@0 scb system arm-pmu emmc2b

2021-01-17 22:35:15 3275 3

原创 shell文本处理工具(grep\cut\sort\tee\diff)

文章目录grep工具语法和选项grep工具行过滤工具,用于根据关键字进行过滤语法和选项grep [选项] '关键字' 文件选项说明备注–color=auto使搜索结果中的关键字高亮-n显示搜索结果在文件中的行数-i忽略大小写...

2020-11-22 23:48:55 79

原创 arm linux设备树

文章目录设备树概述设备树的特点设备树的使用编译设备树内核如何加载dtb设备树概述在linux2.6以前,arch/arm/plat-xxx和arch/arm/mach-xxx中充斥着大量重复的、用于描述设备细节的代码。导致内核代码迅速膨胀,linus一声怒吼“This whole ARM thing is a f*cking pain in the ass”,自此ARM开发便开始了使用设备树描述设备细节的时代。设备树的特点设备树可以描述的信息:CPU的数量和类别、总线、外设连接、中断控制器与使用情

2020-10-23 16:07:24 462

原创 i2c学习笔记

文章目录概述i2c协议RTC-RX8010协议linux i2c驱动框架分析本文将从以下三个方面进行:概述i2c协议;linux i2c的软件框架与核心实现;怎样编写i2c驱动;用户态编程使用i2c驱动。概述I2C协议是嵌入式系统中广泛使用的一类通信协议,主要用于CPU和各种外设之间的低速数据通信。Linux kernel使用I2C framework抽象、管理相应的资源,并以各种形式,向各类使用者提供API。作为总线(bus)的一种,I2C framework的实现体现了linux设备模

2020-10-23 11:27:36 761

原创 树莓派uboot

文章目录编译uboot准备源码和工具配置与编译uboot编译uboot准备源码和工具下载uboot下载地址: http://ftp.denx.de/pub/u-boot/推荐下载最新版本,红线处为博客创作时最新版本。 安装交叉编译器sudo apt-get install gcc-arm-linux-gnueabi gcc-aarch64-linux-gnu安装依赖库apt install bisonapt install flexapt install libncurse

2020-09-26 11:44:10 238

原创 linux驱动程序学习笔记

字符型驱动字符设备驱动结构cdev结构体用于完成描述一个字符设备。顶层。结构体定义struct cdev { struct kobject kobj; /* 内嵌的kobject对象 */ struct module *owner; /* 所属模块*/ struct file_operations *ops; /* 文件操作结构体*/ struct list_head list; dev_t dev; /* 设备号*/ unsigned int count;};cedv的

2020-08-18 12:36:52 168

原创 linux系统编程学习笔记

文件操作linux-API文件操作创建文件int creat(const char *filename,mode_t mode);/*mode指定新建文件的存取权限 *///return 文件描述符fdopen(const char *pathname,O_CREATE,mode_t mode);/*第二个参数flags为O_CREATE*///return 返回文件描述符fd设置文件权限除了在创建文件时设置权限外,还可以使用函数修改int umask(int newmask);文

2020-08-14 18:04:43 121

原创 make与makefile

obj-m表示把文件test.o作为"模块"进行编译,不会编译到内核,但是会生成一个独立的 “test.ko” 文件;obj-y表示把test.o文件编译进内核;KERNELDIR指的是内核库文件的路径,你的代码中使用的是内核提供的函数,而这些函数也是有具体实现的,在连接成一个内核模块时要说明这些库文件在哪里,方便链接程序把它们连接成一个完成的模块。“?=”:如果这个KERNELDIR为空说明你没有指定内核库文件的路径,那么它就会给KERNELDIR赋值,因为顶层Makefile通过这个环境变量知道内

2020-08-10 17:12:08 188

原创 vmware 知识与问题

1233

2020-08-09 18:26:20 103

原创 uboot学习笔记

文章目录简介uboot的特性主要功能简介uboot,全称universal boot loader,是遵循GPL协议的开源项目。用于初始化系统外设并引导系统启动。uboot的特性支持包括linux、netBSD、VxWorks、android等系统。支持包括PowerPC、ARM、x86、MIPS等处理器。丰富的设备驱动,以太网、SDRAM、FLASH等。主要功能系统引导支持NFS挂载、RAMDISK(压缩或非压缩)的根文件系统,支持NFS挂载、从FLASH中引导系统内核。...

2020-07-31 20:24:16 140

原创 VMware虚拟机启动/重启后无网络连接的问题

根据网上的教程设置了很多都没有什么用,最后发现是VMware的服务没有启动。解决办法:右击我的电脑,打开管理,服务找到下图两个服务启动,虚拟机NAT连接就可以使用了。​​​​

2020-07-27 15:00:31 2653 1

原创 linux内核学习笔记

文章目录信号基本概念信号的产生、传递和处理信号类型和默认行为信号基本概念信号是事件发生时对进程的通知机制,也成为软件中断。信号分为两大类:第一类是用于内核向进程通知事件的称为标准(传统)信号,第二类是实时信号。标准信号的编号为1 ~ 31,是不可靠信号(非实时的);编号为32 ~ 63的信号是后来扩充的,称做可靠信号(实时信号)。不可靠信号和可靠信号的区别在于前者不支持排队,可能会造成信号丢失,而后者不会。以下内容都默认为标准信号。信号的产生、传递和处理信号的产生:事件主要有以下三类:硬件异常、

2020-07-26 19:08:45 370

原创 unix网络编程

文章目录基本TCP客户/服务器程序流程

2020-07-16 20:13:27 958

原创 linux常用命令与操作

文章目录1.网络相关命令1.netstat1.网络相关命令1.netstatnetstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。全部参数:usage: netstat [-veenNcCF] [<Af>] -r netstat {-V|--version|-h|--help} ne

2020-07-13 11:46:08 173

原创 python学习笔记

使用IPDB调试python程序1. 安装与调用安装调用2. 常用命令ref. by 博客1. 安装与调用安装可以使用anaconda,spyder集成有IPDB调试工具使用pip install ipdb安装调用源代码中调用通过在代码开头导入包,可以直接在代码指定位置插入断点。如下所示:import ipdbx = "前面的程序"ipdb.set_trace()#调...

2020-01-28 12:00:20 267

原创 Git学习

1.git配置1.1配置文件位置:级别linux位置win位置系统级/etc/gitconfiggit安装目录/etc/gitconfig项目级项目目录/.git/config同左用户级~/.gitconfigc:/users/“当前用户”/.gitconfig1.2配置文件可选项[color]ui = auto[credential...

2019-11-20 16:37:42 83

原创 vim学习笔记

参考学习韦东山老师的课程并加以总结1.vim的简单配置打开/etc/vim/vimrc,添加下面内容到文件末尾。如下图所示。"关闭兼容功能set nocompatible "显示行号set number"编辑时 backspace 键设置为2个空格set backspace=2"编辑时 tab 键设置为4个空格set tabstop=4"设置自动对齐为4个空格set shi...

2019-09-29 00:02:19 170

原创 多元回归&最小二乘

最小二乘和回归分析的区别:最小二乘法是在模型确定的情况下对未知参数由观测数据来进行估计,而回归分析则是研究变量间相关关系的统计分析方法。...

2019-09-15 23:43:01 2221

原创 C/C++的基础数据类型

对于c/c++,并非初学,但仍时时刻刻要抱着初学者的心态。序基础的数据结构,是学习一门语言最基础的部分,也比较简单。但是对于c/c++来说,由于一些历史包袱,数据结构的规律变得复杂起来。特别是简单的书说不明白,大块头的又絮叨太多造成这个问题有些编程经验的程序员也会不注意犯错。为此在这将c/c++的基础数据类型做个总结梳理。1.c/c++基础的数据结构如下表所示:下面数据类型的位宽为VS、...

2019-09-15 18:51:22 157

原创 数据处理之相似度

一、相似度计算相似度计算常用的有:欧几里得距离(Eucledian Distance)或称 欧氏距离余弦相似度 (Cosine Similarity)杰卡德相似系数(Jaccard Similarity coefficient)皮尔逊相关系数(Pearson correlation)下面分别来介绍1.欧几里得距离欧氏距离在现实空间(3维)中就是我们理解的距离,使用欧氏距离计算相...

2019-08-29 11:20:53 839

原创 计算机网络

一、OSI参考模型1.应用层作用:产生网络流量的程序。理解:发快递和收快递2.表示层作用:数据的加密、压缩、格式控制(gbk、utf-8…)理解:快递打包装箱3.会话层作用:建立、管理和维护会话理解:送快递的小哥4.传输层作用:建立管理端到端的连接理解:整个快递运行网络5.网络层作用:IP选址和路由选择理解:快递从哪条路线走最好6.数据链路层作用:帧的开始和结束、...

2019-08-23 13:14:01 130

原创 C++ 学习笔记

一、Getting Started with c++1.c++的三种主要特性:a.由c带来的面向过程;b. c++增加的类提供的面向对象;c.c++模板支持的泛型。2.面向过程强调算法,oop强调数据。3.c++的opp提供了对真实问题的高等级抽象,c提供了低等级的硬件操作。...

2019-08-21 11:32:59 174

原创 数据结构

一、线性表1.1 定义顾名思义,线性表就是所有数据元素排列成一条线。比如小学生排队,每个小学生是一个数据元素,一列队伍就是一个线性表。1.2 线性表的操作除了常用的增删查改,还有初始化。1.3 线性表的存储结构1.3.1 顺序存储结构数组就是最常见的顺序存储线性表。这个不多解释了,就是数据是一个挨一个排列在一列地址上。1.3.1链式存储结构(链表)链表比较复杂,内容较多。单独开一...

2019-08-20 09:57:30 70

原创 numpy学习总结

1.将多维数组展成一维两种方式,分别为:a=np.array([[0,1,2,3], [4,5,6,7]])#1a.flatten() #out:array([0, 1, 2, 3, 4, 5, 6, 7])#2a.ravel() #out:array([0, 1, 2, 3, 4, 5, 6, 7])两者的区别:a.flatten()[0]=8a #out:([...

2019-07-20 11:26:01 323

原创 linux学习问题记录

开机出现unexpected inconsistency;RUN fsck MANUALLY然后进入initramfs。解决办法:直接输入fsck/dev/sda1然后遇见确认全部确认(y)即可。最后出现FILE SYSTEM WAS MODIFIED输入reboot重启...

2019-06-02 16:20:40 365

原创 matplotlib绘图

1.显示颜色条(指示条)在画2d图的时候,可以使用 plt.colorbar() #显示色度条

2019-05-28 19:44:53 880

kalman卡尔曼滤波器介绍(姚晨旭译)文档+代码

学习卡尔曼非常好的一篇文章,深入浅出的介绍了卡尔曼的概况和应用。非常值得一读。

2019-06-05

随机过程及其应用(张卓奎编)学习指导答案书 高清扫描版

本文档是西安电子科技大学大学出版的张卓奎主编的随机过程及其应用的辅导教程,包含答案。高清扫描版可以直接打印。

2018-12-21

设计文件本模型可用于室

本模型可用于室solidworks和cad打开,经过简单修改

2018-12-18

win10 sysusb.sys下载

用于win10系统usbser.sys文件缺失。在使用windows的usb串口驱动需要的库文件。

2018-10-18

爬取OSA的的期刊的论文名

可以把所选期刊的指定期数的论文名打包下载为excel文件,方便整理。

2018-07-17

空空如也

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

TA关注的人

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