自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Clearfix_Xia

春有百花秋有月,夏有凉风冬有雪。若无闲事挂心头,便是人间好时节。

  • 博客(134)
  • 资源 (2)
  • 收藏
  • 关注

原创 文件解压缩与DDR、CPU的关系

解压缩的全过程是 文件由硬盘读入内存,如果文件极大,那么消耗内存就很明显; cpu进行解压缩,cpu使用率取决于压缩比,压缩比越高,cpu消耗越大,仅仅是打包的压缩文件基本不消耗cpu; 解压的文件先写入内存; 由内存将文件写入硬盘。 第一步和第三步都要消耗内存,文件越大越明显,因为cpu不直接跟硬盘交互,必须先读入或者写入内存,第二步消耗cpu,压缩比越大,消耗越明显。Mei 2021/5/10...

2021-05-10 11:23:35 1291

原创 Linux C - 获取shell命令返回结果 & 对结果应用场景的处理

一、获取shell命令返回结果1. 方法一 :使用临时文件 在Linux C中,执行shell命令,使用函数system;例如:system("ls -l");## 举一个获取button gpio value的例子 ##int get_button(){ FILE *fp; int button = 1; char buf[512]; system("cat /sys/class/gpio/gpio34/value > /tmp/button_...

2021-03-05 14:20:50 1560 2

转载 [转载]实时抓取移动设备上的通信包(ADVsock2pipe+Wireshark+nc+tcpdump)

目前移动设备上的应用的通信分析,HTTP层数据包可以使用web代理工具进行抓包改包,而底层的数据包要实时并可视化的分析(非实时的可以在设备上安装tcpdump抓包),除了用移动设备去连接PC提供的共享网络进行抓包外(《mobile app 通信分析方法小议》),还有一种新的方法,这种方法其实早就存在,主要是我wireshark太不熟悉了,误以为它只能通过网络接口(网卡啥的)抓包,实在太丢脸了。下面要介绍的方法的核心原理,就是开辟一条PC与移动设备的通信管道,然后在PC上,让wireshark基于管道(P

2021-02-18 17:23:00 580

原创 linux命令:awk & sed 提取特定行和特定列

root@OpenWrt:/# cat proc/partitions | grep "mmcblk0"179 0 3866624 mmcblk0179 1 4574 mmcblk0p1179 2 21250 mmcblk0p2179 3 4096 mmcblk0p3179 4 131072 mmcblk0p4179 32 512 mmcbl...

2021-02-04 11:14:17 8275

转载 WIFI知识 - MCS简介

MCS简介802.11n 射频速率的配置通过 MCS ( Modulation and Coding Scheme ,调制与编码策略)索引值实现。 MCS 调制编码表是 802.11n 为表征 WLAN 的通讯速率而提出的一种表示形式。 MCS 将所关注的影响通讯速率的因素作为表的列,将 MCS 索引作为行,形成一张速率表。所以,每一个 MCS 索引其实对应了一组参数下的物理传输速率, 表1-4 和 表1-5 分别列举了带宽为 20MHz 和带宽为 40MHz 的 MCS 速率表(全部速率的描述可参见“

2020-11-06 10:09:43 27969

原创 一维数组与二维数组的访问方式

一维数组访问方式一维数组中 a[i] 中的 a 代表了本数组的首地址,相当于 &a[0]。因此 *a 就等于 a[0]。那么对 a 加 1,就可以访问下一位:*(a+1) 就等于 a[1]。访问一维数组首地址:a = &a[0];访问一维数组的元素:a[i] = *(a+i);输出一维数组:puts(a); //a为字符串首地址二维数组访问方式假设有 a[2][2] 这样一个二维数组,可以这么理解它:a 由 a[0],a[1],a[2] 构成,而 ...

2020-10-28 15:09:29 2272

转载 SPI 总线

SPI总线 - 书面讲述  MOTOROLA公司的SPI总线的基本信号线为3根传输线,即SI、SO、SCK。传输的速率由时钟信号SCK决定,SI为数据输入、SO为数据输出。采用SPI总线的系统如图8-27所示,它包含了一个主片和多个从片,主片通过发出片选信号-CS来控制对哪个从片进行通信,当某个从片的-CS信号有效时,能通过SI接收指令、数据,并通过SO发回数据。而未被选中的从片的SO端处于高阻状态。...

2020-09-08 13:55:30 660

转载 数字信号处理基础知识 - 模拟信号与数字信号的区别

模拟信号和数字信号一个是波形,一个是数字;一个是高低电平,一个是01010;一个是连贯的,一个是断开的;一个是自然的,一个是人工的。模拟信号是将源信号的一些特征未经编码直接通过载波的方式发出,是连续的 数字信号则是通过数学方法对原有信号进行处理,编码成二进制信号后,再通过载波的方式发送编码后的数字流,是离散的 设计一个“游戏” 考虑要通过手电筒的灯光来实现一定距离内两个人的信息传递 假定要传递的信息是英文模拟信号: 将26个字母对应26种不同的颜色 要传递时用.

2020-08-31 11:37:54 872

原创 Uart - 学习博文汇总

1.Uart详解 详细讲述了UART的硬件链接和软件通信协议(1 bit Start + 8 bit Data + 无奇偶检验位 + 1bit 停止位)2.串行通信(com口、uart口)电平转换整理总结PC中的串口称为com口,嵌入式中的串口称为UART口 。如果想利用电脑对嵌入式系统进行调试,势必需要用到com口与uart口的电平转换。文章中主要讲述了RS232电平&TTL电平、USB电平&TTL电平之前的转换。3.MAX232和PL2303、CH340的区别..

2020-07-21 18:56:38 133

转载 示波器分析i2c读写时序图

转载自:https://blog.csdn.net/txf1984/article/details/46812091本篇博客借助示波器对2c读写时序分析的很详细,图文并茂。对于嵌入式开发的朋友来说,I2C协议实在是再熟悉不过了,有太多的器件,采用的都是通过I2C来进行相应的设置。今天,我们就随便聊聊这个I2C协议。I2C协议中最重要的一点是I2C地址。这个地址有7位和10位两种形式。7位能够表示127个地址,而在实际使用中基本上不会挂载如此多的设置,所以很多设备的地址都采用7位,所以本文接.

2020-06-08 15:47:55 6050 1

原创 ping - 参考知识合集

#1.全面详细讲述ping的原理、幕后过程、应用以及ping结果分析ping命令全解析(语法、过程、结果分析、网络故障诊断)#2.讲述ICMP协议、ping命令以及ICMP与ping的关系[网络层] ICMP协议以及ping命令#3.ping是程序,运行在应用层;ICMP是协议,运行在网络层ping运行在OSI第几层...

2020-05-31 11:05:00 440

原创 Repo下载使用记录

#1. 安装Git# ubuntu系统直接使用sudo apt-get install git-core就能完成安装。# 安装完成之后可以顺便配置一下个人信息: git config --global user.email "[email protected]" git config --global user.name "Your Name"#2. 设置环境变量...

2020-05-03 10:27:05 1458

原创 君子

君子,德才兼备,文质彬彬,有所为有所不为,达则兼济天下,穷则独善其身。#1.君子之德君子追求的目标是仁义。追求仁义,需要知,亦需要勇。孔子将仁、知、勇当作君子之德。孔子曰:“君子道者三,我无能焉:仁者不忧,知者不惑,勇者不惧”。#1.1 仁何谓仁,樊迟问仁,子曰:‘爱人’。#1.2 知何谓知?樊迟问知,孔子曰:“务民之义,敬鬼神而远之,可谓知矣。”问知,...

2020-05-02 10:13:24 300

原创 some funny website - ヾ(*´▽‘*)ノ

#1.颜文字表情 -✧ (≖ ‿ ≖)✧http://www.hehuan.co/single/4.html#2.颠倒文字 -ʇxǝʇ uʍop ǝpᴉsdnhttps://beautifuldingbats.com/upside-down-text-generator/

2020-04-26 10:32:52 324

原创 嵌入式编程知识2 - 在应用层对NAND FLASH进行操作

前言:对与NandFlash等块设备的访问操作,mtd-utils工具集中提供了非常好的支持(可以到http://www.linux-mtd.infradead.org/进行了解),要使用mtd-utils工具集首先需要搞到mtd-utils的源码,并且使用目标设备上的交叉工具编译链进行编译。关于mtd-utils工具的使用可以参考:http://www.cnblogs.com/pengdo...

2020-04-26 10:06:11 1321 1

转载 linux常用头文件

#include <linux/***.h> 是在linux-2.6.29/include/linux下面寻找源文件。#include <asm/***.h> 是在linux-2.6.29/arch/arm/include/asm下面寻找源文件。#include <mach/***.h> 是在linux-2.6.29/arch/arm/mach-s3c241...

2020-04-25 19:35:13 284

原创 嵌入式程序知识 1- uboot & kernel下操作CPU寄存器的区别(writel/readl/ioremap)

#1.在uboot中操作CPU寄存器#include <asm/io.h> reg = readl(PHY_ADDR); reg &= ~IOMUXC_REG_GPR1_ACTCS0_MASK; writel(reg, PHY_ADDR);其中PHY_ADDR是物理地址,跟踪代码发现writel操作如下:#define writel(v,a) __arch...

2020-04-25 18:39:07 1616 2

原创 shell脚本中$!、$@、$#、$$、$0、$1、$2、$*的含义

一、shell脚本中$!、$@、$#、$$、$0、$1、$2、$*的含义$! :Shell最后运行的后台Process的PID(后台运行的最后一个进程的进程ID号)$#:添加到shell当中参数的个数$$:Shell本身的PID(ProcessID,即脚本运行的当前进程ID号)$0:脚本本身的文件名$1:传到Shell当中的第一个参数$2:传到Shell当中的第二个参数...

2020-01-15 09:40:11 9455

转载 频率、波长、传输距离、传输速率之间的关系

一、波长越长,穿透能力越强;波长越短,贯穿能力越强;是的,要区分穿透和贯穿这两个概念。波长越长,绕射的能力越强,例如无限电波可以绕过高楼大厦传播、红灯的灯光比绿光和黄光更能穿透雾霭传播到远处以提醒司机;波长越短,波的能量越大,贯穿能力越强,例如X光可贯穿皮肤、骨骼,紫外线能杀死细菌、强的紫外线能引起皮肤癌、穿越电离层等;根据:波速=波长*频率(频率和波长成反比例关系),则:频率...

2020-01-07 15:28:37 24918

原创 嵌入式系统上电,程序的运行过程

一、嵌入式系统上电,程序在CPU、Flash、DDR中的运行过程CPU总线接口图首先,程序以机器码的形式,即二进制码的形式存在FLASH中;上电后,CPU通过控制器将待运行的程序从FLASH中读入内存中;代码在内存中运行时,控制器将需要计算的数据存入寄存器中;运算器从寄存器中读取数据进行运算,并将结果存入寄存器中;控制器将寄存器中的结果读入内存中;由此,形成一个...

2020-01-03 16:48:59 4487

转载 4B/5B编码

一、什么是4B/5B编码? 4B/5B编码是百兆以太网(即快速以太网)中线路层编码类型之一,就是用5bit的二进制数来表示4bit二进制数。二、为什么要进行4B/5B编码? 在通信网络中,接收端需要从接收数据中恢复时钟信息来保证同步,这就需要线路中所传输的二进制码流有足够多的跳变,即不能有过多连续的高电平或低电平,否则无法提取时钟信息。 Man...

2019-12-31 14:52:52 7573

原创 MAC和PHY基本组成与工作原理简析

一、网口的基本结构如图是网络接口结构简图。网口由CPU、MAC和PHY三部分组成.DMA控制器通常属于CPU的一部分,用虚线放在这里是为了表示DMA控制器可能会参与到网口数据传输中。对于上述的三部分,并不一定都是独立的芯片,根据组合形式,可分为下列几种类型:CPU集成MAC与PHY; CPU集成MAC,PHY采用独立芯片; CPU不集成MAC与PHY,MAC与PHY采用集成芯片...

2019-12-31 09:21:02 15373 1

转载 网卡的基本模块和工作原理

1.网卡的基本结构网卡包含7个功能模块,分别是CU(Control Unit,控制单元)、OB(Output Buffer,输出缓存)、IB(Input Buffer,输入缓存)、LC(Line Coder,线路编码器)、LD(Line Decoder,线路解码器)、TX(Transmitter,发射器)、RX(Receiver,接收器)。2.网卡信息的发送2.1 计算机的应...

2019-12-29 14:41:48 2034

原创 关于load bootloader时出现'Uncorrectable ECC Error'的问题

问题描述:u-boot> nand write 0x10000000 0 ${filesize}NAND write: device 0 offset 0x0, size 0x1e25c8Skip bad block 0x00120000Uncorrectable ECC Error: intr 0x70, addr=0x200000, blk=16,Uncorrectable...

2019-11-12 15:07:32 3604

原创 杀死一个进程的shell脚本

#!/bin/shNAME=$1echo $NAMEID=`ps -ef | grep "$NAME" | grep -v "$0" | grep -v "grep" | awk '{print $1}'`echo $IDecho "---------------"for id in $IDdokill -9 $idecho "killed $id"doneecho "-...

2019-11-12 10:40:53 539

原创 验证一个进程是否起来,没有重启的shell脚本

#!/bin/sh#buttonps -fe|grep "button" |grep -v grepif [ $? -ne 0 ]thenecho "Create button process..." button &else echo "button process has already running."fi

2019-11-12 10:36:18 173

原创 关于ONFI读取数据相关问题解决

问题描述:在本周的工作中,遇到一个问题,有一片板子Load current OS image failure。通过波形测试发现,是系统在读flash ONFI data(第80个byte)时发现有1bit error后,就停止了运行。 思考:根据flash datasheet可知,flash芯片兼容ONFI 1.0标准;而根据ONFI 1.0标准,在Read Paramete...

2019-11-12 10:23:33 713 1

转载 Linux shell字符串截取与拼接(转)

前言:之前的练习中涉及到了Linux shell脚本中的字符串操作,在网上看到这篇文章,分享给大家。一、 Linux 的字符串截取的八种方法假设有变量var=http://www.linuxidc.com/123.htm1 # 号截取,删除左边字符,保留右边字符。echo ${var#*//}其中 var 是变量名,# 号是运算符,*//表示从左边开始删除第...

2019-09-23 09:26:58 1059

原创 关于isl28022电源芯片的校准寄存器的配置问题

1.isl28022校准值的计算过程根据芯片手册:(1)Calculate the full-scale current range第一步计算全量程的电流范围,由EQ.2 = 320mv(最大电压量程) / 0.01(硬件电路上的采样电阻) = 32APs:320mv这个值根据实际项目的修改(2)Calculate the current LSB第二步计算cur...

2019-08-20 14:45:21 949

原创 Linuc C下利用sscanf()函数和sprintf()函数实现字符串的转换

一、函数的功能举例:0xff800500 : 0xfffff437函数的功能:有上面这么一个字符串,现将0xfffff437取出来,将其转换为16进制数进行位操作后,再转换为字符串。在接下来的函数实现中,我们将能够见证Linux C下sprintf()函数和sscanf()函数的强大。二、函数的实现就以上面的举例来实现:#include <stdio....

2019-08-14 15:14:09 465

转载 Linux C字符串函数sprintf()详解

一、sprintf() 函数详解在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于 sprintf 跟 printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致 sprintf 比 printf 有用得多。所以本文着重介绍 sprintf,有时也穿插着用用 pritnf。sprintf是个变参函数,定...

2019-08-14 12:02:56 2196

转载 Linux启动脚本rcS

1. 写在前面Linux系统作为一个高级系统,其调度机理、调度链路非常复杂,仅仅是初启动阶段就非常复杂。如果要深究Linux系统的启动服务,需要理解Linux系统原理、文件管理、脚本链接等。但,如果是作为初学者,以“使用”为目的时,比如“期望在系统启动的时候自动执行指定程序”,则只需知道如何配置启动脚本即可。正比如,学开车,一开始并不需要知道发动机是如何工作的,会操控即可。2. 启动...

2019-08-12 16:02:04 1726

原创 busybox初探

一、busybox是什么?(1)busybox是Linux上的一个应用程序(application)。 (2)它整合了许多Linux上常用的工具和命, 如rm, ls, gzip, tftp等。对于这些工具和命令,busybox中的实现可能不是最全的,但却是最常用的,因此它的特点就是短小精悍,特别适合对尺寸很敏感的嵌入式系统。(3)busybox的官方网站是...

2019-08-09 15:26:14 1440

转载 二十几岁的我们

今天学习busybox的时候,偶遇这些文字,想来也是缘分!现记录于此,以给未来的人生一些指导。一、别急,千万别急上周在南京出差,深夜拖着疲惫去跟朋友见面,畅谈至凌晨两点。回到酒店已近三点,同屋的同事竟还未睡,点根烟,对着65层下的旧都夜景发呆。他非健谈之人,光头,一副艺术家模样,气质有天然的冷漠,之前交往无非公事,更无多话。不知道怎么提到了当今青年人的心态和选择,竟就聊起来,再...

2019-08-08 19:46:42 1070

原创 2017.09版uboot启动过程分析

2017.9版本uboot启动至命令行几个重要函数为:_start,_main,board_init_f,relocate_code,board_init_r。一 、程序的入口:_start对于任何程序,入口函数是在链接时决定的,uboot的入口是由链接脚本决定的。uboot下armv7链接脚本默认目录为u-boot-2017.09\arch\arm\cpu\u-boot.lds。...

2019-08-07 16:44:49 920

原创 关于virtualbox下Ubuntu系统无法使用apt-get install XXX命令的问题解决

今天在virtualbox下的ubuntu 16.04系统准备安装ssh的时候,发现每次使用"sudo apt-get install openssh-server"命令它都会提示"not fetch xxxx"。之后试了"apt-get install vim"发现也不行。百度问题了好久,换了/etc/apt/source.list里面的源,改了DNS地址,发现问题还是无法解决。...

2019-08-01 17:08:55 1897

原创 正则表达式简单小练

test.txthe is arathe is in a rutthe food is RottenI like root beer 以下的命令都会针对test.txt进行。 1.匹配一个r接着任何一个字符再接着一个t的所有字符串(正则表达式对大小写敏感,故最后结果中不会出现R.t的)grep r.t test.txt 2.匹配R和...

2019-07-17 18:55:24 108

转载 UBOOT引导Linux内核及向内核传递参数的方式

一直以来没有想过有什么好的办法通过寄存器向内核传递参数,直到今天读UBOOT的实现方式。  在UBOOT中,引导内核最常用的方法是bootm命令,bootm命令可以引导“UBOOT格式”的内核。先花点时间了解一下什么是“UBOOT格式”的内核吧:用UBOOT自带的mkimage命令生成的内核称为"UBOOT"格式的内核。以下面这条命令为例:mkimage -n "Kernel ...

2019-07-14 10:59:11 642

原创 uboot目录结构

1.在学习uboot之前,我们需要知道到底什么是uboot? Universal Boot Loader,普遍的引导程序。是非常常用的一个引导程序,可作为主流系统的引导程序,如OpenBSD, NetBSD, FreeBSD,4.4BSD, Linux, SVR4, Esix, Solaris等等,当然同时也支持多种常见的cpu处理器,如MIPS、 x86、ARM、NIOS、XScale等。...

2019-07-11 19:39:39 1082

原创 C语言基础知识点复习

C语言中的数据类型大小和取值范围 C语言中结构体和联合体的区别 大端字节和小端字节一、C语言中的数据类型大小和取值范围 C语言中的数据类型通常有short、int、long、float、double、char六种类型。在32位的CPU中,各个数据类型所占的字节数分别为2,4,4,4,8,1。 1.C语言中常用各数据类型及其取值范围 ...

2019-07-09 16:39:53 1783

基于st02工艺库绘制的JK触发器原理图以及版图

本资源是利用的华润上华0.5um的st02工艺库,利用st02和analoglib库设计出了JK触发器的原理图,再利用st02中的版图单元绘制出了JK触发器的版图,并最终通过了DRC和LVS验证。

2019-04-22

基于st02工艺库绘制的反相器原理图以及版图

本资源是基于st02工艺库绘制的反相器的原理图和版图。其中,原理图已经通过了仿真验证,版图在DRC以及LVS后也没有错误。资源适合刚刚入门Cadence版图设计与仿真的同学研究与参考。

2019-04-22

空空如也

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

TA关注的人

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