自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (2)
  • 收藏
  • 关注

原创 linux设备中的阻塞与非阻塞io

1:阻塞与非阻塞io阻塞操作:执行设备操作时若不能获得资源则挂起进程(进程进入休眠状态,将cpu资源让给其他进程),知道满足条件后在执行!唤醒睡眠的进程的地方最大可能发生在中断中,因为硬件资源的获得一般伴随着一个中断。非阻塞:进程不能进行设备操作时并不挂起,它或者放弃,如果用户要获取设备资源,只能不停的轮训查询,直到可以操作位置(消耗cpu资源)。2:等待队列

2016-09-07 21:59:20 421

原创 linux中的互斥途径

一:中断屏蔽(不推荐使用)可以使进程与进程间的并发不在发生二:自旋锁:1自旋锁,2读写自旋锁,3顺序锁,4rcu1:自旋锁实际是忙等待,当锁不可用时,cpu一直循环执行,测试并设置锁直到可用而取得锁,在忙等是不可以做任何事,仅仅是等待,所以只有在占用锁的时间极短的情况下使用才合理。2:自旋锁可能导致系统锁死:原因:1,递归使用一个自旋锁,即如果一个已经拥有该锁的cpu想第二次获得这

2016-09-07 19:41:36 656

转载 linux NAND驱动之五:NAND驱动中probe和nand_chip结构体

在基于MTD 的NAND driver 的probe 函数中,主要可以分为两部分内容,其一是与很多外设driver 类似的一些工作,如申请地址,中断,DMA 等资源,kzalloc 及初始化一些结构体,分配DMA 用的内存等等;其二就是与MTD 相关的一些特定的工作,在这里我们将只描述第二部分内容。(1)probe 函数中与MTD 相关的结构体      在probe 函数中,我们需要

2016-09-06 21:49:20 379

转载 linux NAND驱动之六:NAND驱动的probe流程

由前面的说明可知,我们在要对NAND 芯片进行实际操作前已经为struct mtd_info 、struct mtd_partition 和struct nand_chip 这三个结构体分配好了内存,接下来就要为它们做一些初始化工作。 其中,我们需要为struct mtd_info 所做的初始化工作并不多,因为MTD Core 会在稍后为它做很多初始化工作(这些工作在nand_scan_tai

2016-09-06 21:48:24 428

转载 linux NAND驱动之四:6410上的NAND读写流程

MTD对NAND芯片的读写主要分三部分:                  NAND驱动之四:6410上的NAND读写流程" style="margin:0px; padding:0px; border:0px; list-style:none">    A、struct mtd_info中的读写函数,如read,write_oob等,这是MTD原始设备层与FLASH硬件层之间的接口;

2016-09-06 21:47:26 558

转载 linux NAND驱动之三:6410平台上的NAND驱动加载

1,platform_driver 的定义和注册      在s3c_nand.c中,static struct platform_driver s3c6410_nand_driver = {                .probe  = s3c6410_nand_probe,                .remove  = s3c_nand_remove,  

2016-09-06 21:46:31 275

转载 linux NAND驱动之二:NAND存储原理

在我们开始NAND 驱动编写之前,至少应该知道:数据在NAND 中是怎样存储的,以及以怎样的方式从NAND 中读写数据的。                             NAND驱动之二:NAND存储原理" style="margin:0px; padding:0px; border:0px; list-style:none">1,NAND 的存储结构和操作方式     

2016-09-06 21:45:45 552

转载 linux NAND驱动之一:内核中的NAND代码布局

在Linux 内核中,MTD 源代码放在/driver/mtd 目录中,该目录中包含chips 、devices 、maps 、nand 、onenand 和ubi 六个子目录。其中只有nand 和onenand 目录中的代码才与NAND 驱动相关,不过nand 目录中的代码比较通用,而onenand 目录中的代码相对于nand 中的代码而言则简化了很多,它是针对三星公司开发的另一类Flash

2016-09-06 21:44:02 428

原创 spi中的write和read的数据传输过程

从示意图中,我们可以很清除看到函数的调用过程:先调用spi设备驱动层,随后调用bitbang中间层,最后调用了master驱动层来完成数据的传输。read方法和write方法基本差不多,关键的区别在于其发送的数据为0,而在s3c24xx_spi_txrx中断服务程序中将读取数据寄存器。下面仅仅给出函数调用示意图。

2016-09-01 21:11:14 6292

基于深度学习的文本相似度计算模型和代码

基于深度学习的文本相似度计算模型和代码,亲自跑过可以直接使用,对nlp领域的学习非常有借鉴意义,在智能问答系统上经常会用到。

2020-03-30

基于深度学习的故障诊断模型代码和数据

基于深度学习的故障诊断模型代码和数据,有数据,有源码,可以直接跑通! 亲测可以直接使用,对深度学习和故障诊断应用有一定的借鉴意义,代码注释全面

2020-03-30

空空如也

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

TA关注的人

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