自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

转载 电容在电路中的作用

电容器在电子电路中几乎是不可缺少的储能元件,它具有隔断直流、连通交流、阻止低频的特性。广泛应用在耦合、隔直、旁路、滤波、调谐、能量转换和自动控制等电路中。熟悉电容器在不同电路中的名称意义,有助于我们读懂电子电路图。 1.滤波电容 它接在直流电源的正、负极之间,以滤除直流电源中不需要的交流成分,使直流电平滑。一般常采用大容量的电解电容器,也可以在电路中同时并接其他类型的小容量电容以滤除高频交...

2018-06-26 14:38:55 588

原创 Lispbox操作指南

我是lisp新手,写这个步骤是希望和我一样的lisp小白,节省点时间去倒腾这个编译环境。我自己就浪费了近两个小时才明白。 操作步骤: ①打开编译环境 利用快捷键 Ctrl-c Ctrl-f 建立一个新的lisp源文件 ②在这个编译缓冲区内编写代码 ③在调试之前需要先编译Ctrl-c Ctrl-c ④Ctrl-c Ctrl-z 会打开一个关联到这个lisp文件的repl进程(也可以省...

2018-06-07 09:53:47 1163

原创 C 提高之变量和指针

变量和指针 定义一个变量int num = 0x64; 变量的三要素:变量的类型 int 变量的名num 和变量的值0x64 程序清单 输出变量的地址和变量的值#include<stdio.h>int main(int argc,char*argv[]){ int iNum = 0x64; printf("%x,%x\n",&iNum,iNum); return 0

2017-06-04 22:08:17 224

原创 C提高(1)

main函数可以在栈分配空间/可以再堆里分配空间,全全局区分配内存 铁律:指针是一种数据类型 在指针声明时,*号表示所声明的变量为指针 在指针使用时,*表示操作指针所指向的内存空间的值 *p相当于通过地址找到一块内存;然后操作内存 *p放在等号的左边赋值(给内存赋值) int a = 10; int *p3 = NULL; P3 = &a; *p3 = 2

2017-06-04 21:11:50 250

原创 按键查询法驱动程序分析

程序分析/*目的 按键驱动 查询方式①写出框架 第一步*/ static struct file_operations sencod_drv_fops = { .owner = THIS_MODULE, /* 这是一个宏,推向编译模块时自动创建的__this_module变量 */ .open

2017-04-05 14:08:35 498

原创 设备驱动程序框架分析——(以点灯为例)

框架分析如下/*①写出led_open() led_write()函数*/static int first_drv_open(struct inode *inode, struct file *file)static ssize_t first_drv_write(struct file *file, const char __user *buf, size_t count, loff_t *

2017-04-05 10:41:32 529

原创 Linux系统编程(三)

IPC(进程间通信) 文件类型: - 文件 d 目录 l 符号链接 伪文件: s 套接字 b 块设备 c 字符设备 D 管道管道:

2017-03-19 20:48:28 236

原创 linux高级程序_进程间通信

linux进程间通信实质就是I/O操作 通信方式: 1管道 2信号 3共享内存 4消息队列 5信号量 6基于套接字(socket)的进程通信 无名管道: 例子: ①建立一个管道 ②父进程写入一些内容 ③子进程读取一些内容,并且打印出来 思路: ① pipe()建立管道 ②fork()生产新进程 ③判断,如果是父,则写入管道内容fd(1) ④判断,如果是子,则读出管道

2017-03-16 20:41:44 694

原创 Linux系统编程(二)

复习文件描述符(指向结构体的指针) exec函数族 fork创建子进程后执行的是和父进程相同的程序(但是有可能执行不同的代码分支)子进程往往要调用一种exec函数以执行另外一个程序,当进程调用一种exec函数时,该进程的用户空间代码和数据完全被新程序替代,从新程序的启动例程开始执行,调用exec并不创建新的进程,所以调用exec前后进程的ID并未改变。 重点掌握 execlp函数 加载

2017-03-15 15:22:14 602

原创 Linux高级程序_进程管理

操作系统: 进程运行过程,其实就是把磁盘的二进制文件(映射)到内存空间,然后计算,并且返回(I/O)的过程。 进程运行特点:①多任务,多进程“并发”②彼此独立,所处内存隔绝 进程生命周期:运行 挂起 消亡 进程管理调度得到进程ID#include#include#includeint main(){ pid_t pid = getpid(); p

2017-03-15 07:57:31 187

原创 Linux系统编程(一)

进程相关的概念 程序(剧本):编译好的二进制文件(a.out),在磁盘上,不占用系统资源(CPU,内存,打开的文件,设备) 进程(戏):是活跃的程序,占用系统资源,一个程序可以产生多个进程 并发:并行执行, 单道程序设计 CPU在同一时刻只能处理一个任务 多道程序设计 A B C 三个进程看似在同时使用CPU,实际还是排队执行 原理:分配时间轮片 时钟中断(保证给各个时间轮

2017-03-14 20:33:03 289

原创 u-boot源码分析(2440第一阶段)

预习知识 arm指令 1、LDR指令 LDR指令的格式为: LDR{条件} 目的寄存器,<存储器地址> LDR指令用于从存储器中将一个32位的字数据传送到目的寄存器中。该指令通常用于从存储器中读取32位的字数据到通用寄存器,然后对数据进行处理。当程序计数器PC作为 目的寄存器时,指令从存储器中读取的字数据被当作目的地址,从而可以实现程序流程的跳转。该指令在程序设计中比较常用,且寻址方

2017-03-13 21:09:58 338

转载 ARM指令集

涵盖所有ARM指令 ARM处理器的指令集可以分为跳转指令、数据处理指令、程序状态寄存器(PSR)处理指令、加载/存储指令、协处理器指令和异常产生指令6大指令。一、跳转指令跳转指令用于实现程序流程的跳转,在ARM程序中有以下两种方法可以实现程序流程的跳转。 Ⅰ.使用专门的跳转指令;Ⅱ.直接向程序计数器PC写入跳转地址值,通过向程序计数器PC写入跳转地址值,可以实现在4GB的地址空间中的任意跳转,在

2017-03-13 09:46:00 358

原创 I/O操作之文件锁定

文件锁(File lock) ①advisory locking②Mandatory Locking(通过内核强制检查文件的打开,读写操作) 要求:必须在文件系统上激活它,操作包括挂载mount文件系统。 cmd: F_GETLK 得到锁 F_SETLK 设置锁 F_SETLKW 设置锁并等待返回 函数原型: #include <unistd.h>

2017-03-12 21:09:48 242

原创 Linux标准I/O

文件描述符对应的标准I/O STDIN_FILENO stdin 标准输入 STDOUT_FILENO stdout 标准输出 STDERR_FILENO stderr 标准错误输出 与底层的文件描述符0 ,1,2 对用 常用函数使用 在标准I/O库中与底层文件描述符对用的流(stream),它被实现为指向结构FILE的指针

2017-03-12 15:43:51 282

原创 底层I/O的操作过程

打开文件→改变文件位置→读写文件→关闭文件 文件的操作主要用到5个函数:open,read, write, lseek,close 0 文件描述符 文件操作符是一个非负整数,是一个用于描述被打开文件的索引值 一个进程从运行开始一般都会打开3个文件,标准输入,标准输出和标准出错函数。三个对应的描述符分别是0,1,2。一般第一个打开的文件是从3开始的。 1 文件的创建、打开与关闭 open

2017-03-12 13:01:14 319

可实现hex文件三种方式的合并1,简单复制合并2,删除最后一行hex文件后合并3同时实现前两种形式同时合并

功能:可实现hex文件三种方式的合并1,简单复制合并2,删除最后一行hex文件后合并3同时实现前两种形式同时合并。一键生成

2020-09-12

空空如也

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

TA关注的人

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