Samsung K9F1G08U0D SLC NAND FLASH简介(待整理)

读nandflash---根据数据手册K9GAG08U0D nandflash的操作单位: nandflash的操作包括读、写和擦除。其寻址单位是页,读写时是以页为单位,擦除时则以块为单位。                                                                      图1:   芯片(页)读操作时序图                                       阅读详情

Samsung  K9F1G08U0D,数据存储容量为128M,采用块页式存储管理。8个I/O引脚充当数据、地址、命令的复用端口。详细:http://www.linux-mtd.infradead.org/nand-data/nanddata.html


20131008,

在整个nand上并不是所有的块都能被擦除,因为在一般情况下1st block被设备厂商加入了一些设备的初始化信息,一般在1st或者2nd个page上。所以在初始化的过程中,是有一个专门的流程去保证这些初始化信息不被擦除的。这些块在2048字节处是no-ff值,这样就被更新的bbt表中标记为坏块了。在初始化的过程中,通过向0x0地址处发送READIO命令90h,完成读取ID的任务。


芯片内部存储布局及存储操作特点:

一片Nand flash为一个设备(device),其数据存储分层为:

1(device)= 1024(blocks)

1(block)= 64(pages)

1  (page) = (数据块大小)2048 + (00B块大小)64 = 2112(bytes)

Samsung  K9F1G08U0D,数据存储容量为128M,采用块页式存储管理。8个I/O引脚充当数据、地址、命令的复用端口。详细:http://www.linux-mtd.infradead.org/nand-data/nanddata.html

芯片内部存储布局及存储操作特点:

一片Nand flash为一个设备(device),其数据存储分层为:

1(device)= 1024(blocks)

1(block)= 64(pages)

1  (page) = (数据块大小)2048 + (00B块大小)64 = 2112(bytes)

在每一页中,最后的64字节(又称OOB)用于Nand Flash命令执行完后设置状态用,剩余2048个字节又分为前半部分和后半部分。可以通过Nand Flash命令00h/01h/50h分别对前半部、后半部、OOB进行定位。

存储操作特点:
    1. 擦除操作的最小单位是块。
    2. Nand Flash芯片每一位(bit)只能从1变为0,而不能从0变为1,所以在对其进行写入操作之前要一定将相应块擦除(擦除即是将相应块得位全部变为1).
    3. OOB部分的第六字节(即2053字节)标志是否是坏块,如果不是坏块该值为FF,否则为坏块。
    4. 除OOB第六字节外,通常至少把OOB的前3个字节存放Nand Flash硬件ECC码。

 

NAND Flash出厂时,因为制造工艺的关系,会存在一定量的坏块。坏块产生有多种原因,如解码失败,地址线错误,存储单元错误等,一般NAND Flash出厂时,厂商经过测试,会将确认的坏块标记出来。同时,因为NAND Flash的擦写寿命有限(一般不超过10万次),当使用到一定时限后也会产生坏块,当擦除或写入失败时,这些块被认为是坏块。一旦一个块被认为是坏块,对其进行擦除或写入操作都是不允许的。(这里的不允许,我个人理解是擦除和写入会通过状态寄存器报错)

到底怎样的块会被标记为坏块?

1 NAND Flash用一个状态寄存器来指示对一个块的擦除和写入操作是否成功,当状态寄存器指示对一个块的擦除或写入操作失败时,该块被标记为坏块。

2 当Error Correction Code(ECC)算法发现超出其纠正能力的错误时,该块也被标识为坏块,这时ECC将该块标为坏块,坏块管理软件将通过分配一个好块对地址重新进行地址映射。

BBT:bad block table,即坏块表。各家对nand的坏块管理方法都有差异。比如专门用nand做存储的,会把bbt放到block0,因为第0块一定是好的块。但是如果nand本身被用来boot,那么第0块就要存放程序,不能放bbt了。

有的把bbt放到最后一块,当然,这一块不能为坏块。


有的bbt中用2个bits表示1个block的状态,所以1个字节可以表示4个blocks。

bbt的大小跟nand大小有关,nand越大,需要的bbt也就越大。

所以具体代码具体分析。

 

ECC:

NAND Flash出错的时候一般不会造成整个Block或是Page不能读取或是全部出错,而是整个Page(例如512Bytes)中只有一个或几个bit出 错。一般使用一种比较专用的校验——ECC。ECC能纠正单比特错误和检测双比特错误,而且计算速度很快,但对1比特以上的错误无法纠正,对2比特以上的 错误不保证能检测。


ECC一般每256字节原始数据生成3字节ECC校验数据,这三字节共24比特分成两部分:6比特的列校验和16比特的行校验,多余的两个比特置1.


当往NAND Flash的page中写入数据的时候,每256字节我们生成一个ECC校验和,称之为原ECC校验和,保存到PAGE的OOB(out-of-band)数据区中。其位置就是eccpos[]。
校验的时候,根据上述ECC生成原理不难推断:将从OOB区中读出的原ECC校验和新ECC校验和按位异或,若结果为0,则表示不存在错(或是出现了 ECC无法检测的错误);若3个字节异或结果中存在11个比特位为1,表示存在一个比特错误,且可纠正;若3个字节异或结果中只存在1个比特位为1,表示 OOB区出错;其他情况均表示出现了无法纠正的错误。

NAND flashes may have bit-flips which occur on read and write operations. Bit-flips are corrected by ECC checksums, but they may accumulate over time and cause data loss. 

NAND vs. NOR

包括硅片设计的不同,NAND和NOR flash之间最重要的不同是总线接口的差异。NOR Flash是像SRAM这样的存储器一样被直接链接在地址或者数据总线上。NAND Flash使用复用的I/O接口和一些附加的控制引脚。NAND Flash是一种适合作为大容量存储的顺序存储设备,而NOR Flash是适合作为代码存储的随机存储设备。NOR Flash常被用作代码存储和代码执行。存储在NAND Flash上的代码不能从上面直接执行。这些代码必须被下载到RAM上并从RAM上执行。

对于大量数据写的操作,NAND Flash明显快于NOR Flash。

NAND Flash比起Nor Flash要便宜很多,并且需要较少的接口。所以在大容量存储和数字音视频,数码相机上被广泛应用。

A page consists of 2048 Bytes data and and 64 Bytes spare area sizes. The spare (out of band) area is used to store ECC (error correction code), bad block information and filesystem-dependent data. n pages build one block. The read / write access to data is on a per page basis. Erase is done on a per block basis. The commands to read / write / erase the chip is given by writing to the chip with the Command Latch Enable pin high. Address is given by writing with the Address Latch Enable pin high.

由于spare area是必须使用的,所以/SE(Spare area Enable)pin should be tied to GND. /CE,CLE和ALE应该是GPIO引脚或者latched 信号线。也可以将ALE和CLE连接到地址线,但是此时必须要注意芯片上的时限。

/RE和/WE可以被连接到CPU响应的线上。确保它们逻辑上连接到了响应的片选线上。也可以为/RE和/WE选择两种不同的片选线,但是要知道数据保持了NAND芯片的时间约束。

系统通过分析R\B针脚的状态来检测数据传输是否完成。一旦页数据被装进数据寄存器,通过使读使能信号(低电平有效)连续有效,数据能在25纳秒内读出。重复的使能使能信号,使数据从选中的列地址到最后的列地址在读使能信号下降沿输出。

在每一页中,最后的64字节(又称OOB)用于Nand Flash命令执行完后设置状态用,剩余2048个字节又分为前半部分和后半部分。可以通过Nand Flash命令00h/01h/50h分别对前半部、后半部、OOB进行定位。

存储操作特点:
    1. 擦除操作的最小单位是块。
    2. Nand Flash芯片每一位(bit)只能从1变为0,而不能从0变为1,所以在对其进行写入操作之前要一定将相应块擦除(擦除即是将相应块得位全部变为1).
    3. OOB部分的第六字节(即2053字节)标志是否是坏块,如果不是坏块该值为FF,否则为坏块。
    4. 除OOB第六字节外,通常至少把OOB的前3个字节存放Nand Flash硬件ECC码。

 

NAND Flash出厂时,因为制造工艺的关系,会存在一定量的坏块。坏块产生有多种原因,如解码失败,地址线错误,存储单元错误等,一般NAND Flash出厂时,厂商经过测试,会将确认的坏块标记出来。同时,因为NAND Flash的擦写寿命有限(一般不超过10万次),当使用到一定时限后也会产生坏块,当擦除或写入失败时,这些块被认为是坏块。一旦一个块被认为是坏块,对其进行擦除或写入操作都是不允许的。(这里的不允许,我个人理解是擦除和写入会通过状态寄存器报错)

到底怎样的块会被标记为坏块?

1 NAND Flash用一个状态寄存器来指示对一个块的擦除和写入操作是否成功,当状态寄存器指示对一个块的擦除或写入操作失败时,该块被标记为坏块。

2 当Error Correction Code(ECC)算法发现超出其纠正能力的错误时,该块也被标识为坏块,这时ECC将该块标为坏块,坏块管理软件将通过分配一个好块对地址重新进行地址映射。

BBT:bad block table,即坏块表。各家对nand的坏块管理方法都有差异。比如专门用nand做存储的,会把bbt放到block0,因为第0块一定是好的块。但是如果nand本身被用来boot,那么第0块就要存放程序,不能放bbt了。

有的把bbt放到最后一块,当然,这一块不能为坏块。


有的bbt中用2个bits表示1个block的状态,所以1个字节可以表示4个blocks。

bbt的大小跟nand大小有关,nand越大,需要的bbt也就越大。

所以具体代码具体分析。

 

ECC:

NAND Flash出错的时候一般不会造成整个Block或是Page不能读取或是全部出错,而是整个Page(例如512Bytes)中只有一个或几个bit出 错。一般使用一种比较专用的校验——ECC。ECC能纠正单比特错误和检测双比特错误,而且计算速度很快,但对1比特以上的错误无法纠正,对2比特以上的 错误不保证能检测。


ECC一般每256字节原始数据生成3字节ECC校验数据,这三字节共24比特分成两部分:6比特的列校验和16比特的行校验,多余的两个比特置1.


当往NAND Flash的page中写入数据的时候,每256字节我们生成一个ECC校验和,称之为原ECC校验和,保存到PAGE的OOB(out-of-band)数据区中。其位置就是eccpos[]。
校验的时候,根据上述ECC生成原理不难推断:将从OOB区中读出的原ECC校验和新ECC校验和按位异或,若结果为0,则表示不存在错(或是出现了 ECC无法检测的错误);若3个字节异或结果中存在11个比特位为1,表示存在一个比特错误,且可纠正;若3个字节异或结果中只存在1个比特位为1,表示 OOB区出错;其他情况均表示出现了无法纠正的错误。

NAND flashes may have bit-flips which occur on read and write operations. Bit-flips are corrected by ECC checksums, but they may accumulate over time and cause data loss. 

NAND vs. NOR

包括硅片设计的不同,NAND和NOR flash之间最重要的不同是总线接口的差异。NOR Flash是像SRAM这样的存储器一样被直接链接在地址或者数据总线上。NAND Flash使用复用的I/O接口和一些附加的控制引脚。NAND Flash是一种适合作为大容量存储的顺序存储设备,而NOR Flash是适合作为代码存储的随机存储设备。NOR Flash常被用作代码存储和代码执行。存储在NAND Flash上的代码不能从上面直接执行。这些代码必须被下载到RAM上并从RAM上执行。

对于大量数据写的操作,NAND Flash明显快于NOR Flash。

NAND Flash比起Nor Flash要便宜很多,并且需要较少的接口。所以在大容量存储和数字音视频,数码相机上被广泛应用。

A page consists of 2048 Bytes data and and 64 Bytes spare area sizes. The spare (out of band) area is used to store ECC (error correction code), bad block information and filesystem-dependent data. n pages build one block. The read / write access to data is on a per page basis. Erase is done on a per block basis. The commands to read / write / erase the chip is given by writing to the chip with the Command Latch Enable pin high. Address is given by writing with the Address Latch Enable pin high.


由于spare area是必须使用的,所以/SE(Spare area Enable)pin should be tied to GND. /CE,CLE和ALE应该是GPIO引脚或者latched 信号线。也可以将ALE和CLE连接到地址线,但是此时必须要注意芯片上的时限。

/RE和/WE可以被连接到CPU响应的线上。确保它们逻辑上连接到了响应的片选线上。也可以为/RE和/WE选择两种不同的片选线,但是要知道数据保持了NAND芯片的时间约束。

系统通过分析R\B针脚的状态来检测数据传输是否完成。一旦页数据被装进数据寄存器,通过使读使能信号(低电平有效)连续有效,数据能在25纳秒内读出。重复的使能使能信号,使数据从选中的列地址到最后的列地址在读使能信号下降沿输出。



NAND FLASH 需要多cycle的原因

NAND flash以页为单位读写数据,而以块为单位擦除数据。按照这样的组织方式可以形成所谓的三类地址:

  Column Address:Starting Address of the Register. 翻成中文为列地址,地址的低8位

  Page Address :页地址
  Block Address :块地址

  对于NAND Flash来讲,地址和命令只能在I/O[7:0]上传递,数据宽度是8位。

  512byte需要9bit来表示,对于528byte系列的NAND,这512byte被分成1st half Page Register和2nd half Page Register,各自的访问由地址指针命令来选择,A[7:0]就是所谓的column address(列地址),在进行擦除操作时不需要它,why?因为以块为单位擦除。32个page需要5bit来表示,占用A[13:9],即该page在块内的相对地址。A8这一位地址被用来设置512byte的1st half page还是2nd half page,0表示1st,1表示2nd。Block的地址是由A14以上的bit来表示。

  例如64MB(512Mb)的NAND flash(实际中由于存在spare area,故都大于这个值),共4096block,因此,需要12个bit来表示,即A[25:14],如果是128MB(1Gbit) 的528byte/page的NAND Flash,则block address用A[26:14]表示。而page address就是blcok address|page address in block NAND Flash 的地址表示为: Block Address|Page Address in block|halfpage pointer|Column Address 地址传送顺序是Column Address,Page Address,Block Address。

  由于地址只能在I/O[7:0]上传递,因此,必须采用移位的方式进行。 例如,对于512Mbit x8的NAND flash,地址范围是0~0x3FF_FFFF,只要是这个范围内的数值表示的地址都是有效的。 以NAND_ADDR 为例:

  第1 步是传递column address,就是NAND_ADDR[7:0],不需移位即可传递到I/O[7:0]上,而halfpage pointer即A8 是由操作指令决定的,即指令决定在哪个halfpage 上进行读写,而真正的A8 的值是不需程序员关心的。

  第2 步就是将NAND_ADDR 右移9位,将NAND_ADDR[16:9]传到I/O[7:0]上;

  第3 步将NAND_ADDR[24:17]放到I/O上;

  第4步需要将NAND_ADDR[25]放到I/O上;

  因此,整个地址传递过程需要4 步才能完成,即4-step addressing。 如果NAND Flash 的容量是32MB(256Mbit)以下,那么,block adress最高位只到bit24,因此寻址只需要3步。

  下面,就x16 的NAND flash 器件稍微进行一下说明。 由于一个page 的main area 的容量为256word,仍相当于512byte。但是,这个时候没有所谓的1st halfpage 和2nd halfpage 之分了,所以,bit8就变得没有意义了,也就是这个时候 A8 完全不用管,地址传递仍然和x8 器件相同。除了,这一点之外,x16 的NAND使用方法和 x8 的使用方法完全相同。


NandFlash驱动调试笔记(K9F1G08 NandFlash驱动调试笔记(K9F1G08)Nand Flash结构与读写分析 NAND Flash 的数据是以bit 的方式保存在memory cell,一般来说,一个cell 中只能存储一个bit。这些cell 以8 个或者16 个为单位,连成bit line,形成所谓的byte(x8)/word(x16),这就是NAND Device 的位宽。这里1g08有两种128M*8bit和64M 阅读详情

相关推荐

阿波罗开发板硬件架构与核心资源深度解析

嵌入式开发板硬件架构是理解MCU系统设计的基础概念,其核心在于资源解耦、模块复用与信号完整性保障。本文围绕‘底板+核心板’双层架构展开,剖析电源管理、时钟系统、启动配置、高速存储(QSPI/SPI Flash、SDRAM、NAND)、外设接口(LCD、CAN、USB、音频、传感器)等关键子系统的工作原理;强调硬件即配置、电平兼容、上电时序、信号路由等工业级设计思想。技术价值体现在降低迭代成本、提升环境可靠性与支持复杂GUI/多媒体应用。典型应用场景涵盖工业HMI、智能终端、边缘AI推理节点及教学实验平台。内

weixin_42584507的博客 591

K9F1G08U0D Nand芯片

使用三星公司的K9F1G08U0D芯片做文件系统,首先要对K9F1G08U0D Nand芯片比较熟悉,整个网络找遍了,都找不到完全相对应的文档,只能找到K9F1G08U0A的手册,看到网上人家说K9F1G08U0A与K9F1G08U0C、D是有区别的,实际也找不到C的手册,可以肯定的是D的程序跟C相同,但跟A不一样,主要在一个状态返回上,C、D表现为0x0C,而A表现为0x0E。      

7558

三星大页NAND Flash芯片详解:K9F1G08与K9F2G08解析与应用

在NAND Flash的发展历程中,最初采用的是“小页”结构,其典型页大小为512字节。随着技术进步,为了提高存储密度和数据吞吐率,逐渐引入了“大页”结构,其页大小通常为2KB、4KB、8KB甚至更大。参数小页结构(512B)大页结构(2KB~16KB)数据区大小512 字节2048 字节及以上OOB区大小16 字节64 字节及以上每块页数3264 或 128总块大小。

weixin_42437253的博客 1436

三星nandflash K9F1G08U0DSIB0部分说明

128M*8bit 1型号                               供电电压范围         组织               封装 K9F1G08U0DSIB0            2.7~3.6V            X8                  2结构: 存储单元阵列:(128M+4096K)bit*8 bit 数据寄存器:    (2K+64

abcflyer的专栏 3685

K9F1G08U0D.pdf

三星 NandFlash K9F1G08U0D 数据手册

K9LBG08U0D芯片手册

K9LBG08U0D (4G) nandflash OK6410所用nandflsh

天猫精灵方糖拆解报告和芯片详解

折腾: 【记录】天猫精灵方糖拆解过程 后,下面详细整理关于芯片的信息。 总体截图: 各个单元: MEDIATEK ARM MT8516AAAA 1812-BZASH BET02027 ACMQPQ8K 【整理】SoC CPU MEDIATEK MT8516详解 SAMSUNG 810 K9F1G0...

sinolover的专栏 2万+

k9f1g08u中文数据手册

k9f1g08u的中文数据手册,pdf文档类型

使用STM32F103ZET6驱动NAND FLASH(K9F1G08U0E)

经过2天的学习从不了解NAND FLASH,到驱动NAND FLASH完成一些简单的写,擦除,读取状态,复位等操作。 方法:使用正点原子的ST32F103ZET6和NAND FLASH(K9F1G08U0E)相连接 先看此图: 1.此芯片位宽位8,I/O口从0-7分别连接到FSMC_D0-FSMC_D7(PD14,PD15,PD0,PD1,PE7,PE8,PE9,PE10) 2.CLE是命令锁存使能-就是引脚在搞电平传输的是命令,ALE地址锁存使能-高电平,传输的是地址。CLE连接PD12,AL

weixin_56860827的博客 3972

CAN收发器TJA1145A休眠唤醒应用

TJA1145的唤醒工作原理主要依赖于其内部的唤醒机制和外部硬件的配合,主要涉及低功耗状态、选择性唤醒功能。TJA1145是一款CAN收发器,它支持多种工作模式,包括NormalStandbySleep等。在这些模式中,Sleep模式是最低功耗状态,而Normal模式则是最活跃的状态,其中Standby模式处于两者之间,允许一定的功能操作但功耗较低。TJA1145可以通过接收特定的唤醒源从Sleep或Standby模式唤醒到Standby或Normal模式。唤醒源的检测与处理。

radix关于mcu的博客,持续更新中... 5952

【WILEY】从Revision到Online:逐层拆解投稿状态更新与关键文件提交实战

本文详细解析了学术论文从返修到在线发表的全过程,重点拆解了投稿系统状态更新背后的含义与应对策略。文章提供了返修稿与回复信的准备技巧、关键补充文件(如图文摘要)的提交要点,并分享了校对校样与处理出版协议的实战经验,帮助作者高效、专业地完成发表流程。

weixin_29209805的博客 713

关于K9F1208和K9f1G08的nand flash(1)

<br />这段时间,想把公司之前在2410上使用的ucos移植到2440上使用,那套系统是公司之前买的,我在网上下的也不敢枉然使用,大体上还是比较容易修改,除了两款mpu的时钟不一样外,寄存器也没太大的出入。今天发现这两套板子的原理图中,flash的不一样,2410使用的是64M的k9f1208,2440使用的是128M的k9f1G08。于是乎先找到两款芯片的资料看看,下面贴一下这两个片子涉及到的问题:<br />1,K9F系列的是SLC结构的NANDFLASH,K9G系列的是MCL结构的NANDFLAS

成都_冉若愚 专栏 4452

车载毫米波雷达实战:用MATLAB复现DDMA-MIMO雷达的Empty-band算法(附代码解析)

本文详细介绍了车载毫米波雷达中DDMA-MIMO技术的实战应用,重点解析了Empty-band算法的原理与MATLAB实现。通过搭建仿真环境,文章深入探讨了发射天线通道解调与相位法速度解模糊两大核心难题的解决方案,并提供了完整的代码解析,为雷达算法工程师提供了从理论到实践的清晰指南。

hill8的博客 559

深入理解nandflash基本特性

nandflash作为嵌入式中的”磁盘”, 被广泛的应用, 以(K9F2G08U0B)为例,其他型号都差不多 nandflash的结构  nandflash的结构有页(page), block(块)的概念,其中页是真实概念,而块儿是虚拟概念(目的是为了更好的管理存储空间)  page: 一个page大小为2K + 64bytes, 如上图所示,其中的64bytes是所在页的infomatio...

简单博客 1219

数分实战(01):Global_Superstore数据集解析与商业洞察

本文以Global_Superstore零售数据集为例,手把手指导数据分析实战全流程。从数据清洗、探索性分析到深度商业洞察,详细解析了如何通过Python处理缺失值与异常值,进行销售利润分析、客户细分与地理分析,并探讨了折扣与利润的微妙关系。文章旨在帮助读者建立数据分析思维框架,从数据中挖掘可指导实际业务决策的核心洞察。

weixin_28487433的博客 342

C# 从数秒到毫秒:MySQL+Redis百万数据优化实战全解析

在处理百万级数据时,传统单体数据库常面临查询效率低下、数据库负载过高和用户体验差等问题。为解决这些性能瓶颈,可以采用MySQL分库分表、Redis缓存和异步统计的组合策略。 数据库分片:通过水平分表和分库实现,将单表数据分散到多个物理表或数据库实例中,降低单点负载。 Redis缓存:利用Redis缓存高频数据,减少数据库查询压力,提升响应速度。 异步统计:通过消息队列(如RabbitMQ)解耦统计任务,后台处理非实时任务,避免阻塞主流程。 这些优化策略能够显著提升系统性能,确保在高并发和大数据量场景下的稳定

墨夶的博客 852

NAND FLAASH基础

NAND FLASH 基础 https://baike.baidu.com/item/Nand%20flash/4883033?fr=aladdin 物理构成 NAND Flash 的数据是以bit的方式保存在memory cell,一个cell 中只能存储一个bit。这些cell 以8个或者16个为单位,连成bit line,形成所谓的byte(x8)/word(x16),这就是NAND Device的位宽。这些Line会再组成Page,(NAND Flash 有多种结构,我使用的NAND Fla

XYJ_Tiger的博客 2277

ROM和RAM在单片机程序运行理解

ROM和RAM是电子设备中两种核心存储组件,主要区别在于:ROM用于长期存储系统程序、用户文件等固定数据,断电后数据不丢失,但写入速度较慢;RAM则用于临时存储运行中的程序和数据,读写速度快但断电后数据会清空。在单片机中,ROM存储程序代码和常量,RAM存储运行时的变量和数据。两者协同工作,ROM如同"永久档案库"保存必要信息,RAM则像"临时工作台"支持高速运算,共同确保设备正常运行。

qq_37999850的博客 1620

NAND FLASH地址

我们知道K9F2G08U0A的每一页有(2K+64)=2112Byte,2112byte 需要12bit来表示,对于2112byte系列的NAND,这2112byte被分成1st half Page Register和2nd half Page Register,各自的访问由地址指针命令来选择,A[11:0]就是所谓的column address(列地址),在进行擦除操作时不需要它,因为以块为单位擦除。K9F2G08U0A的内部结构,具体的各个部件的介绍,就不详细介绍了,想了解的话可以参考伟东山的《

m0_68090412的博客 481

GD32H757的can通信配置,提供方案参考!

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 1836

YOLOv8改进 | Conv篇 | 利用YOLO-MS的MSBlock轻量化网络结构(既轻量又长点)

本文给大家带来的改进机制是利用YOLO-MS提出的一种针对于实时目标检测的MSBlock模块,我们将其用于C2f中组合出一种新的结构,来替换我们网络中的模块可以达到一种轻量化的作用,我将其用于我的数据集上实验,包括多个类别的数据集,其在轻量网络结构的同时,却能够提高一定的mAP精度,所以这是一种十分高效的模块,该网络结构非常适合那些模型精度已经无法提到,想要从轻量化模型的角度入手的读者使用。欢迎大家订阅本专栏,本专栏每周更新3-5篇最新机制,更有包含我所有改进的文件和交流群提供给大家。

Snu77的博客 6094

NANDFLASH介绍(转)

<br />Row也就是page<br />1.       引脚描述<br />I/O0 ~ I/O7-----data inputs/outputs<br />通过这8个I/O引脚,可以输入命令,地址和数据,也可以在读操作时输出数据。<br /> <br />CLE-----command latch enable<br />CLE输入控制了发送到命令寄存器的命令。CLE为高电平时激活,在nWE的上升沿,命令通过I/O端口被锁存到命令寄存器中,结合datasheet的相关时序图来理解更为深刻。<br /

forever的专栏 1337

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

上一篇: ioctl、文件操作接口函数以及nand的升级模式的操作过程详解
下一篇: Yaffs文件系统简介
野-百-合
博客等级 码龄17年 308粉丝 118原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值