返回顶部
首页 > 资讯 > 操作系统 >linux中platform是什么
  • 153
分享到

linux中platform是什么

2023-07-02 16:07:33 153人浏览 安东尼
摘要

这篇文章主要讲解了“linux中platfORM是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux中platform是什么”吧!在linux中,platform是一个虚拟总线,与

这篇文章主要讲解了“linux中platfORM是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux中platform是什么”吧!

在linux中,platform是一个虚拟总线,与真实的“spi/sdio/usb/pcie”等总线对应;platform能够把硬件和软件分离出来,platform所描述的资源有一个共同点是在CPU的总线上直接取址,平台设备会分到一个名称以及一系列诸如地址和中断请求号之类的资源。

教程操作环境:linux7.3系统、Dell G3电脑。

linux中platform是什么意思

platform为虚拟总线,与真实的spi/sdio/usb/pcie等总线对应

逻辑总线的的一个重要功能是发现设备并且找到合适的驱动以操作这个设备。

platform总线是一种虚拟的逻辑总线,满足逻辑互联功能。为了统一管理设备,platform可以把物理上不存在总线的一类设备,用平台总线统一把它们管理起来。

常见的总线如USB,SPI,UART,PCI,I2S等总线,是在物理上实实在在存在的总线。Linux系统为这类总线设计了一种统一管理它们的方法,即bus。同时也为在物理上没有总线的设备也统一设计了platform总线,所以Linux内核设计者就设计了platform总线,也就是说,plarform 总线就是为了SoC内部设备在物理上没有总线的设备设计的,它统一归属bus总线一类。

这样做的好处是,设备(device)端代码的编写者只关心具体的硬件部分,设备共性的部分(稳定不变的部分)被内核设计者完成了,这样降低了驱动编写的难度。

通过platform总线,可以将设备属性(也叫数据)和驱动分离,这样可以使用相同的驱动支持同一功能核心硬件的不同设备。这样避免了一个设备就需要一个驱动的现象,降低了重复性劳动。

扩展知识

platform平台总线相关定义

platform平台总线相关的对象定义在文件 drivers/base/platform.c中。这个文件中实现了平台总线对象和对象操作方法方面的内容。

两个重要的数据结构

platform_driver

这是内嵌一个device_driver 的结构体对象,其中定义了操作对象的方法。

platform_device

它是一个内嵌了device结构体对象,其中定义了设备描述资源的属性。

具体对象定义如下:

platform_driver 对象定义

struct platform_driver {int (*probe)(struct platform_device *);     //探测函数,安装设备,初始化设备,并且判断是否能成功(初始化成功,通讯成功等等)int (*remove)(struct platform_device *);    //从内核中删除这个设备void (*shutdown)(struct platform_device *); // 关闭设备int (*suspend)(struct platform_device *, pm_message_t state);  //挂起int (*resume)(struct platform_device *);    //唤醒struct device_driver driver;          //驱动的通用属性const struct platform_device_id *id_table; //设备ID表};

platform_device对象对定义:

struct platform_device {const char* name;      //平台总线中设备的名字,在平台总线下有多个设备,每个设备都有自己的名称intid;              //设备的排序struct devicedev;     //所有设备通用的属性u32num_resources;    //设备资源,如IO等一些外设等的个数struct resource* resource; //设备资源的首地址,和上面的个数num_resources一起构成一个数组来表示这个资源const struct platform_device_id*id_entry;  //设备ID表,表示同一种类型的几个设备的ID号,数组表示。struct pdev_archdataarchdata; //用户自定义数据,扩展数据};

注册平台总线驱动的函数:

int platform_driver_reGISter(struct platform_driver *drv)

注册平台总线设备的函数:

int platform_device_register(struct platform_device *pdev)

感谢各位的阅读,以上就是“linux中platform是什么”的内容了,经过本文的学习后,相信大家对linux中platform是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: linux中platform是什么

本文链接: https://lsjlt.com/news/343024.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • linux中platform是什么
    这篇文章主要讲解了“linux中platform是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux中platform是什么”吧!在linux中,platform是一个虚拟总线,与...
    99+
    2023-07-02
  • Linux中platform的作用是什么
    在Linux中,platform(平台)指的是操作系统的硬件和软件组合。它决定了应用程序在特定硬件和操作系统环境下的运行方式。Pla...
    99+
    2023-09-13
    Linux platform
  • android中platform tools的优缺点是什么
    Android中的Platform Tools是一个包含了一系列用于开发和调试Android设备的工具集合,包括ADB(Androi...
    99+
    2024-04-02
  • SAP Cloud Platform和S/4HANA的互联是什么
    本篇文章给大家分享的是有关SAP Cloud Platform和S/4HANA的互联是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。通过两个系统互相连接互相信任的配置,使得...
    99+
    2023-06-03
  • 如何解析Linux驱动中的platform总线
    如何解析Linux驱动中的platform总线,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、platform 总线简介1.1、Linux 驱动的分离和分层思...
    99+
    2023-06-22
  • SAP Hybris platform和Netweaver的缓存设计机制是什么
    SAP Hybris platform和Netweaver的缓存设计机制是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Hybris Cache(1)Hybris缓存是...
    99+
    2023-06-04
  • linux中bash是什么
    这篇文章将为大家详细讲解有关linux中bash是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。只要能够操作应用程序的接口都能称为shell。狭义的shell指的是命令行方面的软件,包括bash。广义...
    99+
    2023-06-13
  • linux中tty是什么
    这篇文章主要介绍“linux中tty是什么”,在日常操作中,相信很多人在linux中tty是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux中tty是什么”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-22
  • linux中DAISY是什么
    这篇文章将为大家详细讲解有关linux中DAISY是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。DAISY 是什么DAISY 是数字化无障碍信息系统Digital Accessible Inform...
    99+
    2023-06-16
  • linux中Joomla!是什么
    这篇文章将为大家详细讲解有关linux中Joomla!是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Joomla!是一套在国外相当知名的内容管理系统(Content Management Syste...
    99+
    2023-06-17
  • Linux中Cgroup是什么
    这篇文章给大家分享的是有关Linux中Cgroup是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Linux系统中经常有个需求就是希望能限制某个或者某些进程的分配资源。也就是能完成一组容器的概念,在这个容器中...
    99+
    2023-06-27
  • Linux中GRUB是什么
    这篇文章将为大家详细讲解有关Linux中GRUB是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。GRUB(Grand Unified Bootloader)是GNU项目提供的引导加载程序。引导程序非常...
    99+
    2023-06-27
  • linux中tmp是什么
    本篇内容主要讲解“linux中tmp是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux中tmp是什么”吧!在linux中,tmp是临时文件;tmp是temporary的缩写,tmp目...
    99+
    2023-07-02
  • linux中yum是什么
    这篇文章主要介绍“linux中yum是什么”,在日常操作中,相信很多人在linux中yum是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux中yum是什么”的疑惑...
    99+
    2023-02-13
    linux yum
  • Linux的Platform总线结构体怎么使用
    本篇内容主要讲解“Linux的Platform总线结构体怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux的Platform总线结构体怎么使用”吧!一、概念嵌入式系统中有很多的物理...
    99+
    2023-06-15
  • linux中shell script是什么
    这篇文章主要为大家展示了“linux中shell script是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux中shell script是什么”这篇文章吧。其实,shell scr...
    99+
    2023-06-13
  • Linux中的&是什么
    本篇内容主要讲解“Linux中的&是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux中的&是什么”吧!实际上,命令的用法并不难,例如  mkdir、touc...
    99+
    2023-06-16
  • linux中eDEX-UI是什么
    这篇文章主要介绍了linux中eDEX-UI是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。eDEX-UI: 一个很酷的终端仿真器eDEX-UI 是一款开源的跨...
    99+
    2023-06-15
  • Linux中的semaphore是什么
    这篇文章给大家分享的是有关Linux中的semaphore是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Semaphore 通常我们叫它信号量, 可以用来控制同时访问特定资源的线程数量,通过协调各个线程,以...
    99+
    2023-06-28
  • linux中的rpm是什么
    本篇内容介绍了“linux中的rpm是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在linux中,rpm全称“Red Hat Pack...
    99+
    2023-06-25
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作