块设备驱动程序

发布时间:2024-08-14  

一、块设备结构体

1. file_operations 结构体

和字符设备驱动中file_operations 结构体类似,块设备驱动中也有一个

block_device_operations 结构体,它的声明位于/include/linux 录下的fs.h 文件中,它是对

块操作的集合。

struct block_device_operations{

int(*open)(struct inode *, struct file*); //打开设备

int(*release)(struct inode *, struct file*); //关闭设备

//实现ioctl 系统调用

int(*ioctl)(struct inode *, struct file *, unsigned, unsigned long);

long(*unlocked_ioctl)(struct file *, unsigned, unsigned long);

long(*compat_ioctl)(struct file *, unsigned, unsigned long);

int(*direct_access)(struct block_device *, sector_t, unsigned long*);

//调用该函数用以检查用户是否更换了驱动器的介质

int(*media_changed)(struct gendisk*);

int(*revalidate_disk)(struct gendisk*); //当介质被更换时,调用该函数做出响应

int(*getgeo)(struct block_device *, struct hd_geometry*);//获取驱动器信息

struct module *owner; //指向拥有这个结构体模块的指针,通常被初始化位THIS_MODULE

};

与字符驱动不同的是在这个结构体中缺少了read()和write()函数,那是因为块设备的I/O 子系统中,这些操作都是有request 函数进行处理。

request 函数的原型如下:

void request(request_queue_t *queue);

2.gendisk结构体

gendisk 结构体的定义位于/include/linux 目录下的genhd.h 文件中,如下所示。

struct gendisk {

/*

*这三个成员的定义依次是:主设备号、第一个次设备号,次设备号。一个驱动中至有一个次设备号,

*如果驱动器是一个可被分区,那么每一个分区都将分配一个次设号。

*/

int major;

int first_minor;

int minors;

//这个数组用以存储驱动设备的名字

char disk_name[DISK_NAME_LEN];

char *(*devnode)(struct gendisk *gd, umode_t *mode);

unsigned int events;

unsigned int async_events;

struct disk_part_tbl __rcu *part_tbl;

struct hd_struct part0;

//这个结构体用以设置驱动中的各种设备操作

const struct block_device_operations *fops;

//Linux 内核使用这个结构体为设备管理I/O 请求,具体详解见request_queue 结构。

struct request_queue *queue;

void *private_data;

int flags;

struct device *driverfs_dev;

struct kobject *slave_dir;

struct timer_rand_state *random;

atomic_t sync_io;

struct disk_events *ev;

#ifdef CONFIG_BLK_DEV_INTEGRITY

struct blk_integrity *integrity;

#endif

int node_id;

};

gendisk 结构体是是动态分配,但是驱动程序自己不能动态分配该结构,而是通过调用

alloc_disk()函数进行动态分配。

struct gendisk *alloc_disk(int minors);

其中minors 是该磁盘使用的次设备号。

但是分配了gendisk 结构并不意味着该磁盘就对系统可用,使用之前得初始化结构体并

且调用add_disk()函数。

//初始化结构体

struct request_queue *blk_init_queue(request_fn_proc *rfn, spinlock_t *lock)

//添加分区

void add_disk(struct gendisk *gd)

如果不再需要这个磁盘,则对其进行卸载。

//删除分区

Void del_gendisk(struct gendisk *gd)

void blk_cleanup_queue(struct request_queue *q)

3.bio结构体

bio 结构体的定义位于/include/linux 目录下的linux_blk_types.h 文件中。

struct bio {

//需要传输的第一个(512byte)扇区

sector_t bi_sector;

struct bio *bi_next;

struct block_device *bi_bdev;

unsigned long bi_flags;

unsigned long bi_rw;

unsigned short bi_vcnt;

unsigned short bi_idx;

//BIO 中所包含的物理段数目

unsigned int bi_phys_segments;

//所传输的数据大小(以byte 为单位)

unsigned int bi_size;

unsigned int bi_seg_front_size;

unsigned int bi_seg_back_size;

unsigned int bi_max_vecs;

atomic_t bi_cnt;

struct bio_vec *bi_io_vec;

bio_end_io_t *bi_end_io;

void *bi_private;

#ifdef CONFIG_BLK_CGROUP

struct io_context *bi_ioc;

struct cgroup_subsys_state *bi_css;

#endif

#if defined(CONFIG_BLK_DEV_INTEGRITY)

struct bio_integrity_payload *bi_integrity;

#endif

bio_destructor_t *bi_destructor;

struct bio_vec bi_inline_vecs[0];

};

bio 结构体包含了驱动程序执行请求的所有信息。既描述了磁盘的位置,又描述了内存

的位置,是上层内核与下层驱动的连接纽带。

struct bio_vec *bi_io_vec;

而bio_vec 结构体的声明为:结构bio_vec 代表了内存中的一个数据段,数据段用页、偏移和长度描述

struct bio_vec {

struct page *bv_page; /*数据段所在的页*/

unsigned short bv_len; /*数据段的长度*/

unsigned short bv_offset; /*数据段页内偏移*/

};

4. requeset 结构体

request 结构体代表了挂起的I/O 请求,每个请求用一个结构request 实例描述,存放

在请求队列链表中,由电梯算法进行排序,每个请求包含一个或多个结构bio 实例。requeest

结构体声明位于/include/linux 目录下的blkdev.h 文件中。

struct request {

struct list_head queuelist;

struct call_single_data csd;

struct request_queue *q;

unsigned int cmd_flags;

enum rq_cmd_type_bits cmd_type;

unsigned long atomic_flags;

int cpu;

unsigned int __data_len;

sector_t __sector;

struct bio *bio;

struct bio *biotail;

struct hlist_node hash;

union {

struct rb_node rb_node;

void *completion_data;

};

union {

struct {

struct io_cq *icq;

void *priv[2];

} elv;

struct {

unsigned int seq;

struct list_head list;

rq_end_io_fn *saved_end_io;

} flush;

};

struct gendisk *rq_disk;

struct hd_struct *part;

unsigned long start_time;

#ifdef CONFIG_BLK_CGROUP

struct request_list *rl;

unsigned long long start_time_ns;

unsigned long long io_start_time_ns;

#endif

unsigned short nr_phys_segments;

#if defined(CONFIG_BLK_DEV_INTEGRITY)

unsigned short nr_integrity_segments;

#endif

unsigned short ioprio;

int ref_count;

void *special;

char *buffer;

int tag;

int errors;

unsigned char __cmd[BLK_MAX_CDB];

unsigned char *cmd;

unsigned short cmd_len;

unsigned int extra_len;

unsigned int sense_len;

unsigned int resid_len;

void *sense;

unsigned long deadline;

struct list_head timeout_list;

unsigned int timeout;

int retries;

rq_end_io_fn *end_io;

void *end_io_data;

struct request *next_rq;

};

5. request_queue 结构体

每个块设备都有一个请求队列,每个请求队列单独执行I/O 调度,请求队列是由请求结

构实例链接成的双向链表,链表以及整个队列的信息用request_queue 结构体描述,称为请

求队列对象结构或请求队列结构。request_queue 结构体声明位于/include/linux 目录下的

blkdev.h 文件中。

struct request_queue{

    /*

     * Together with queue_head for cacheline sharing

     */

    struct list_head    queue_head;

    struct request        *last_merge;

    struct elevator_queue    *elevator;

    /*

     * the queue request freelist, one for reads and one for writes

     */

    struct request_list    rq;

 

    request_fn_proc        *request_fn;

    make_request_fn        *make_request_fn;

    prep_rq_fn        *prep_rq_fn;

    unplug_fn        *unplug_fn;

    prepare_discard_fn    *prepare_discard_fn;

    merge_bvec_fn        *merge_bvec_fn;

    prepare_flush_fn    *prepare_flush_fn;

    softirq_done_fn        *softirq_done_fn;

    rq_timed_out_fn        *rq_timed_out_fn;

    dma_drain_needed_fn    *dma_drain_needed;

    lld_busy_fn        *lld_busy_fn;

 

    /*

     * Dispatch queue sorting

     */

    sector_t        end_sector;

    struct request        *boundary_rq;

 

    /*

     * Auto-unplugging state

     */

    struct timer_list    unplug_timer;

    int            unplug_thresh;    /* After this many requests */

    unsigned long        unplug_delay;    /* After this many jiffies */

    struct work_struct    unplug_work;

 

    struct backing_dev_info    backing_dev_info;

 

    /*

     * The queue owner gets to use this for whatever they like.

     * ll_rw_blk doesn't touch it.

     */

    void            *queuedata;

 

    /*

     * queue needs bounce pages for pages above this limit

     */

    gfp_t            bounce_gfp;

 

    /*

     * various queue flags, see QUEUE_* below

     */

    unsigned long        queue_flags;

 

    /*

     * protects queue structures from reentrancy. ->__queue_lock should

     * _never_ be used directly, it is queue private. always use

     * ->queue_lock.

     */

    spinlock_t        __queue_lock;

    spinlock_t        *queue_lock;

 

    /*

     * queue kobject

     */

    struct kobject kobj;

 

    /*

     * queue settings

     */

    unsigned long        nr_requests;    /* Max # of requests */

    unsigned int        nr_congestion_on;

    unsigned int        nr_congestion_off;

    unsigned int        nr_batching;

 

    void            *dma_drain_buffer;

    unsigned int        dma_drain_size;

    unsigned int        dma_pad_mask;

    unsigned int        dma_alignment;

 

    struct blk_queue_tag    *queue_tags;

    struct list_head    tag_busy_list;

 

    unsigned int        nr_sorted;

    unsigned int        in_flight[2];

[1] [2]
关键字:块设备  驱动程序  结构体 引用地址:块设备驱动程序 声明:本文内容及配图由平台用户或入驻媒体撰写。文章观点仅代表作者本人,不代表EEWorld网站立场。文章及其配图仅供工程师学习之用,如有内容侵权或违规,请联系本站处理,邮箱地址:bbs_service@eeworld.com.cn

上一篇:NandFlash驱动分析
下一篇:IMX257 输入子系统(二)之键盘模拟

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利
加好友,回复“进群” 拉你进技术交流群
加好友,回复“进群”
拉你进技术交流群
汽车开发圈
汽车开发圈
0

推荐阅读最新更新时间:2024-08-29 10:46

USB驱动程序框架搭建
1.首先我们先从理论上浅谈一下USB驱动的框架   app:     -------------------------------------------                USB设备驱动程序         // 知道数据含义 内核 --------------------------------------                USB总线驱动程序         // 1. 识别, 2. 找到匹配的设备驱动, 3. 提供USB读写函数 (它不知道数据含义) -------------------------------------------                 
基于51单片机RTL8019AS的网卡驱动程序
   SNMP网管板使用了RTL8019AS 10M ISA网卡芯片接入以太网。选它的好处是:NE2000兼容,软件移植性好;接口简单不用转换芯片如PCI-ISA桥;价格便宜2.1$/片(我的购入价为22元RMB/片);带宽充裕(针对51);较长一段时间内不会停产。8019有3种配置模式:跳线方式、即插即用P&P方式、串行Flash配置方式。为了节省成本,我去掉了9346而使用X5045作为闪盘存储MAC地址和其他可配置信息。P&P模式用在PC机中,这里用不上。只剩下跳线配置模式可用,它的电路设计参考REALTEK提供的DEMO板图纸。一天时间就可以完成,相对来说硬件设计比较简单。   与这部分硬件相对应的软件是网卡驱动。所
[单片机]
基于51单片机RTL8019AS的网卡<font color='red'>驱动程序</font>
基于MSP430F5438A的OV7670简单驱动程序
作为一个新手,因为课程设计要求,接触到了OV7670。因为课程设计要求使用MSP430F5438A驱动OV7670,而网上大多数都是使用STM32进行驱动。上网查找了很多资料,也仔细看过网上大佬发的相关寄存器的帖子,最后成功使用430单片机完成了设计。本着来源于网络,回馈于网络的原则,在此介绍一下,自己使用OV7670的一点经验。水平有限,偏颇之处,还请包涵! 首先简单的介绍一下所使用的摄像头OV7670。 OV7670是OV(OmniVision)公司生产的一颗1/6寸的CMOS VGA图像传感器。该传感器体积小、工作电压低,提供单片VGA摄像头和影像处理器的所有功能。通过SCCB 总线控制,可以输出整帧、子采样、取窗口等方
[单片机]
基于MSP430F5438A的OV7670简单<font color='red'>驱动程序</font>
部分Mac用户称系统将打印机驱动程序当成恶意软件
一些用户报告,由于 macOS 错误声称某些软件为恶意软件,他们无法再使用惠普打印机进行打印,或者无法继续通过专用应用来播放 Amazon Music。 外媒 AppleInsider 称,用户报告他们的 Mac 突然弹出通知,称其 HP 打印机包含恶意软件:“会损坏您的计算机”。另外,其他用户报告的是同一问题,但与 Amazon Music 应用有关。 在这种情况下,尝试启动应用程序或仅使用 Mac,都会弹出一个对话框。报告说有恶意软件会损坏 Mac,并建议用户将特定文件移至废纸篓。 该文件可以是 Amazon Music 应用程序,也可以是称为 HP Device Monitoring.framework 的惠普打
[手机便携]
部分Mac用户称系统将打印机<font color='red'>驱动程序</font>当成恶意软件
stm32专题十一:USART(三)初始化结构和标准库函数分析
在之前的博客中分析了stm32串口的结构,和详细的发送、接受过程。现在来分析固件库中对于USART的标准函数 typedef struct { uint32_t USART_BaudRate; // 波特率 uint16_t USART_WordLength; // 帧数据长度(8位还是9位) uint16_t USART_StopBits; // 停止位 uint16_t USART_Parity; // 校验 uint16_t USART_Mode; // 模式:单收、单发或收发 uint16_t USART_HardwareFlowCo
[单片机]
MSP430与PCF8576驱动程序(可以借鉴IIC的使用方法)
#i nclude msp430x14x.h #define uint unsigned int #define uchar unsigned char #define Num_of_Results 8 unsigned int results ; uchar PCF8576=0x70;//器件地址 //内存数据定义 uchar ByteCnt; //I2C 数据字节计数器 uchar SlvAdr; //被控器地址 uchar SubAdr; //被控器单元地址 uchar XmtDat ; //发送数据缓冲区 uchar MODE2=0xCD; uchar B
[单片机]
IMX257 LED驱动程序实现
由于昨天对IMX257的地址分配不了解,所以前面只能用s3c24xx的驱动程序来了解ioremap等对IO端口的工作原理。 但是经过昨晚对IMX257芯片的细细梳理,今天早上起来又把IMX257的芯片资料看了一遍,终于成功看懂了,下面意义给大家道来。 我们此处使用ERR_LED 也就是GPIO3_23引脚 一、IMX257 芯片资料分析 1.确定相关寄存器基址 确定IOMUX地址 GPIO3的地址 2.确定相关寄存器的偏移地址 IOMUX的相关的模式配置寄存器,配置为ALT5模式 偏移地址: 寄存器描述: 接下来就是配置GPIO的相关信息,上拉,CMOS输入输出,等信息 偏移地址: 寄存器描述:
[单片机]
IMX257 LED<font color='red'>驱动程序</font>实现
DS18B20驱动程序调试总结
DS18B20是一款精度比较好的温度传感器,最重要的是它通过一根导线,既完成通讯,又给芯片供电,在MCU引脚数量比较紧张的时候,确实是个不错的选择。这颗芯片看起来简单,但真正让它跑起来,从里面读出温度数据可没有想象的那么容易。这不,群里的Ryan Wang同学就被折磨得不行。难能可贵的是,在王同学终于搞定它之后,无私地分享出心得和代码。如果你觉得这篇文章能帮到更多的同学,就帮忙转发,或点个在看吧。 通过CUBE使能TIM2定时器,Clock Source使用internal Clock,MCU主频为32Mhz,故Prescaler=32-1=31,Counter Mode为UP,这里注意Counter Period 官方手册要
[单片机]

猜您喜欢

热门资源推荐
热门放大器推荐
更多
  •  pdf文件电工新技术实训指导 (吴启红 江健 徐坤刚 张宏)
  •  pdf文件现代测试技术与系统集成 (刘君华)
  •  pdf文件功率半导体——器件与应用 (Stefan Linder)
  •  pdf文件光电子技术基础与技能 (陈克香)
  •  模拟电子技术基础:系统方法
  •  东芝多咱服用器/多路译码器开关
  •  电工电路分析与测试
  •  AI加速器架构设计与实现
小广播
有奖学习 | Multi-Die系统的设计和验证很难吗?教你轻松“拿捏”
活动时间:即日起-10月13日
答题赢【京东卡】 | 进入电源小课堂,了解第三代半导体材料及PI 1250V高压氮化镓芯片
免费下载 | TE暖通空调 & 热泵解决方案资料包!
活动时间:即日起-9月26日
Microchip mSiC™ 产品及其在电动出行中的典型应用方案 直播报名中
即日起—09月24日 11:00
【干货分享】汽车ADAS学习资源——从基础到应用,全面了解ADAS
有奖活动 | 来 Pl BridgeSwitch™ 技术中心探秘半桥电机驱动器新技术
活动时间:即日起-9月30日
活动奖励:50元京东卡
ADI & WT ·世健 MCU 痛点问题探索季——第二站:直播 | MCU应用难题全力击破!报名开始啦~
有奖直播 | 德州仪器 C2000™ 系列培训会
直播时间:9月12日(周四)下午13:00
直播奖励:双肩包、眼部按摩仪、LED台灯、跳绳、浴巾
有奖直播报名| 艾迈斯欧司朗高效能源存储:工业级数据采集前端集成电路产品分享
9月5日(周四)上午10:00-11:30
国产FPGA安路科技研讨会-北京站 火热报名中,参会赢京东卡!
会议时间:9月12日(周四)下午13:30
会议地点:北京丽亭华苑酒店
有奖学习 | Multi-Die系统的设计和验证很难吗?教你轻松“拿捏”
活动时间:即日起-10月13日
答题赢【京东卡】 | 进入电源小课堂,了解第三代半导体材料及PI 1250V高压氮化镓芯片
免费下载 | TE暖通空调 & 热泵解决方案资料包!
活动时间:即日起-9月26日
Microchip mSiC™ 产品及其在电动出行中的典型应用方案 直播报名中
即日起—09月24日 11:00
【干货分享】汽车ADAS学习资源——从基础到应用,全面了解ADAS
有奖活动 | 来 Pl BridgeSwitch™ 技术中心探秘半桥电机驱动器新技术
活动时间:即日起-9月30日
活动奖励:50元京东卡
ADI & WT ·世健 MCU 痛点问题探索季——第二站:直播 | MCU应用难题全力击破!报名开始啦~
有奖直播 | 德州仪器 C2000™ 系列培训会
直播时间:9月12日(周四)下午13:00
直播奖励:双肩包、眼部按摩仪、LED台灯、跳绳、浴巾
有奖直播报名| 艾迈斯欧司朗高效能源存储:工业级数据采集前端集成电路产品分享
9月5日(周四)上午10:00-11:30
国产FPGA安路科技研讨会-北京站 火热报名中,参会赢京东卡!
会议时间:9月12日(周四)下午13:30
会议地点:北京丽亭华苑酒店
添点儿料...
无论热点新闻、行业分析、技术干货……
发布文章
推荐内容
热门活动
换一批
更多
下载MPS AI电源资料包,赢【Keep体脂秤、按摩眼罩、电脑支架】
有奖学习 | Multi-Die系统的设计和验证很难吗?教你轻松“拿捏”
有奖电源小课堂 | PI 1250V高压氮化镓芯片
国产FPGA安路科技研讨会-北京站 火热报名中,参会赢京东卡!
免费申请 | MPS MIE 系列隔离式稳压 DCDC 模块!
设计资源 培训 开发板 精华推荐
  • 【下载】LAT1415 如何通过STM32CubeMX添加使用DSP
  • 【下载】LAT1437 选择USBX模块生成USB CDC ACM无PD的项目
  • 【下载】LAT1420 头文件包含顺序导致Keil编译出错的问题分析
  • 【下载】LAT1447 电机测速方法以及在STM32中的实现
  • 【下载】LAT1419 从BOOT跳转到APP后运行失败的问题分析
  • 【下载】LAT1421 如何在STM32U5 TF-M工程中添加自定义服务

最新单片机文章
  • S3C6410之uboot回炉再造(4)使能MMU
    在上一篇中讲完了lowlevel_init中对相应模式的设置、在最后对MMU进行了初始化。那在这一篇就把使能MMU的过程描述了。 1、设置访问域1 aft ...
  • S3C6410之uboot回炉再造(5)设置堆栈与跳转至C入口
      直接切入主题  1、设置堆栈1 skip_hw_init:2 * Set up the stack * 3 stack_setup:4 ldr ...
  • S3C6410之uboot回炉再造(6)异常中断处理
    这篇是中断向量的存储、注释比较清晰、就不再细讲 1 * 2 ************************************************************************ ...
  • S3C6410之uboot回炉再造(7)C环境的入口
      上一部分讲到 uboot 跳转到 start_armboot 处执行(中间插了一篇 异常中断处理)。  这次主要是记录 start_armboot 的实现。 ...
  • S3C6410移植u-boot-2010.3(1)成功编译的开始
      参考连接:http: wenku baidu com view ae78a00390c69ec3d5bb75ce html?st=1  链接上已经指明了我之前一直2013 01版本uboot产生错误 ...
  • 正在删除 s3c6410裸机程序(2)
  • s3c6410裸机程序(1)
  • S3C2410——LED灯实验
  • s3c2410 MMU
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

  • 《单片机与嵌入式系统应用》历年文章目录
  • 物联网时代的嵌入式系统机遇
  • 从嵌入式系统视角看物联网
更多开源项目推荐
  • 使用 ON Semiconductor 的 STK404-130S 的参考设计
  • [已验证]键线分离TYPE-C USB HUB 一拖四
  • LTM4601/LTM4601-1 的典型应用 - 具有 PLL、输出跟踪和裕度的 12A 模块稳压器
  • 使用 IXYS 的 eZ80F91 的参考设计
  • Recoil 电机控制器 G431 DRV8350RS
  • #第七届立创电赛#NSLink
  • CN0283
  • 使用 ON Semiconductor 的 RC4190 的参考设计
  • FEBFSL126MR-H432V1-GEVB:5V、12V 绿色模式电源开关
  • Kazzo烧录器
更多精选电路图
  • MMA1220D与微控制器的接口电路
  • 串联晶体管稳压器电路
  • 基于TDA7240的20W音频放大器电路
  • 采用SAP15组成的50W功放电路
  • 用CW34603组成改变输出电源极性的电路
  • 详解PTC热敏电阻过流保护中的应用原理
换一换 更多 相关热搜器件
  •  AS5115-SS_EK_DB
  •  NJM12903RB1-TE1
  •  CD123D-B120R
  •  1255S28VT00
  •  MBR158
  •  EB52F4D50CN-12800M
  •  COP8SGB9VEJ8
  •  DPF10-250FI-L
  •  C0805X393F3JAC7210
  •  240-0325-37PPB6J5-18M
更多热门文章
  • 优派4K电竞显示器XG320U 惊艳来袭,带你披荆斩棘!
  • 朗盛开发汽车雷达传感器新概念 具有集成热管理功能
  • Certara 完成对Pinnacle 21 的收购助力加速药品开发
  • 日本电产的电动车驱动用轮毂马达被雅迪“换电兽01”采用
  • 预告海报显示:iQOO 9系列将在1月5日发布
  • 闻泰科技:安世开发了100v以上MOSFET新产品
  • 土壤肥料养分测试仪的操作方法
  • 单相电机倒顺开关接线方法
  • 英飞凌和供应商签长约,扩大这类半导体材料的采购
更多每日新闻
  • 中国汽车芯片到底差在哪里?
  • 智能汽车如何进行数据闭环?
  • 线控制动系统丨格陆博科技确认申报2024金辑奖
  • 后轮转向丨蜂巢转向确认申报2024金辑奖
  • 福特汽车申请带安全气囊的头枕专利
  • 15年动力电池成本下降90%,3年后电车生产成本有望低于燃油车
  • 采埃孚全球技术日,发布了哪些新成果?
  • NXP、ST、英飞凌,开始跑不动了
  • 贸泽、Analog Devices和Samtec推出全新电子书
  • 尼得科精密检测科技将参展SEMICON TAIWAN 2024
更多往期活动
  • 下载有礼!是德科技5G精选解决方案,帮您勘破 5G 迷宫!
  • 学AM335X课程,赢超值BB-Black团购资格,更有DIY大奖赛预热中!
  • 国产FPGA有奖直播:安路全新FPSoC产品SF1系列(FPGA+MCU),Demo板介绍和案例解析
  • 轻盈点击间,掌阅无尽风采!东芝PCIM在线展会和你不见不散!
  • 了解keysight汽车电子解决方案,答题赢好礼
  • EEWorld有奖主题征文来了~现金奖励等你来拿!
  • 分享赢开发板:告诉小伙伴,2018年ST全国巡回研讨会开始啦
  • 抢楼有礼:看直播,深入了解ST最新 MEMS气压计原理、操作、防水结构设计
  • 免费申请TI 样片, 新春好礼相赠!
09月03日历史上的今天
  • 防爆电机振动的原因_防爆电机振动时的解决方法
  • 如何选择防爆电机_防爆电机选型注意事项
  • 联大友尚集团推出基于Actions与Vesper的骨传导蓝牙耳机方案
  • “线面结合 全精度覆盖” LINX-3D视觉相机赋能产业升级
  • 意法半导体200W数字电源解决方案满足严格的生态设计标准
  • 重庆:将更多的智能元素融入到发展中去
  • 两大重磅武器—麒麟985、990或将同时发布
  • 5、STM32Cube的串口配置与使用
  • 拥抱5G前,先解决4G的麻烦解决掉
  • 移动芯片巨头—高通帝国的崛起(二)
厂商技术中心

最能打国产芯

TI 培训

Qorvo 电源技术站

Vicor技术站

随便看看
  • 学习高速电路设计,这几件事不可不知!
  • 新手关于sd卡的一个问题,
  • 【低功耗】xilinx培训资料2010之Powering
  • 哪位大神告诉一下 这个是什么板子
  • 想要延长单片机串口通信的距离,有什么芯片推荐下
  • “3D打印”的汽车
  • 请教一下兼容的问题!!!!!!!!!!!
  • 朋友过生日,大家帮参谋一下,挑个礼物
  • 欢迎加入ARMQQ交流群36243065
  • 紧急求助:如何提高wince下usb设备bulk传输的速度?

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 综合资讯 51单片机 PIC单片机 AVR单片机 ARM单片机 嵌入式系统 汽车电子 消费电子 数据处理 视频教程 电子百科 其他技术 ST

文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    能源汽车的渗透率增长更快。 纯电动汽车将给传统汽车行业带来革命性的变化,现有的汽车技术,发动机,变速箱,悬挂系统,四驱机构,乃至电控系统都将随之发生翻天覆地的变化。我国......
    责驱动,P4在后桥继续负责驱动和能量回收,从而实现了双电机四驱,成本相比传统的“P1+P3”双电机前驱机构成本基本没有太多上涨,与第一代DHT混动的成本非常接近。 同时,因为P2和P4都具......
    板、驱动机构和固定座联接固定一体。功能是为试件提供一端是固定点,另一端产生正反扭矩作用;驱动机构:驱动机构是由电机、减速机和装有滑槽的摆块组成,功能是提供正反扭矩。 (2)试验方法:先将......
    控股集团有限公司“一种及其控制方法”专利于近日公布。本文引用地址: 摘要显示,一种及其控制方法,包括设置于车体内部的外壳,所述外壳包括一密闭的空腔,所述空腔内设有热量回收机构和发电机构,所述热量回收机构和发电机构......
    科技进步,经国务院批准,继续对内资研发机构和外资研发中心采购国产设备全额退还增值税。 截图自财政部网站 公告提到,适用采购国产设备全额退还增值税政策的内资研发机构和外资研发中心包括:科技......
    许CPU和内核逻辑在电压级别1和级别2下以高于正常模式的频率工作,F7可以通过这种模式达到最高216MHz的工作频率。 在停止模式下,调压器也有正常模式和欠驱动模式。 正常模式在正常泄漏模式下保留1.2V域......
    到下游系统。   节流装置:调速阀的节流装置可以通过改变介质通过的截面积来控制介质的流量,从而实现调速的目的。常见的节流装置有小孔、窄缝、锥形体等。   操作机构:调速阀的操作机构一般包括手动操作机构和自动操作机构......
    驱动式没有摇臂,凸轮轴直接由挺柱推动气门。 二、配气机构的部件组成 气门式配气机构由气门组和气门传动组(气门驱动机构和凸轮轴传动机构......
    的液压或者空气制动系统在加人了大量的电子控制系统如ABS、TCS、ESP等后,结构和管路布置越发复杂,液压(空气)回路泄露的隐患也加大,同时装配和维修的难度也随之提高。因此结构相对简单、功能......
    三星计划在印度各地研发中心招数千名工程师; 据业内消息,计划为其在印度各地的研发 (R&D) 机构招聘数千名工程师,包括班加罗尔三星研发机构、诺伊达三星研发机构、德里三星研发机构和......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>