自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(298)
  • 资源 (8)
  • 收藏
  • 关注

原创 linux 中 zip 命令

1. 写在前面本片文件只关注使用过程中经常使用的命令,暂时没有使用的,不考虑在内。1. 内容1.1 压缩文件夹zip -r filename.zip filesdir/1.2 解压缩文件夹到制定目录unzip filename.zip -d destdir/1.3 向压缩包中添加一个文件zip -u filename.zip dir/file1.4 删除压缩包中的某个文件zip -d filename.zip dir/file...

2021-10-13 17:44:28 1131

原创 场效应管 - MOSFET

1. 简介 MOSFET(Metal-Oxide-Semiconductor Field-Effect Transistor), 中文名:金属氧化物半导体场效应晶体管。是一种可以广泛使用在模拟电路与数字电路的场效晶体管。---wiki2. 分类说明 根据其沟道极性的不同,可分为电子占多数的N沟道型和空穴占多数的P沟道型。 N沟道场效应管用的比较多。 场效应管是压控器件,所以,控制侧消耗的电流极其小。3. 逻辑3.1 N 沟道场效应管图形如下......

2020-11-07 14:16:04 1262

原创 i2c-tools 使用集锦

1. 简介 i2c-tools 是linux的一个工具,使用他,可以在命令行进行 i2c/SMBus 设备的用户层访问。2. 实例2.1查看某总线上所有 i2c adapter:> i2cdetect -l2.2 罗列出每个 adapter 上设备地址的有效性> i2cdetect -y <num>这个例子中 标记UU 的,表示这个地址上有个设备是有效的。即,当向这个地址发送询问时有应答。这个例子中有三个地址是有效的,0...

2020-06-25 17:08:21 3328

原创 PCIe 是什么 ? -- 基本知识

1. 概述 1)PCIe(Peripheral Component Interconnect Express)是继ISA和PCI总线之后的第三代I/O总线。一般翻译为周边设备高速连接标准。 2)PCIe协议是一种端对端的互连协议,提供了高速传输带宽的解决方案。目前PCIe已经发展到第四代PCIe4.0, 每一代的发展,最明显的特征就是速率翻倍。 3)是Intel公司1991年推出的。批准组织:PCI SIG (PCI兴趣小组) 4)一个x16插槽可以运行x1、x2、x...

2020-06-18 20:13:01 74582 6

原创 正则表达式 Regex

1. 简介 Regex(Regular expressions),描述了一种字符串匹配的模式(pattern),可以用来检查一个字符串是否包含某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。2. 语法基本的 符号 说明 例子 | 选择,即或集 gray|grey 可以匹配 grey 或 gray + 前边的字...

2020-06-06 16:50:26 830

原创 linux 设备树学习

设备树是什么1.1 帮助文件1.2 后缀1.3 单独编译设备树2. 语法2.1.1 chosen 节点2.1.2 aliases 节点2.1.3 memory 节点2.2 通用属性2.2.1 compatible 属性2.2.2 interrupts 属性2.2.3 ranges 属性2.2.4 合并原则3. 设备树(DTB)的组成3.1 头3.2 结构块3.3 字符串块3.4 memory reserve map4. 设备树相关过程4.1 旧方式和新方式的比较4.2 内核获取设备树中信息的过程5. 设备树

2020-05-19 20:48:20 1404

原创 JAVA 环境规范安装

1. 简介 本篇文章的目的是规范Ubuntu环境下安装JAVA的规范操作。2. 操作安装 java 11 :https://www.oracle.com/technetwork/java/javase/overview/index.html将下载下来的压缩包放到 /opt 下边,解压> sudo tar -xvf jdk-11.0.6_...

2020-04-29 19:52:08 398

原创 linux中打开内核的动态调试

1. 简介在调试linux的驱动的时候,会遇到dev_dbg (“xxx”); ,如何让他显示出来,是本片文章的重点目的。2. 分析dev_dbg 的源码#if defined(CONFIG_DYNAMIC_DEBUG)#define dev_dbg(dev, format, ...) \do { \ dynamic_dev_dbg(...

2020-04-28 20:24:02 2033

原创 usb gadget 串口(serial)的配置和使用

1. 简介 本篇文章主要是配置内核并使用 usb 的 gadget 的串口,即将带有usb口的linux平台,虚拟成一个串口设备。包括内核配置,加载和使用方法。最终在linux平台上会在创建出一个 /dev/ttyGS*节点。2. 具体操作首先保证平台设备树中的相应的usb口的配置是slave模式,可以是 peripheral模式,或者 otg。例子如下:us...

2020-04-16 19:35:50 6445 6

原创 linux下应用程序检测usb口热插拔事件

1. 简介usb口的检测在linux中可以通过mdev/udev热插拔机制来检测,相应的,我们只需要更改配置文件中规则即可,但是实际中,有的时候应用程序就是需要知道事件发生了,并做一些动作,该如何做呢?使用 netlink 的方式。2. 程序/* Kernel Netlink */int CUSBListener_initSock(){ const int buff...

2020-03-31 17:41:33 3237

原创 usb gadget printer驱动分析

1. 简介Gadget 英文是小物件,小装置Gadget 框架提供了一套标准API,USB设备控制器(USB Device Controller,UDC)驱动实现这一套API。Gadget 是实现的 USB Device,一般普通的 Gadget 驱动只实现一个功能。2. 驱动核心分析printer_func_setup 处理底层驱动不能处理的 EP0 请求。即响应 us...

2020-03-10 14:53:16 1091 1

原创 移植 ssh

1. 简介 ssh是远程登陆的一种,在服务器端开启sshd,远程就可以通过ssh协议登陆服务器。同ssh一起的自带sftp子线程,可以实现文件的传送。ssh 同 telnet 相比,是一种加密传输,相对安全。2. 移植2.1编译zlib./configure --prefix=/home/ohehe/wor_lip/porting/ssh/install/zlib ...

2020-03-09 10:18:15 747

原创 命令行更改linux时区

1. 要点主要涉及工具 tzselect、timedatectl。涉及文件/etc/localtime,这是一个软连接文件。tzselect 只是帮我们把选择的时区显示出来,并不会实际生效,他仅仅告诉我们怎么样去设置环境变量TZ,如果想要永久更改时区,按tzselect命令提示信息,在.profile或者 /etc/profile 中设置正确的 TZ 环境变量并导出。timeda...

2020-02-04 17:45:27 3386

原创 测试存储设备读写速度

1. 简介当我们拿到一个硬盘时,我们需要首先掌握他的性能,在windows下找专门的图形化的工具进行,这篇文章主要讲解在linux环境下如何测试硬盘的读写速度。2. dd命令2.1 dd简介dd -- 转换(根据操作符)并拷贝一个文件在指定块大小的时候,后边会跟特殊字符来表示单位,分别如下:b = 512 c = 1 k = 1024 w = 22.2 ...

2020-01-20 17:33:25 1381

原创 System V 的 IPC -- 线程通信机制

一、IPC (Inter-Process Communication): --中文翻译是线程间的通信消息队列 共享内存(效率最高) 信号灯集二、客户端命令:ipcs:--用来查看system V的IPC机制标识符的命令 -q,显示当前系统中 消息队列 的使用 -m,显示当前系统中 共享内存 的使用 -s, ...

2020-01-20 15:54:58 1731

原创 硬盘和内存的速度

1. 简介随着电子技术的发展,内存和硬盘的速度都在提高,但同时,旧技术因为应用场景依然存在,速度上有个大致的理解上有必要的。2. 内存的速度3. 存储介质的速度 操作平台 读 写 NVME PCIE SSD(gen3 4x) 2.1 GB/s 1.2 G...

2020-01-15 15:24:24 1971

原创 示波器测量i2c信号实例

1. 配置示波器将两个表笔接触 SCL、SDA 触点,确认表笔都接触上的标志是两个表笔都是高电平。 将trigger MENU中的 【触发方式】 设置成边沿触发,【信源】 选择SDA表笔,【边沿类型】 设置成下降沿,【触发MODE】 先变成auto, 将触发点设置到偏向屏幕的左侧,以便能看到更多的波形。 SCL比SDA稍微靠上一点,容易分析。 发出信号,先整体观察下整体波形。 【触发...

2019-10-28 20:28:39 13320 1

原创 Android编译命令m、mm、mmm、mma、mmma的介绍

1. 命令介绍m --makes from the top of the tree 编译整个android源码mm --builds all of the moudles in the current directory 编译当前目录下的模块,当前目录下需要有Android.mk这个makefile文件,否则就往上找最近的Android.mk文件。...

2019-10-24 19:36:47 3557

原创 解决 android adb 不能自动补全的问题

1. 使用adb 的必要性: android 命令行有两种方式adb、串口。但是当我们在串口上调试时,经常会打印一些 selinux 的权限的一些信息,又是会严重影响到打印的输出结果。adb 的调试可以用usb的调试口,也可以用网口,调试方便,打印简洁,因此,adb调试android很有必要。2. 问题: 当我在windows下的power shell中键入...

2019-10-08 12:40:10 2389

原创 Ubuntu 中 挂载一块新的硬盘

1. 简介Ubuntu电脑上的硬盘空间不够了,在网上查照看机械硬盘的行情,7200转的2TB的机械硬盘才370左右,还是挺便宜的,遂赶紧下了个单。这篇文章便是将这2TB的硬盘使用起来的思考和过程。2. 正文1) 安装gparted,图形化的硬盘管理工具> sudo apt install gparted2) 初始化硬盘看看电脑有没有是别硬盘> sudo f...

2019-09-09 17:06:13 1174

原创 gitlab 局域网使用 安装

1. 简介: 最近新项目中考虑重新安装 gitlab,参考我之前的文章,操作过程中,发现由于时间的推移,gitlab安装方法已经简化了不少,这篇文章主要讲解的就是最新的安装方法。 gitlab 优点:支持类似于github那样强大而又简单的UI交互型操作 支持安装包部署在自己服务器上,安全、开源、并且免费 支持邮件服务 支持分支保护(权限机制)等等gitlab有 g...

2019-08-07 15:14:05 2313

原创 linux虚拟网络驱动

1. 简介本文章主要实现一个在linux3.4.xxx下的虚拟网卡,并在虚拟网卡中实现 ping 的命令。网络部分的逻辑分层图如下:2. 实现简单的虚拟网卡的第一步virt_net.c 文件/* * 参考 drivers\net\cs89x0.c */#include <linux/module.h>#include <linux/er...

2019-07-11 19:32:29 752

原创 Norflash 驱动

对jz2440上norflash的情况需要先查看之前uboot中norflash的介绍:https://blog.csdn.net/qqliyunpeng/article/details/511345671. norflash 接口norflash 存储器接口有两个标准:CFI和JEDEC。CFI为公共Flash接口(Common Flash Interface),程序从Flas...

2019-07-01 13:46:41 638

原创 Nandflash 驱动

1. 基本知识jz2440 中使用的nandflash的型号是 K9F2G08U0M图中可以看到这个nandflash的结构是:1页 = (2k + 64) 字节1块 = 64个页 = ( 2k + 64) x 64 = 128k + 4k 字节1个设备 = 2048个块 = ...对于某个字节的访问,地址的组成如上图,是分5个周期发送的,其中 Column是列,R...

2019-06-18 18:33:37 1526

原创 移植 mtd_util

1. 简介在使用 flash_eraseall 命令时可能没有,如果你是用的busybox自己定制文件系统,只需要在配置busybox中时按自己需要将nandflash相关工具选择上,重新编译制作。Miscellaneous Utilities --->[*] nandwrite[*] nanddump[*] flash_eraseall但还是有一些情况需要我们自己移...

2019-06-18 17:40:03 572

原创 移植 ethtool 工具到开发板

1. 下载源码> git clone git://git.kernel.org/pub/scm/network/ethtool/ethtool.git2. 生成配置用的文件> ./autogen.sh3. 配置> ./configure --prefix=/home/..../sqlite-autoconf-3230100/install --host=arm-linu...

2019-06-16 11:48:32 1281 1

原创 实现自己的小的OS

1. 介绍:实现了一款在MCU(LPC1768)中运行的OS,此OS实现了硬实时和软实时。硬实时:当tick到时时立即执行,此任务一定要是短小的,运行时间不能超过tick间隔时间。软实时:当tick到时时把可以执行的标志设置,程序什么时候执行,在主循环中决定,主循环中会做一些其他的事情。2. 实现概要:1)基本结构定义一个 任务结构体typedef struct...

2019-06-11 12:36:23 333 1

原创 malloc原理学习:隐式空闲链表

1. 堆在内存中的位置:两张图可以看出,堆所在的位置是在bss段后边,生长也是向上生长的。2. 隐式空闲链表的方式简介:这是种简单方法,但是因为块分配和堆块的总数呈线性关系,所以对于通用的分配器,隐式空闲链表是不合适的。也就是说对于堆块数量预先就知道很小的特殊的分配器是可用的。。隐式空闲链表有个恒定的形式:3. 代码实现:1)初始化和基本的宏cod...

2019-06-10 23:09:06 4802 2

原创 hotplug_uevent 机制

1. kobj、kset 分析: http://www.wowotech.net/device_model/421.html2. uevent 设备模型: http://www.wowotech.net/device_model/uevent.html3. 分析 linux3.4.xxx 内核中设备节点的创建过程:在linux3.4.xxx中,lin...

2019-05-31 16:42:06 271

原创 DMA 驱动:简单实例

1. 简介:1)dma 直接内存访问。2)DMA控制器操作的内存区域要求是物理地址连续的,因此需要使用内核中提供的特定函数进行内存申请。3)把源地址和目的地址告诉芯片内部相关寄存器,根据 DMA 中断是不是发生来判断是不是操作完。char *src = dma_alloc_writecombine(NULL, BUF_SIZE, &src_phys, GFP_KERNEL)...

2019-05-26 22:49:51 4535

原创 LCD 驱动:基础

一、 简介:要使一块LCD正常的显示文字或图像,不仅需要LCD驱动器,而且还需要相应的LCD控制器。在通常情况下,生产厂商把LCD驱动器会以COF/COG的形式与LCD玻璃基板制作在一起,而LCD控制器则是由外部的电路来实现,现在很多的MCU内部都集成了LCD控制器,如S3C2410/2440等。通过LCD控制器就可以产生LCD驱动器所需要的控制信号来控制STN/TFT屏了。二、需要知...

2019-05-24 23:03:11 1498

原创 输入子系统

又叫做 input 子系统一. 简介:输入子系统主要涉及到比如键盘上的按键,鼠标的按键,滚轮等的事件,在linux内核中相应部分叫做输入子系统,按照子系统的规则,可以复用内核中代码,很简单的实现开发板上的按键实现鼠标的左键,键盘上的按键等的动作。 Linux之输入子系统分析(详解)总结:1. 注册输入子系统,进入input_init():创建主设备号为1...

2019-05-11 09:40:34 249

原创 led 驱动: 心跳灯

1. 简介:初次体验灯的跳动方式是 间隔 0.5s 和 1s 后都亮一下(刚开始的理解总是浅显的。。。)内核中 make menuconfig 中需要配置上 CONFIG_LEDS_TRIGGER_HEARTBEAT代码主要涉及到的文件:driver/leds/下的led-triggers.c // 对外提供函数Ledtrig-heartbeat.c //实现心跳灯...

2019-05-04 22:08:55 2405

原创 i2c 驱动:实例化设备

目录简介具体内容==1. 根据 bus 号声明 i2c 的设备们====2. 明确的实例化一个设备:====3. Probe一个针对于每一个设备的 i2c bus====4. 从用户空间实例化==简介这篇文章是针对 Documentation/i2c/instantiating-devices 的解释,部分增加自己的理解。为什么要将它解释下呢?因为他很好的说明了 linux3.4.xxx 内核...

2019-04-28 23:51:34 758

原创 按键驱动

1. 思路分析:模块入口函数中:定时器初始化,添加到时后执行的函数,添加进内核。申请设备号。创建设备类,添加设备节点。内存映射 – ioremap在 struct file_operation 结构体中实现 open、read、release、poll、fasync方法全局变量中定义互斥体open函数中判断打开的方式中是不是 O_NONBLOCK 非阻塞方式打开,如果是非...

2019-04-23 18:33:46 1977 3

原创 led 驱动

1. 程序思路:通过ioctrl 来将应用程序的命令传递到驱动中的 struct file_operation 中的 unlocked_ioctl 方法中,判断命令进行相应的操作。在通用的头文件中定义ioctrl的命令#define LED_ON _IO('l',1)#define LED_OFF _IO('l',2)我们想在应用程序中这样来操作ledint main(int ar...

2019-04-23 18:16:53 520

原创 STM32 HardFault_Handler 处理方法分析

1. 简介:STM32出现硬件错误会进入可能引起的原因:(1)数组越界操作;(2)内存溢出,访问越界;(3)堆栈溢出,程序跑飞;(4)中断处理错误;2. 问题定位的方法:简单的方法:在你肯定程序出错到了 HardFault_Handler 处,可以在 HardFault_Handler 函数中设置断点,在调试流程里打开 view->call stack window 窗...

2019-04-22 17:26:15 9778

原创 ftp数据流分析

1. 简介项目中有一个在stm32中移植ftp的功能,在网上找到了一个开源的 lwip_ftpd_master 的代码,文件系统是fatfs。ftp使用的是tcp协议,通过21端口建立连接,客户端通过这个端口发送命令给服务器,服务器根据发送来的命令进行相应的操作。ftp涉及到两种模式,一种是主动模式(PORT命令)、一种是被动模式(PASV命令)。2. 具体(passive模式)1. ...

2019-01-28 17:36:56 1569

原创 qt中的快捷键总结

1.快捷键①ctrl开头Ctrl+f: 在当前编辑窗口查询关键字 Ctrl+Shift+f: 全局查找 Ctrl+/: 注释当前行,如果选中多行,注释多行 Ctrl+i: 将选中的代码块格式化 Ctrl+b: 编译项目 Ctrl+r: 编译并运行项目 Ctrl+Shift+v: 剪切板历史列表 Ctrl+Tab: 在打开的文件间切换②Alt开头Alt+←: 后退 Al...

2018-12-21 10:19:49 1392

原创 嵌入式 arm 中抓包:tcpdump移植

1. 简介 在网络编程中经常设计到网络数据的抓取,在linux和windows下有好用的wireshark,在arm中有tcpdump,tcpdump通过生成数据包的文件,通过ftp下载到windows或者linux下,再采用wireshark打开文件进行分析。这便是这篇文章要介绍的。2. 移植2.1 在编译环境中安装libpcaplibpcap 的源码在 tcpdump官网...

2018-08-02 21:49:23 5057

iar user guide

iar 软件的环境介绍。

2016-12-24

freertos9.0 API

freertos9.0的api函数

2016-12-18

notepad 的 astyle

使用方法请查看 http://blog.csdn.net/qqliyunpeng/article/details/46515983

2016-11-30

vim配置文件

在学校期间的较好的vim配置文件,里边包括智能补全。

2016-01-26

source insight中较好的配色和配置2

自己使用的,配色方案比较好的,第二种改正部分配色的方案。

2015-06-12

source insight中文字的配色方案

是自己用的source insight中字体的颜色和大小比较好的方案。

2015-05-22

SoutceInsight中的宏文件

比较详细的记录了source insight中宏文件,具体的看一下我的博客的后半部分http://blog.csdn.net/qqliyunpeng/article/details/45136127

2015-04-25

空空如也

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

TA关注的人

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