jedec 1中 generic data如何理解

89C51ED2资料_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
喜欢此文档的还喜欢
89C51ED2资料
8C1​E​D资​料
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢ETFo4G/LTE技术与应用论坛/p>
EAFo第三届 NFC/RFID技术应用论坛
ETFo无线充电技术与系统设计论坛
上海·汽车电子与零组件技术论坛
第二届 无线通信技术论坛
移入鼠标可放大二维码
ipc标准目录
来源:www.elecfans.co
作者:本站日 12:38
[导读] ipc标准目录
ipc标准目录
电 子 组 装(Assembly)
Terms and Definition for Interconnecting and Packaging Electronic Circuits电子电路互连与封装的定义和术语
Standards and Specifications Manual标准和详细说明汇编手册
Test Methods Manual试验方法手册
IPC/EIA J-STD-001C
Requirements for Soldered Electrical & Electronic Assemblies电气与电子组装件锡焊要求
IPC-HDBK-001
Handbook and Guide to Supplement J-STD-001—Includes Amendment 1J-STD-001辅助手册及指南及修改说明1
IPC-A-610C
Acceptability of Electronic Assemblies印制板组装件验收条件
IPC/WHMA-A-620
Requirements and Acceptance for Cable and Wire Harness Assemblies电缆和引线贴装的要求和验收
IPC/EIA J-STD-012
Implementation of Flip Chip and Chip Scale Technology倒装芯片及芯片级封装技术的应用
IPC-SM-784
Guidelines for Chip-on-Board Technology Implementation芯片直装技术实施导则
IPC/EIA J-STD-026
Semiconductor Design Standard for Flip Chip Applications倒装芯片用半导体设计标准
IPC/EIA J-STD-028
Performance Standard for Construction of Flip Chip and Chip Scale Bumps 倒装芯片及芯片级凸块结构的性能标准
Implementation of Ball Grid Array and Other High Density Technology球栅阵列 (BGA)及其它高密度封装技术的应用
Design and Assembly Process Implementation for BGAs球栅阵列的设计与组装过程的实施
IPC-MC-790
Guidelines for Multichip Module Technology Utilization多芯片组件技术应用导则
Cleaning Guides and Handbook Manual 清洗导则和手册
IPC-CH-65A
Guidelines for Cleaning of Printed Boards & Assemblies印制板及组装件清洗导则
Post Solder Semi-aqueous Cleaning Handbook 锡焊后半水溶剂清洗手册
IPC-AC-62A
Aqueous Post Solder Cleaning Handbook 锡焊后水溶液清洗手册
Surface Insulation Resistance Handbook 表面绝缘电阻手册
Component Handling Manual 元件处理手册
IPC/JEDEC J-STD-020B
Moisture/Reflow Sensitivity Classification for Nonhermetic Solid State Surface Mount Devices 非密封固态表面贴装器件湿度/再流焊敏感度分类
IPC/JEDEC J-STD-033A
Handling, Packing, Shipping and Use of Moisture/Reflow Sensitive Surface Mount Devices 对湿度、再流焊敏感表面贴装器件的处置、包装、发运和使用
IPC/JEDEC J-STD-035
Acoustic Microscopy for Non-Hermetic Encapsulated Electronic Components 非气密封装电子元件用声波显微镜
Standards for Surface Mount Assemblies Manual 所有SMT标准合订本
Standards for Printed Board Assembly Manual 10种常用印制板组装标准合订本
IPC-SM-780
Component Packaging and Interconnecting with Emphasis on Surface Mounting以表面安装为主的元件封装及互连导则
IPC-SM-785
Guidelines for Accelerated Reliability Testing of Surface Mount Attachments表面安装焊接件加速可靠性试验导则
Stencil Design Guidelines 网版设计导则
IPC/EIA J-STD-004
Requirements for Soldering Fluxes-Includes Amendment 1锡焊焊剂要求(包括修改单1)
IPC/EIA J-STD-005
Requirements for Soldering Pastes-Includes Amendment 1焊膏技术要求(包括修改单1)
IPC/EIA J-STD-006A
Requirements for Electronic Grade Solder Alloys and Fluxed and Non-Fluxed Solid Solders 电子设备用电子级锡焊合金、带焊剂及不带剂整体焊料技术要求
IPC-SM-817
General Requirements for Dielectric Surface Mounting Adhesives表面安装用介电粘接剂通用要求
IPC-CA-821
General Requirements for Thermally Conductive Adhesives导热胶粘剂通用要求
Guidelines for Electrically Conductive Surface Mount Adhesives表面贴装导电胶使用指南
General Requirements for Anisotropically Conductive Adhesives Films各向异性导电胶膜的一般要求
IPC-CC-830B
Qualification and Performance of Electrical Insulating Compound for Printed Wiring Assemblies 印制板组装电气绝缘性能和质量手册
IPC-SM-840C
Qualification and Performance of Permanent Solder Mask - Includes Amendment 1永久性阻焊剂的鉴定及性能(包括修改单1)
Guidelines for Temperature Profiling for Mass Soldering (Reflow & Wave) Processes 大规模焊接(回流焊与波峰焊)过程温度曲线指南
Performance Test Methods and Qualification Requirements for Surface Mount Solder Attachments 表面安装锡焊件性能试验方法与鉴定要求
SMT Process Guideline & Checklist 表面安装技术过程导则及检核表
IPC-CM-770D
Component Mounting Guidelines for Printed Boards印制板元件安装导则
Calculation of DPMO & Manufacturing Indices for Printed Board Assemblies印制板和电子组装件每百万件缺陷数(DPMO)和制造指数的计算
In-Process DPMO and Estimated Yield for PWAs 印制板组装过程中每百万件缺陷数(DPMO)及合格率估计
PWB Assembly Process Simulation for Evaluation of Electronic Components 电子元件的印制板组装过程模拟评价
PWB Assembly Soldering Process Guideline for Electronic Components电子元件的印制板组装焊接过导则
Moisture Sensitivity Classification for Non-IC Components非集成电路元件的湿度敏感度分级
Assembly Process Simulation for Evaluation of Non-IC Components (Preconditioning Non-IC Components) 非集成电路元件的组装过程模拟评价(非集成电路元件预处理)
IPC-1 & 7721
Package 合订本
Rework of Electronic Assemblies 电子组装件的返工
Repair and Modification of Printed Boards and Electronic Assemblies印制板和电子组装件的修复与修正
IPC/EIA J-STD-002B
Solderability Tests for Component Leads, Terminations, Lugs, Terminals and Wires 元件引线、端子、焊片、接线柱及导线可焊性试验
IPC/EIA J-STD-003
Solderability Tests for Printed Boards 印制板可焊性试验
设 计(Design)
Technology Reference for Design Manual 设计技术手册
Design Standard Series 设计标准系列手册
Generic Standard on Printed Board Design 印制板设计通用标准
Sectional Standard on Rigid Organic Printed Boards刚性有机印制板设计分标准
Sectional Design Standard for Flexible Printed Boards挠性印制板设计分标准
Sectional Standard of Design of PWB for PC Card PC卡用印制电路板分设计分标准
Sectional Design Standard for Organic Multichip Modules (MCM-L) and MCM-L Assemblies 有机多芯片模块(MCM-L)及其组装件设计分标准
IPC-SM-782A
Surface Mount Design and Land Pattern Standard--Includes Amendments 1 & 2 表面安装设计及连接盘图形标准(包括修订1和2)
Design Standard for Thick Film Multilayer Hybrid Circuits厚膜多层混合电路设计标准
IPC/IEC Grid Systems for Printed Circuits IPC/IEC印制电路网格体系
Printed Board Dimensions and Tolerances 印制板尺寸和公差
Guidelines for Selecting Printed Wiring Board Sizes Using Standard Panel Sizes使用标准在制板尺寸的印制板尺寸选择指南
Standard Recipe File Format SpecificationSMEMA发布: 标准“菜单”(过程控制)文件格式规范注:SMEMA{The Surface Mount Equipment Manufacturers Association merged with IPC}
Generic Requirements for Electronics Manufacturing Shop Floor Equipment Communication电子制造车间现场设备信息沟通(CAMX)通用要求
Sectional Requirements for Specific Printed Circuit Board Assembly Equipment特殊印制板组装设备分要求
Generic Requirements for Electronics Manufacturing Supply Chain Communication - Product Data eXchange (PDX) 电子制造供应链信息沟通分要求 产品数据交换
Generic Requirements for Implementation of Product Manufacturing Description Data & Transfer Methodology 实施产品制造数据描述及其传输方法学的通用要求
IPC-D-356B
Bare Board Electrical Test Data Format 裸基板电检测的数据格式
印 制 电 路 板(Printed Circuit Boards)
Rigid Printed Board Manual 刚性印制板设计手册
IPC-D-325A
Documentation Requirements for Printed Boards 印制板设计文件图册要求
IPC-PE-740A
Troubleshooting for Printed Board Manufacture and Assembly印制板制造和组装的故障排除
IPC-6010 Series
IPC-6010 Qualification and Performance SeriesIPC-6010印制电路板质量标准和性能规范系列手册
Generic Performance Specification for Printed Boards 印制板通用性能规范
IPC-6013-K
Qualification & Performance Specification for Flexible Printed Boards (Includes Amendment 1) 挠性印制板的鉴定与性能规范(包括修改单1)
Qualification & Performance Specification for High Density Interconnect (HDI) Layers or Boards 高密度互连(HDI)层或印制板的鉴定与性能规范
IPC-6012A-AM
Qualification and Performance Specification for Rigid Printed Boards, Includes Amendment 1 刚性印制板的鉴定与性能规范 (包括修改单1)
Microwave End Product Board Inspection and Tech 微波成品印制板的检验和测试
Qualification & Performance Specification for Organic Multichip Module (MCM-L) Mounting and Interconnections 有机多芯片模块(MCM-L)安装及互连结构的鉴定与性能规范
IPC-A-600F
Acceptability of Printed Boards 印制板验收条件
IPC-HM-860
Specification for Multilayer Hybrid Circuits多层混合电路规范
IPC-TF-870
Qualification and Performance of Polymer Thick Film Printed Boards聚合物厚膜印制板的鉴定与性能
IPC-ML-960
Qualification and Performance Specification for Mass Lamination Panels for Multilayer printed Boards 多层印制板的鉴定与性能规范用预制内层在制板的鉴定与性能规范
IPC-DR-572
Drilling Guidelines for Printed Boards 印制板钻孔导则
IPC-NC-349
Computer Numerical Control Formatting for Drillers and Routers钻床和铣床用计算机数字控制格式
IPC-SM-839
Pre & Post Solder Mask Application Cleaning Guidelines施加阻焊前及施加后清洗导则
IPC/JPCA-4104
Specification for High Density Interconnect (HDI) and Microvia Materials高密度互连(HDI)及微导通孔材料规范
Qualification & Performance Specification for High Density Interconnect (HDI) Layers or Boards 高密度互连(HDI)层或印制板的鉴定与性能规范
IPC/JPCA-6801
IPC/JPCA Terms & Definitions, Test Methods, and Design Examples for Build-Up/High Density Interconnection 积层/高密度互连的术语和定义、试验方法与设计例
IPC-DD-135
Qualification Testing for Deposited Organic Interlayer Dielectric Materials for Multichip Modules 多芯片组件内层有机绝缘材料的鉴定试验
Specification for Base Materials for High Speed/High Frequency Applications 高速高频用基材规范
Microwave End Product Board Inspection and Test 微波成品印制板的检验和测试
IPC-D-317A
Design Guidelines for Electronic Packaging Utilizing High Speed Techniques采用高速技术电子封装设计导则
Flexible Circuits Compendium 挠性电路纲要
Flexible Base Dielectrics for Use in Flexible Printed Circuitry挠性印制线路用挠性绝缘基底材料
Adhesive Coated Dielectric Films for Use as Cover Sheets for Flexible Printed Circuitry and Flexible Adhesive Bonding Films 挠性印制线路覆盖层用涂粘接剂绝缘薄膜
Flexible Metal-Clad Dielectrics for Use in Fabrication of Flexible Printed Circuitry挠性金属箔去电应用于柔性电路组装
IPC-6013-K
Qualification & Performance Specification for Flexible Printed Boards & Amendment 1 挠性印制板的鉴定与性能规范(包括修改单1)
IPC/JPCA-6202
IPC/JPCA Performance Guide Manual for Single- and Double-Sided Flexible Printed Wiring Boards IPC/JPCA单双面挠性印制板性能手册
IPC-FC-234
Composite Metallic Materials Specification for Printed Wiring Boards印制线路板复合金属材料规范
Standards for Printed Board Materials Manual 印制板材料标准手册
Specifications for Base Materials for Rigid and Multilayer Printed Boards刚性及多层印制板用基材规范
Guidelines for Selecting Core Construction for Multilayer Printed Wiring Board Applications 多层印制板用芯板结构选择导则
Metal Foil for Printed Wiring Applications 印制线路用金属箔
IPC-CF-148A
Resin Coated Metal for Printed Boards 印制板用涂树脂金属箔
IPC-CF-152B
Composite Metallic Materials Specification for Printed Wiring Boards印制线路板复合金属材料规范
Specification for Finished Fabric Woven from ”E” Glass for Printed Boards“E”类精纺玻璃纤维层印制板技术规范
Specification & Characterization Methods for Nonwoven "E" Glass MaterialsE 玻璃纤维非织布材料规范及性能确定方法
Specification and Characterization Methods for Nonwoven Cellulose Based Paper for Printed Boards印制板用纤维纸规范及性能确定方法
IPC-4411-K
Specification and Characterization Methods for Non-Woven Para-Aramid Reinforcement, with Amendment 1 聚芳基酰胺非织布规范及性能确定方法, 包括修改单 1
IPC-4411-AM1
Specification and Characterization Methods for Non-Woven Para-Aramid Reinforcement, Amendment 1 关于聚芳基酰胺非织布规范及性能确定方法的修改单 1
IPC-SG-141
Specification for Finished Fabric Woven from "S" Glass for Printed Boards印制板用经处理S玻璃纤维织物规范
Specification for Finished Fabric Woven from Aramid for Printed Boards印制板用经处理聚芳酰胺纤维编织物规范
IPC-QF-143
Specification for Finished Fabric Woven from Quartz (Pure Fused Silica) for Printed Boards 印制板用经处理石英(熔融纯氧化硅)纤维编织物规范
PWB Fabrication Data Quality Rating System 印制板制造数据质量定级体系
General Guidelines for Implementation of Statistical Process Control (SPC) 实施统计过程控制(SPC)的通用导则
Guidelines and Requirements for Electrical Testing of Unpopulated Printed Boards 未组装印制板电测试要求和指南
IPC-MS-810
Guidelines for High Volume Microsection 大批量显微剖切导则
IPC-QL-653A
Certification of Facilities that Inspect/Test Printed Boards, Components & Materials 印制板、元器件及材料检验试验设备的认证
IPC-TR-486
Round Robin Study to Correlate IST & Microsectioning Evaluations for Inner-Layer Separation 内层分离的互连应力测试(IST)与显微剖切相关性联合研究
ipc相关文章
ipc相关下载
技术交流、积极发言! 发表评请遵守相关规定。
对于工程师而言,顶层的芯片设计显然才是最值得关注和研究的领域,在这方面,除了需要满足功能可靠,体积、功耗恰当等基础要求外,差异化设计可以...
为了适应日趋多样化的市场需求,传统的传感器已不再拘泥于一成不变的应用场景,人们正试图以一种跨界的形式来实现传感器的“二次开发”,这让不少...
创新实用技术专题
Copyright &
.All Rights ReservedNor flash的探测 - xgbing
- 博客频道 - CSDN.NET
&&& 首先说明一下,笔者使用的linux源码的版本是2.6.30。
&&& Map.h中定义了一个结构体:
struct mtd_chip_driver {
struct mtd_info *(*probe)(struct map_info *map);//探测函数
void (*destroy)(struct mtd_info *);//销毁
struct module *
char *//芯片驱动的类型,如CFI,JEDEC,ROM,RAM等
struct list_//将所有结构实体链接起来
mtd_chip_driver为所有芯片驱动程序提供了分类:
(1)jedec_probe.c中定义了JEDEC标准的FLASH驱动;
static struct mtd_chip_driver jedec_chipdrv = {
.probe = jedec_probe,
.name = &jedec_probe&,
.module = THIS_MODULE
(2)cfi_probe.c中定义CFI标准的FLASH驱动;
static struct mtd_chip_driver cfi_chipdrv = {
= cfi_probe,
= &cfi_probe&,
= THIS_MODULE
(3)Map_ram.c定义了以RAM作为MTD存储介质的驱动;
static struct mtd_chip_driver mapram_chipdrv = {
.probe = map_ram_probe,
.name = &map_ram&,
.module = THIS_MODULE
(4)Map_rom.c定义了以ROM作为MTD存储介质的驱动;
static struct mtd_chip_driver maprom_chipdrv = {
.probe = map_rom_probe,
.name = &map_rom&,
.module = THIS_MODULE
(A)JEDEC Flash的探测
它的代码在drivers/mtd/chips/Jedec_probe.c。从上面(1)中设置的jedec_chipdrv.probe函数开始执行:
static struct mtd_info *jedec_probe(struct map_info *map)
* Just use the generic probe stuff to call our CFI-specific
* chip_probe routine in all the possible permutations, etc.
return mtd_do_chip_probe(map, &jedec_chip_probe);
调用Gen_probe.c(这个文件是CFI和JEDEC的公共代码,两者都用到其中的代码)中的mtd_do_chip_probe:
struct mtd_info *mtd_do_chip_probe(struct map_info *map, struct chip_probe *cp)
struct mtd_info *mtd = NULL;
struct cfi_private *
/* First probe the map to see if we have CFI stuff there. */
cfi = genprobe_ident_chips(map, cp);
return NULL;
map-&fldrv_priv =
/* OK we liked it. Now find a driver for the command set it talks */
mtd = check_cmd_set(map, 1); /* First the primary cmdset */
mtd = check_cmd_set(map, 0); /* Then the secondary */
if (mtd) {
if (mtd-&size & map-&size) {
printk(KERN_WARNING &Reducing visibility of %ldKiB chip to %ldKiB\n&,
(unsigned long)mtd-&size && 10,
(unsigned long)map-&size && 10);
mtd-&size = map-&
printk(KERN_WARNING&gen_probe: No supported Vendor Command Set found\n&);
kfree(cfi-&cfiq);
kfree(cfi);
map-&fldrv_priv = NULL;
return NULL;
先调用genprobe_ident_chips得到CFI结构,再判断是哪种指令集。FLASH的指令集有Intel、AMD、STAA指令,根据不同的指令,需要设置不同的操作。
1)cfi_cmdset_0001:Intel指令集,源文件drivers/mtd/chips/cfi_cmdset_0001.c
2)cfi_cmdset_0002:AMD指令集,源文件drivers/mtd/chips/cfi_cmdset_0002.c
3)cfi_cmdset_0020:STAA指令集,源文件drivers/mtd/chips/cfi_cmdset_0020.c
在这三个函数执行后,mtd_info实体被建立和初始化。
genprobe_ident_chips:
static struct cfi_private *genprobe_ident_chips(struct map_info *map, struct chip_probe *cp)
struct cfi_
struct cfi_private *
unsigned long *chip_
memset(&cfi, 0, sizeof(cfi));
/* Call the probetype-specific code with all permutations of
interleave and device type, etc. */
if (!genprobe_new_chip(map, cp, &cfi)) {
/* The probe didn't like it */
pr_debug(&%s: Found no %s device at location zero\n&,
cp-&name, map-&name);
return NULL;
#if 0 /* Let the CFI probe routine do this sanity check. The Intel and AMD
probe routines won't ever return a broken CFI structure anyway,
because they make them up themselves.
if (cfi.cfiq-&NumEraseRegions == 0) {
printk(KERN_WARNING &Number of erase regions is zero\n&);
kfree(cfi.cfiq);
return NULL;
cfi.chipshift = cfi.cfiq-&DevS
if (cfi_interleave_is_1(&cfi)) {
} else if (cfi_interleave_is_2(&cfi)) {
cfi.chipshift++;
} else if (cfi_interleave_is_4((&cfi))) {
cfi.chipshift += 2;
} else if (cfi_interleave_is_8(&cfi)) {
cfi.chipshift += 3;
cfi.numchips = 1;
* Allocate memory for bitmap of valid chips.
* Align bitmap storage size to full byte.
max_chips = map-&size && cfi.
if (!max_chips) {
printk(KERN_WARNING &NOR chip too large to fit in mapping. Attempting to cope...\n&);
max_chips = 1;
mapsize = sizeof(long) * DIV_ROUND_UP(max_chips, BITS_PER_LONG);
chip_map = kzalloc(mapsize, GFP_KERNEL);
if (!chip_map) {
printk(KERN_WARNING &%s: kmalloc failed for CFI chip map\n&, map-&name);
kfree(cfi.cfiq);
return NULL;
set_bit(0, chip_map); /* Mark first chip valid */
* Now probe for other chips, checking sensibly for aliases while
* we're at it. The new_chip probe above should have let the first
* chip in read mode.
for (i = 1; i & max_ i++) {
cp-&probe_chip(map, i && cfi.chipshift, chip_map, &cfi);
static int genprobe_new_chip(struct map_info *map, struct chip_probe *cp,
struct cfi_private *cfi)
int min_chips = (map_bankwidth(map)/4?:1); /* At most 4-bytes wide. */
int max_chips = map_bankwidth(map); /* And minimum 1 */
int nr_chips,
for (nr_chips = max_ nr_chips &= min_ nr_chips &&= 1) {
if (!cfi_interleave_supported(nr_chips))
cfi-&interleave = nr_
/* Minimum device size. Don't look for one 8-bit device
in a 16-bit bus, etc. */
type = map_bankwidth(map) / nr_
for (; type &= CFI_DEVICETYPE_X32; type&&=1) {
cfi-&device_type =
if (cp-&probe_chip(map, 0, NULL, cfi))//调用probe_chip,JEDEC和CFI调用各自的实现函数
genprobe_ident_chips和genprobe_new_chip这两个函数的代码在Gen_probe.c中,这个文件的代码是JEDEC和CFI驱动共用的代码,为区分两者,使用了struct chip_probe作为参数传递。在Jedec_probe.c中定义的这个结构体是:
static struct chip_probe jedec_chip_probe = {
.name = &JEDEC&,
.probe_chip = jedec_probe_chip
所以当执行到cp-&probe_chip时调用的是jedec_probe_chip函数。
jedec_probe_chip函数的原型是
int jedec_probe_chip(struct map_info *map, __u32 base,
&&&&&& unsigned long *chip_map, struct cfi_private *cfi)
读者可能会奇怪,为何JEDEC flash的代码中会有个有关CFI的结构体struct cfi_private。这是因为代码的设计者把JEDEC模拟成了CFI设备,当cfi_private.cfi_mode==CFI_MODE_CFI时,它是一个真实的CFI设备,当cfi_private.cfi_mode==CFI_MODE_JEDEC时,它是JECEC模拟的CFI设备。
cfi_private结构:
struct cfi_private {
void *cmdset_
int device_
/* Are we a JEDEC device pretending to be CFI? */
int addr_unlock1;
int addr_unlock2;
struct mtd_info *(*cmdset_setup)(struct map_info *);
struct cfi_ident * /* For now only one. We insist that all devs
must be of the same type. */
uns /* Because they're of the same type */
const char *im_
/* inter_module name for cmdset_setup */
struct flchip chips[0];
/* per-chip data structure for each chip */
系统可以有多个FLASH设备,numchips决定FLASH设备的个数。一个MTD设备也可以由多个FLASH设备组成,它用interleave表示,device_type表示它的位宽。例如一个位宽为32位的MTD设备由4个8位的FLASH设备组成,那么interleave=4。struct flchip chips用于描述每个FLASH设备的信息。
再回到Jedec_probe.c中的jedec_probe_chip函数:
jedec_probe_chip函数的主要作用是获取FLASH的信息并将它设置在cfi_private结构中。在此函数中,调用jedec_read_mfr和jedec_read_id获取生产厂商ID和设备ID,再调用jedec_match查找全局jedec_table表,找到相应的FLASH信息。最后调用cfi_jedec_setup完成cfi_private结构的设置。
全局jedec_table表的作用是列举出一些JEDEC标准的FLASH芯片的信息。它的结构结构如下:
struct amd_flash_info {
const char *//设备名称
const uint16_t mfr_//厂商ID
const uint16_t dev_//设备ID
const uint8_t dev_//容量大小
const uint8_t nr_//按擦除大小的分类,分类的个数
const uint16_t cmd_//指令集类型
const uint32_t regions[6];//区域
const uint8_
/* Bitmask for x8, x16 etc. 指令类型*/
const uint8_
/* unlock addrs for 8, 16, 32, 64 */
如果FLASH设备的信息不在此表表,需要自定义加入。例如:
= MANUFACTURER_SST,
= SST39LF040,
= &SST 39LF040&,
.devtypes = CFI_DEVICETYPE_X8,
= MTD_UADDR_0xAAA,
.dev_size = SIZE_512KiB,
.cmd_set = P_ID_AMD_STD,
.nr_regions = 1,
.regions = {
ERASEINFO(0x),
(B)CFI Flash的探测
CFI Flash的探测和JEDEC的探测有很多相似处,它们都调用了Gen_probe.c中的公共代码。CFI Flash的驱动代码在deivers/mtd/Cfi_probe.c中。
mtd_chip_driver的结构:
static struct mtd_chip_driver cfi_chipdrv = {
= cfi_probe,
= &cfi_probe&,
= THIS_MODULE
入口是cfi_probe函数:
static struct chip_probe cfi_chip_probe = {
.probe_chip = cfi_probe_chip
struct mtd_info *cfi_probe(struct map_info *map)
* Just use the generic probe stuff to call our CFI-specific
* chip_probe routine in all the possible permutations, etc.
return mtd_do_chip_probe(map, &cfi_chip_probe);
和JEDEC Flash的实现函数一样,这里也调用Gen_probe.c中的mtd_do_chip_probe函数,只是传递的参数不同。
上面已经讲过mtd_do_chip_probe函数,它的内部调用genprobe_ident_chips,再调用genprobe_new_chip,并最终调用cp-&probe_chip。这里它对应的是Cfi_probe.c中的cfi_probe_chip函数。和JEDEC不同,CFI直接通过命令读取FLASH的信息,drivers/mtd/chips/cfi_util.c提供了这些代码。
无论是哪种类型的FLASH的probe,都是为了将信息生成到mtd_info结构中。先通过FLASH驱动读ID或读CFI结构的方法填充一个cfi_private结构,然后将这个结构体赋给map_info中的fldrv_priv,最后将map_info结构的指针赋给mtd_info-&priv。这样,所有的信息都被保存在mtd_info。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:566872次
积分:7756
积分:7756
排名:第1064名
原创:167篇
转载:98篇
评论:184条
(5)(3)(1)(4)(4)(4)(3)(2)(4)(2)(7)(4)(23)(11)(5)(2)(8)(1)(3)(1)(4)(3)(1)(13)(35)(20)(5)(2)(1)(2)(1)(1)(4)(1)(3)(4)(10)(17)(1)(1)(3)(3)(1)(7)(2)(6)(1)(1)(10)(7)(2)(1)(2)(3)(2)(1)(2)(6)(3)(3)(1)(1)(2)(5)(1)(2)}

我要回帖

更多关于 jedec标准 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信