Table des matières
Que signifie plate-forme sous Linux

Que signifie plate-forme sous Linux ?

Jul 08, 2022 pm 05:00 PM
linux

Sous Linux, la plateforme est un bus virtuel, qui correspond à des bus réels tels que « spi/sdio/usb/pcie » ; la plateforme peut séparer le matériel et le logiciel. Les ressources décrites par plateforme ont un point commun : elles sont dans le CPU En accédant directement à l'adresse sur le bus, le périphérique de la plate-forme se verra attribuer un nom et une série de ressources telles que des adresses et des numéros de demande d'interruption.

Que signifie plate-forme sous Linux ?

L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.

Que signifie plate-forme sous Linux

La plate-forme est un bus virtuel, qui correspond aux vrais spi/sdio/usb/pcie et autres bus

Une fonction importante du bus logique est de découvrir l'appareil et de trouver le bus approprié conducteur pour faire fonctionner l'équipement.

Le bus plateforme est un bus logique virtuel qui répond à la fonction d'interconnexion logique. Afin de gérer uniformément les appareils, la plateforme peut utiliser le bus de plateforme pour gérer uniformément un type d'appareil qui ne dispose pas physiquement de bus.

Les bus courants tels que USB, SPI, UART, PCI, I2S et autres bus sont des bus physiquement réels. Le système Linux a conçu une méthode de gestion unifiée de tels bus, à savoir le bus. Dans le même temps, le bus de plate-forme est également conçu pour les périphériques qui ne disposent pas physiquement de bus. Par conséquent, les concepteurs du noyau Linux ont conçu le bus de plate-forme. En d'autres termes, le bus de plate-forme est conçu pour les périphériques du SoC qui n'en ont pas. un bus physique. Ils appartiennent tous à la catégorie des bus.

L'avantage de ceci est que l'auteur du code du périphérique (périphérique) ne se soucie que des parties matérielles spécifiques, et les parties communes du périphérique (les parties stables) sont complétées par le concepteur du noyau, ce qui réduit la difficulté du pilote en écrivant.

Grâce au bus de plate-forme, les attributs des appareils (également appelés données) et les pilotes peuvent être séparés, de sorte que le même pilote puisse être utilisé pour prendre en charge différents appareils avec le même matériel de base fonctionnel. Cela évite le phénomène selon lequel un périphérique nécessite un seul pilote et réduit le travail répétitif.

Connaissances étendues

Définitions liées au bus de plate-forme

Les objets liés au bus de plate-forme sont définis dans le fichier drivers/base/platform.c. Ce fichier implémente l'objet de bus de plate-forme et les méthodes d'opération d'objet.

Deux structures de données importantes

1. platform_driver

Il s'agit d'un objet de structure intégré avec un device_driver, qui définit la méthode de fonctionnement de l'objet.

2. platform_device

Il s'agit d'un objet de structure de périphérique intégré, qui définit les attributs de la ressource de description de périphérique.

La définition de l'objet spécifique est la suivante :

1. Définition de l'objet 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表
};
Copier après la connexion

Définition de la paire d'objets 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; /* arch specific additions *///用户自定义数据,扩展数据
};
Copier après la connexion

Fonction pour enregistrer le pilote de bus de plate-forme :

int platform_driver_register(struct platform_driver *drv)
Copier après la connexion

Fonction pour enregistrer le périphérique de bus de plate-forme :

int platform_device_register(struct platform_device *pdev)
Copier après la connexion

Apprentissage recommandé : Tutoriel vidéo Linux

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quatre façons d'implémenter le multithreading dans le langage C Quatre façons d'implémenter le multithreading dans le langage C Apr 03, 2025 pm 03:00 PM

Le multithreading dans la langue peut considérablement améliorer l'efficacité du programme. Il existe quatre façons principales d'implémenter le multithreading dans le langage C: créer des processus indépendants: créer plusieurs processus en cours d'exécution indépendante, chaque processus a son propre espace mémoire. Pseudo-Multithreading: Créez plusieurs flux d'exécution dans un processus qui partagent le même espace mémoire et exécutent alternativement. Bibliothèque multi-thread: Utilisez des bibliothèques multi-threades telles que PTHEADS pour créer et gérer des threads, en fournissant des fonctions de fonctionnement de thread riches. Coroutine: une implémentation multi-thread légère qui divise les tâches en petites sous-tâches et les exécute tour à tour.

Comment ouvrir web.xml Comment ouvrir web.xml Apr 03, 2025 am 06:51 AM

Pour ouvrir un fichier web.xml, vous pouvez utiliser les méthodes suivantes: Utilisez un éditeur de texte (tel que le bloc-notes ou TextEdit) pour modifier les commandes à l'aide d'un environnement de développement intégré (tel qu'Eclipse ou NetBeans) (Windows: Notepad web.xml; Mac / Linux: Open -A TextEdit web.xml)

L'interprète Python peut-il être supprimé dans le système Linux? L'interprète Python peut-il être supprimé dans le système Linux? Apr 02, 2025 am 07:00 AM

En ce qui concerne le problème de la suppression de l'interpréteur Python qui est livré avec des systèmes Linux, de nombreuses distributions Linux préinstalleront l'interpréteur Python lors de l'installation, et il n'utilise pas le gestionnaire de packages ...

À quoi sert le mieux le Linux? À quoi sert le mieux le Linux? Apr 03, 2025 am 12:11 AM

Linux est mieux utilisé comme gestion de serveurs, systèmes intégrés et environnements de bureau. 1) Dans la gestion des serveurs, Linux est utilisé pour héberger des sites Web, des bases de données et des applications, assurant la stabilité et la fiabilité. 2) Dans les systèmes intégrés, Linux est largement utilisé dans les systèmes électroniques intelligents et automobiles en raison de sa flexibilité et de sa stabilité. 3) Dans l'environnement de bureau, Linux fournit des applications riches et des performances efficaces.

Comment est la compatibilité Debian Hadoop Comment est la compatibilité Debian Hadoop Apr 02, 2025 am 08:42 AM

Debianlinux est connu pour sa stabilité et sa sécurité et est largement utilisé dans les environnements de serveur, de développement et de bureau. Bien qu'il y ait actuellement un manque d'instructions officielles sur la compatibilité directe avec Debian et Hadoop, cet article vous guidera sur la façon de déployer Hadoop sur votre système Debian. Exigences du système Debian: Avant de commencer la configuration de Hadoop, assurez-vous que votre système Debian répond aux exigences de fonctionnement minimales de Hadoop, qui comprend l'installation de l'environnement d'exécution Java (JRE) nécessaire et des packages Hadoop. Étapes de déploiement de Hadoop: Télécharger et unzip Hadoop: Téléchargez la version Hadoop dont vous avez besoin sur le site officiel d'Apachehadoop et résolvez-le

Dois-je installer un client Oracle lors de la connexion à une base de données Oracle à l'aide de Go? Dois-je installer un client Oracle lors de la connexion à une base de données Oracle à l'aide de Go? Apr 02, 2025 pm 03:48 PM

Dois-je installer un client Oracle lors de la connexion à une base de données Oracle à l'aide de Go? Lorsque vous développez GO, la connexion aux bases de données Oracle est une exigence commune ...

Debian Strings est-il compatible avec plusieurs navigateurs Debian Strings est-il compatible avec plusieurs navigateurs Apr 02, 2025 am 08:30 AM

"Debianstrings" n'est pas un terme standard, et sa signification spécifique n'est pas encore claire. Cet article ne peut pas commenter directement la compatibilité de son navigateur. Cependant, si "DebianStrings" fait référence à une application Web exécutée sur un système Debian, sa compatibilité du navigateur dépend de l'architecture technique de l'application elle-même. La plupart des applications Web modernes se sont engagées à compatibilité entre les navigateurs. Cela repose sur les normes Web suivantes et l'utilisation de technologies frontales bien compatibles (telles que HTML, CSS, JavaScript) et les technologies back-end (telles que PHP, Python, Node.js, etc.). Pour s'assurer que l'application est compatible avec plusieurs navigateurs, les développeurs doivent souvent effectuer des tests croisés et utiliser la réactivité

See all articles